我想仅使用css
和将div居中less
。
这是我到目前为止尝试过的:
#exampleSquare {
position: absolute;
height: 100px;
width: 100px;
background-color: gray;
left: calc(~"`$(window).width()` / 2- 50px");
}
警告:
position: absolute
,库会像这样处理它。我简化了问题。window.width
的事情50%
,在我的情况下,DIV是一个很大的容器内。因此,50%
将引用其父级大小,而不是窗口。text-align: center;
,此div容器(父容器)也由库处理。我只需要left
语法即可返回正确的偏移量。
编辑:
根据Nico O的评论,这是我详细的CSS控制台中的内容:
编辑:
尼科Ø指出,这个错误的事实来,我用铬V.32和vw
语法只因为V.36支持:参考
#exampleSquare {
position: absolute;
height: 100px;
width: 100px;
background-color: gray;
left: 50%;
margin-left:-50px;//Half width
}
我知道您说过不要将50%留在左边,因为这会导致父母的宽度,但事实是它相对于其放置的容器...如果您将窗口尺寸减半并将其放在左边,它的容器位置是相对的还是绝对的,left:0是它的边界,而不是窗口边界。因此,为什么我认为这个答案会有所帮助。
否则,您将需要此代码段,但是我不那么了解JS计算,因此无法说是否可行:
($(window).width()-$(this).offsetParent().offset())/2
它采用了窗口的宽度与将要应用的left:0px当前位置之间的差。然后除以二,因为我们要中心而不是完全正确。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句