html - 如何将 3 个元素定位到圆的 3 个部分

标签 html css

我试过这个:https://jsbin.com/qidesiqada/edit?html,output

也贴在这里:

   <html>

  <head>
<style>
p.two {
    float: right;
    color: white;
    font-family: Century Gothic, sans-serif;
    font-size:20px;
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
}
p.one {
    float: left;
    font-family: Century Gothic, sans-serif;
    color: white;
    font-size:27px;
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
}
p.three {
    text-align: center;
    margin-top: 12px;
    font-family: Century Gothic, sans-serif;
    color: white;
    font-size:20px;
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
}

#container {
width:45px;
}
  p { margin: 0; }

</style>

    </head>
  <body>
    <div id="container">
<p class="one">1</p><p class="two">20</p><br>
      <p class="three">3</p></div>
</body>
</html>

然而,当 1 个元素比另一个大时,它会将其他元素推开。请注意大 1 如何将小 3 稍微向右推。这是我要避免的

无论字体大小或其他元素大小如何,我都希望每个元素都完全位于同一位置。所以看起来 position-absolute 会这样做,对吧?但是不,当我在那个底部元素上使用绝对位置时,它不会在 div 中居中。当我使用 transform: translate(-50%, -50%); 这样的技巧时它将它移动到屏幕的一半,就好像它忽略了它存在于容器 div 内部的事实。

有什么帮助吗?谢谢!

enter image description here

这是数字应该适合的地方。您会注意到即使在这里它们也略有偏差,但您可以了解总体思路。背面的“饼图”不是预期效果的一部分。我只是想表明每个数字都应该位于其中一个象限中。

最佳答案

你的问题中有一些事情正在发生,所以我会回答我认为对你最有帮助的问题(也不完全确定你在做什么)。

#3 以 body 而不是 div 为中心的原因是因为绝对位置是相对于它在具有绝对或相对定位的树中找到的第一个 dom 的。由于父 dom 元素具有默认的 static 定位,因此它相对于主体定位。

CSS-

#container { position: relative; }

jsbin-

https://jsbin.com/hamepicage/1/edit?html,output

编辑:

更接近您想要实现的目标。在所有元素上使用绝对位置,这样它们的边界框就不会发生冲突。代替 float: left; 使用:

left: 0;

代替 float: right; 使用:

right: 0;

对于居中,如果知道宽度,则可以计算中心。

calc(50% - 12px);

或者将其设为 width: 100%; 并居中对齐文本。

text-align: center;
width: 100%;

此外,不要忘记为您的容器 div 设置高度。

https://jsbin.com/tovopiseqe/1/edit?html,output

enter image description here

关于html - 如何将 3 个元素定位到圆的 3 个部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34685597/

相关文章:

javascript - 如何限制将可拖动元素拖放到预定义的 div 元素中?

javascript - 使用 id 'user' +i 的复选框切换 id 'checkbox' +i 的属性

android - 在 fontfamily 回退调用中加载所有字体系列

javascript - 向下滚动一点后如何粘贴 div

jquery - 像 Flusta.com 一样用 Jquery 创建滑动动画

javascript - 将所有出现的自定义标签替换为其中的 URL [JS]

html - UL LI 悬停跨度信息框不工作

javascript - Jupyter Notebook 不包括 THREE.js

css - 布局根据小部件中的帖子数量而变化

IE9 上的 CSS : divs inside td elements in a table will display vertically