html – 如何水平居中固定的定位元素

前端之家收集整理的这篇文章主要介绍了html – 如何水平居中固定的定位元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个里面有图像的图层:
<div id="foo"><img src="url" /></div>

它是固定的:

#foo {
    position: fixed;
}

但我也希望图层在页面中水平居中.所以我试过了:
http://jsfiddle.net/2BG9X/

#foo {
    position: fixed;
    margin: auto
}


http://jsfiddle.net/2BG9X/1/

#foo {
    position: fixed;
    left: auto;
}

但不起作用.任何想法如何实现它?

解决方法

当你将一个元素定位到固定时,它就会离开文档流,甚至是margin:auto;如果你愿意,它将不起作用,将一个元素嵌套在固定的定位元素内,而不是使用margin:auto;为了那个原因.

Demo

Demo 2(增加了身体元素的高度,以便您可以滚动测试)

HTML

<div class="fixed">
    <div class="center"></div>
</div>

CSS

.fixed {
    position: fixed;
    width: 100%;
    height: 40px;
    background: tomato;
}

.center {
    width: 300px;
    margin: auto;
    height: 40px;
    background: blue;
}

有些人会建议你使用display:inline-block;对于父元素设置为text-align:center;的子元素,如果满足您的需要,那么您也可以这样做…

.fixed {
    position: fixed;
    width: 100%;
    height: 40px;
    background: tomato;
    text-align: center;
}

.center {
    display: inline-block;
    width: 300px;
    height: 40px;
    background: blue;
}

Demo 2

只需确保使用text-align:left;对于子元素,否则它将继承父元素的text-align.

原文链接:https://www.f2er.com/html/232110.html

猜你在找的HTML相关文章