html - 定位 HTML 元素,使最大的祖先表现出 block 元素风格

标签 html css css-position absolute

在我的 HTML5/javascript 应用程序中,我在多层 Canvas 上绘制了一个模拟时钟(多层的原因是由于 javascript 渲染动画而进行了优化)。在时钟下方,我想用数字显示时间。这是想要实现的目标:

enter image description here

这是我的收获

enter image description here

这是它的标记:

<div id="container">
    <div id="analog">
        <canvas id="canvBackground"></canvas>
        <canvas id="canvDigitsHours"></canvas>
        <canvas id="canvDigitsMinutes"></canvas>
        <canvas id="canvHandsMinutes"></canvas>
        <canvas id="canvHandsHours"></canvas>
    </div>
    <div id="digital">
        16:30
    </div>
</div>



#container {
}
#analog {
    position: relative;
    display: block;
}
#analog > canvas {
    position: absolute;
}
#digital {
    display: block;
}

如何创建我的父元素,<div id="analog"> , 当它有位置为绝对的 child 时表现出 block 元素风格?

编辑 1:尝试@CBroe 的提议(如果我没有误解你的话?)。使用 padding -top: 250px; #analog一个#digital向下移动 250 像素: enter image description here

最佳答案

您只需为两个子元素指定相对 位置即可使其正确显示。

希望这对您有所帮助!

#container {
  margin: 40px;
}

#canvCenterExample {
  background: red;
  width: 5px;
  height: 5px;
  border-radius: 100px;
  left: 100px;
  height: 100px;
}

#canvBackground {
  width: 200px;
  height: 200px;
  border-radius: 100px;
  background: #BFB4FD;
}

#analog {
  position: relative;
  display: block;
  width: 200px;
  height: 200px;
}

#analog>canvas {
  position: absolute;
}

#digital {
  position: relative;
  display: block;
  width: 200px;
  text-align: center;
  padding-top: 20px;
}
<div id="container">
  <div id="analog">
    <canvas id="canvBackground"></canvas>
    <canvas id="canvCenterExample"></canvas>
  </div>
  <div id="digital">16:30</div>
</div>

关于html - 定位 HTML 元素,使最大的祖先表现出 block 元素风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46748320/

相关文章:

html - 如何让 <li> 元素从左到右而不是从上到下流动?

html - 两个利润率相互影响为什么?

c# - 在等待 MVC View 显示时显示等待图像

css - 更改屏幕大小时基于图像的链接会重叠(即使调整浏览器窗口的大小)

html - 计算伪元素作为元素宽度的一部分

javascript - ionic 3 : playing an Icecast/Shoutcast audio stream

javascript - css/javascript 固定正方形与其他元素在访问 x/y 与 z-index

css - 防止 Chrome 浏览器将位置属性转换为插图

css - 当内部 div 位置改变时调整容器 div 的大小

jquery - 如何从文本超链接中删除下划线?