2020-10-29 CSS position:fixed 如何居中

2020-10-29 CSS position:fixed 如何居中,第1张

position:fixed 的元素脱离了文档流,不占据文档流的空间,这时 top、right、left、bottom 是根据 窗口 为原点进行偏移定位的,也就是说它不会根据滚动条的滚动而进行偏移

那么我们如何设置 position:fixed 的元素居中呢?

如果我们这么做:

效果如下:

fixed 的元素的 左上角 居中了,但是我们要的是整个元素居中啊,怎么办呢

设置 margin-top 和 margin-left 分别为高度和宽度的一半的负值。

这样就居中了,效果如下

这么做的前提是你知道元素的宽度和高度,如果不知道宽高呢?

没关系

The translate value for transform is based off the size of the element, so that will center nicely.

tarmsform 属性的 translate 值是基于元素的大小,所以可以完美的居中啦~

ps: 如果只需要水平居中:

https://css-tricks.com/quick-css-trick-how-to-center-an-object-exactly-in-the-center/

这个最好定宽,定高,如果自适应那么就需要要js来进行控制了。假如div宽200px,高100px,那么居中样式就是这样:position:fixedtop:50%left:50%margin-top:-50pxmargin-left:-110px这样就居中了,如果是自适应,需要使用js获取div的宽度和高度,然后将margin-top:-高度/2像素,同理,margin-left设置-宽度/2像素。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11999443.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存