html - 为什么在绝对位置/固定位置的元素上设置 50vw 或 50% 不能将其完全设置在中间?
问题描述
事实上,我有时会发现设置50vw
只会使元素达到其应有的距离的一半左右。
为什么会这样?我在这里错过了什么?
解决方案
您还需要减去项目宽度的一半。例如,您可以使用边距来做到这一点。还有其他选项,例如 calc。
看这个小提琴的例子:https ://jsfiddle.net/cgsymvyg/1/
#box1 {
border: 1px solid red;
background: green;
color: white;
width: 100px;
height: 100px;
position: absolute;
left: 50vw;
}
#box2 {
top: 200px;
border: 1px solid green;
background: red;
color: white;
width: 100px;
height: 100px;
position: absolute;
left: 50vw;
margin-left: -50px;
}
#box3 {
top: 400px;
border: 1px solid yellow;
background: blue;
color: white;
width: 100px;
height: 100px;
position: absolute;
left: calc(50vw - 50px);
}
<div id="box1">
Box 1
</div>
<div id="box2">
Box 2
</div>
<div id="box3">
Box 3
</div>
推荐阅读
- python - Python / 创建小时和分钟列表
- oracle - 使用循环对列表进行排序
- java - 为什么说这不是 json 对象?
- amazon-web-services - 捕获 lambda 函数的开始和结束
- swift - 来自 Firebase 存储的图像不会在我的 UIImageView 中刷新(swift)
- python - 我从 sklearn 得到负值作为 IterativeImputer 的输出
- r - 使用我自己的排序功能对多个数据框列进行排序
- python - 在 print() 中搜索由 .format 决定的某个单词
- python-3.x - 用于测试与多个服务器的 RDP 连接的脚本
- c - STM8L051F3 GPIO 初始配置