RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1595075
Accepted
Никита Трохимчук
Никита Трохимчук
Asked:2024-09-28 03:08:35 +0000 UTC2024-09-28 03:08:35 +0000 UTC 2024-09-28 03:08:35 +0000 UTC

如何制作方形模拟时钟的指针?

  • 772

我正在尝试制作一个模拟时钟,但是是方形的。问题是创建箭头。我根本无法创建箭头。

#card7 {
  width: 500px;
  height: 500px;
  background-color: #C4C4C4;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
}

.line {
  width: 100%;
  height: 35px;
  background-color: #0000AA;
  font-size: 20px;
  display: flex;
}

.turn {
  width: 40px;
  height: 35px;
  background-color: #C4C4C4;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  border: 2px solid Black;
  display: flex;
}

.title {
  flex-direction: column;
  justify-content: center;
  width: 100%;
  text-align: center;
  color: #fff;
  display: flex;
}

.close {
  width: 40px;
  height: 35px;
  background-color: #C4C4C4;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  border: 2px solid Black;
  display: flex;
  box-shadow: inset 2px 2px 0px 0px #FFFFFF, inset -3px -3px 0px 0px #939393;
}

#clockFace {
  width: 490px;
  height: 460px;
  margin: 7px 5px;
  background-color: #C4C4C4;
  box-shadow: inset 0px 0px 0px 8px rgba(255, 0, 0, 1), 0px 0px 0px 5px rgba(149, 1, 1, 1), inset 0px 0px 0px 15px rgba(149, 1, 1, 1);
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

#clockFace::before {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  text-align: center;
  background: #000;
}

#clockFace div {
  position: absolute;
  inset: 20px;
  text-align: center;
  display: inline-block;
  transform: rotate(calc(30deg * var(--i)));
}

#clockFace div p {
  display: inline-block;
  transform: rotate(calc(-30deg * var(--i)));
}

.hour-hand {
  width: 8px;
  height: 20px;
  background: seagreen;
}

.minute-hand {
  width: 8px;
  height: 140px;
  background: seagreen;
}

.second-hand {
  width: 8px;
  height: 160px;
  background: seagreen;
}

