css - 为什么 CSS Left 75% 和 Right 25% 的工作方式不同?

标签 css css-position absolute

我有以下 CSS

.bloodparam > .highvalue { bottom: 12px; right: 25%; }

.bloodparam > .highvalue { bottom: 12px; left: 75%; }

理想情况下,无论我使用哪个元素,元素的位置都必须相同,但我看到的位置不同。任何想法为什么?

请看这个 fiddle http://jsfiddle.net/956y5/1/ - 您会看到第一行和第二行的正确指示符不同

最佳答案

left 位置值从给定的指定左侧值开始计算,并将宽度放在该位置的右侧

位置值是从给定的指定右值开始计算的,并将宽度放在该位置的

在您的示例中,您可以直观地看到这一点,前 100 名的右侧部分与底部的左侧部分匹配。

这是有充分理由的。以 left:0right:0 的比较为例。如果它们是等价的,left 版本将位于屏幕的最左侧,显示全宽,但 right 版本将位于屏幕的最左侧屏幕的最右侧,不可见。但是,实际上,它将元素定位在显示全宽的位置,但它处于可能的最右边值

从技术上讲,您的两个值都是错误的,因为 leftright 考虑了它定位的元素的宽度。为了完全准确,您还需要在被定位元素宽度的一半的一侧有一个负边距。通过给左值 100% 可以很容易地看到错误,然后标记完全移出范围

关于css - 为什么 CSS Left 75% 和 Right 25% 的工作方式不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19371201/

相关文章:

html - 将 Bootstrap 单选按钮分组为不同列中的 btn-primary 按钮

html - CSS div 相对于其他 div 的定位

html - 嵌套div和绝对位置问题

css - 向右浮动绝对定位的div

html - 页面底部的额外空间

javascript - 用于解析 BibTeX 的库

jquery - 使用 jquery 仅在特定的 css 类上显示工具提示

html - IE 8 忽略 div 中的边距

javascript - 如何确定固定 div 下有哪些元素?

html - 菜单栏 HTML/CSS 显示不佳