首页 > 编程知识 正文

如何让一个div水平垂直居中,css实现垂直居中

时间:2023-05-03 11:23:08 阅读:44625 作者:1013

方法一:在此方法中,可以将div的显示方式设置为表,并使用表的垂直对齐属性。

HTML CSS:

1 divclass=' wrapper '2divclass=' cell '3divclass=' content '4h1 div表示方式表/h15/div6/div7/div1. wrapper { displa plav width: 30%; height: 600px; }2. cell {3display : table-cell; 4垂直对齐: middle; 5 )运行效果:

好处:

content可以动态更改高度(不需要在CSS中定义)。 如果wrapper没有足够的空间,则content不会被截断

缺点:

对于Internet Explorer,甚至I E8 beta无效

方法二:该方法使用绝对位置的div,其top设置为50%,top margin设置为负content高度。 也就是说,对象必须在CSS中指定固定高度。

因为有固定高度,所以您可能想在内容中指定overflow :自动。 这样一来,如果内容过多,就会显示滚动条以防止内容溢出。

HTML CSS:

1 div class='content'2对于定位的div,将其top设定为50%,top margin设定为负的content高度。 也就是说,对象必须在CSS中指定固定高度。 3 /div

1 .内容{ 2后台: # 272822; 3定位: Absolute; 4 top:50%; height:440px; width: 500px; 5 margin-top:-220px; /*为高度的一半*/6 }运行效果:

好处:

应用于所有浏览器

不需要嵌套标签

缺点:

如果没有足够的空间,内容将消失。 (如果div位于主体中,用户缩小浏览器窗口时不显示滚动条。)。

方法三:该方法使用定位: Absolute,有一定宽度和高度的div。 此div设置为top:0; bottom:0; 但是,因为它有一定的高度,所以实际上不能把与上下的间隔定为0。 因此,margin:auto; 将被定位在中央。 使用margin :自动; 将块级元素垂直居中很容易。

HTML:

1 div class='content' 2使用position:absolute,该位置具有恒定的宽度和高度的div。 此div设置为top:0; bottom:0; 但是,因为它有一定的高度,所以实际上不能把与上下的间隔定为0。 因此,margin:auto; 将被定位在中央。 使用margin :自动; 将块级元素垂直居中很容易。 3 /div CSS:

1 .内容{2}位置: absolute; 3 top:0; 4 bottom:0; 5 left:0; 6 right:0; 7 margin:auto; 8 height:440px; 9 width:70%; 10后台: # 346 FCE; 11 )运行效果:

好处:

很简单

缺点:

在ie (ie8 beta )中无效

如果没有足够的空间,content将被截断,但不显示滚动条

方法四:该方法只能将单行文本居中。 只需将线高度设置为对象的高度值,即可将文本居中。

HTML:

1名为1 div id='content' 2的方法只能围绕单行文本。 只需将线高度设置为对象的高度值,即可将文本居中。 3 /div CSS:

1 #content {2 margin: 50px auto; 3高清:300 px; 4 line-height:300px; 5后台: # EAA 527; 6 }运行结果:

好处:

应用于所有浏览器

如果没有足够的空间,则无法截断

缺点:

仅对文本有效(块级元素无效) ) ) )。

多行的情况下,断词比较差

对于较小的元素(如按钮文本和单行文本居中),此方法非常有用。

方法5 :此方法在content元素之外插入div。 该divheight:50%; 玛姬- bottom 3360-content height;

清除内容浮动并将其居中显示。

HTML:

1在1divclass='content'2content元素之外插入div。 该div height:50%; 玛姬- bottom 3360-content height; 清除内容浮动并将其居中显示。 3 /div CSS:

1 .浮动器{ 2浮动:左; 3 height:50%; 4定位: relative; 5 margin-top:-250px; 6 } 7 .content { 8 clear:both; 9 height:500px; 10后台: # 67930 f; 11定位: relative; 12 )运行效果:

好处:

应用于所有浏览器

如果没有足够的空间(例如,窗口折叠),content不会被截断,而是显示滚动条

缺点:

唯一能想到的就是需要额外的空元素

我个人最喜欢方法3。 使用position:absolute,有一定宽度和高度的div。 此div设置为top:0; bottom:0; 但是,因为它有一定的高度,所以实际上不能把与上下的间隔定为0。 因此,margin:auto; 将被定位在中央。 使用margin :自动; 将块级元素垂直居中很容易。

相对简单,可以垂直居中对齐元素,同时也可以水平居中对齐元素。

对于非块级元素,请将块级元素作为框添加到外部,或者使用display属性将内联元素更改为块级元素,然后使用此方法。

(来自http://www.qianduan.net/CSS-to-achieve-the-vertical-center-of-the-five-kinds-of-methods/)

转载于:https://www.cn blogs.com/red joy/p/4699208.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。