.hour-hand,
.minute-hand,
.second-hand {
  position: absolute;
  bottom: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
<div id="card7">
  <div class="line">
    <div class="turn">➖</div>
    <p class="title">Часы</p>
    <div class="close">▲</div>
  </div>
  <!--Часы-->
  <div id="clockFace">
    <div style="--i:1;">
      <p>1</p>
    </div>
    <div style="--i:2;">
      <p>2</p>
    </div>
    <div style="--i:3;">
      <p>3</p>
    </div>
    <div style="--i:4;">
      <p>4</p>
    </div>
    <div style="--i:5;">
      <p>5</p>
    </div>
    <div style="--i:6;">
      <p>6</p>
    </div>
    <div style="--i:7;">
      <p>7</p>
    </div>
    <div style="--i:8;">
      <p>8</p>
    </div>
    <div style="--i:9;">
      <p>9</p>
    </div>
    <div style="--i:10;">
      <p>10</p>
    </div>
    <div style="--i:11;">
      <p>11</p>
    </div>
    <div style="--i:12;">
      <p>12</p>
    </div>
    <div class="hour-hand"></div>
    <div class="minute-hand"></div>
    <div class="second-hand"></div>
  </div>
</div>

到目前为止,这是结果:

在此输入图像描述

javascript
  • 1 1 个回答
  • 24 Views

1 个回答

  • Voted
  1. Best Answer
    Grundy
    2024-09-28T03:33:09Z2024-09-28T03:33:09Z

    选择器#clockFace div会覆盖箭头类的特殊性,因此它们的设置将被忽略。

    作为解决方案,您可以

    • 或增加箭头的类特异性,
    • 或更改小时标记的选择器
    • 从公共容器中删除箭头

    例如:让我们为负责存储小时标记的div添加一个类,选择器将#clockFace div变成常规类选择器,并且不会影响箭头元素。

    此外,箭头本身的位置并不完全正确。由于缩进是从下方考虑的,因此无需在变换中将它们抬高。

    #card7 {
      width: 500px;
      height: 500px;
      background-color: #C4C4C4;
      position: absolute;
      left: 0;
      top: 0;
      display: block;
    }
    
    .line {
      width: 100%;
      height: 35px;
      background-color: #0000AA;
      font-size: 20px;
      display: flex;
    }
    
    .turn {
      width: 40px;
      height: 35px;
      background-color: #C4C4C4;
      text-align: center;
      flex-direction: column;
      justify-content: center;
      border: 2px solid Black;
      display: flex;
    }
    
    .title {
      flex-direction: column;
      justify-content: center;
      width: 100%;
      text-align: center;
      color: #fff;
      display: flex;
    }
    
    .close {
      width: 40px;
      height: 35px;
      background-color: #C4C4C4;
      text-align: center;
      flex-direction: column;
      justify-content: center;
      border: 2px solid Black;
      display: flex;
      box-shadow: inset 2px 2px 0px 0px #FFFFFF, inset -3px -3px 0px 0px #939393;
    }
    
    #clockFace {
      width: 490px;
      height: 460px;
      margin: 7px 5px;
      background-color: #C4C4C4;
      box-shadow: inset 0px 0px 0px 8px rgba(255, 0, 0, 1), 0px 0px 0px 5px rgba(149, 1, 1, 1), inset 0px 0px 0px 15px rgba(149, 1, 1, 1);
      border-radius: 5px;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
    }
    
    #clockFace::before {
      content: '';
      position: absolute;
      width: 8px;
      height: 8px;
      text-align: center;
      background: #000;
    }
    
    .label {
      position: absolute;
      inset: 20px;
      text-align: center;
      display: inline-block;
      transform: rotate(calc(30deg * var(--i)));
    }
    
    .label p {
      display: inline-block;
      transform: rotate(calc(-30deg * var(--i)));
    }
    
    .hour-hand {
      width: 8px;
      height: 20px;
      background: seagreen;
    }
    
    .minute-hand {
      width: 8px;
      height: 140px;
      background: seagreen;
    }
    
    .second-hand {
      width: 8px;
      height: 160px;
      background: seagreen;
    }
    
    .hour-hand,
    .minute-hand,
    .second-hand {
      position: absolute;
      bottom: 50%;
      left: 50%;
      transform: translate(-50%, 0%);
    }
    <div id="card7">
      <div class="line">
        <div class="turn">➖</div>
        <p class="title">Часы</p>
        <div class="close">▲</div>
      </div>
      <!--Часы-->
      <div id="clockFace">
        <div class="label" style="--i:1;">
          <p>1</p>
        </div>
        <div class="label" style="--i:2;">
          <p>2</p>
        </div>
        <div class="label" style="--i:3;">
          <p>3</p>
        </div>
        <div class="label" style="--i:4;">
          <p>4</p>
        </div>
        <div class="label" style="--i:5;">
          <p>5</p>
        </div>
        <div class="label" style="--i:6;">
          <p>6</p>
        </div>
        <div class="label" style="--i:7;">
          <p>7</p>
        </div>
        <div class="label" style="--i:8;">
          <p>8</p>
        </div>
        <div class="label" style="--i:9;">
          <p>9</p>
        </div>
        <div class="label" style="--i:10;">
          <p>10</p>
        </div>
        <div class="label" style="--i:11;">
          <p>11</p>
        </div>
        <div class="label" style="--i:12;">
          <p>12</p>
        </div>
        <div class="hour-hand"></div>
        <div class="minute-hand"></div>
        <div class="second-hand"></div>
      </div>
    </div>

    • 0

相关问题

  • 第二个 Instagram 按钮的 CSS 属性

  • 由于模糊,内容不可见

  • 弹出队列。消息显示不正确

  • 是否可以在 for 循环中插入提示?

  • 如何将 JSON 请求中的信息输出到数据表 Vuetify vue.js?

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5