CSS垂直水平居中_html/css_WEB-ITnose
程序员文章站
2022-04-24 08:20:35
...
小小的总结一下:行内元素水平居中用text-align: center;块级元素水平居中用margin-left: auto; margin-right: auto;
首先讨论一下单行时的情况。
毫无疑问,这是最简单的一种情况。
HTML结构如下:
12 1111111111111111111111111111111111113
高度不固定(这种方法同样适用于多行文时的情况,下面就不再讨论)
1 .demo {2 text-align: center; 3 padding-top: 20px;4 padding-bottom: 20px;5 }
高度固定
1 .demo {2 text-align: center;3 height: 100px;4 line-height: 100px;5 }
接下来,讨论下多行时的情况。
HTML结构如下:
12 111111111111111111111111111111111111
222222222222222222223
高度不固定时只需要添加pading值就可以,不多加讨论了。
高度固定时
方法一:父元素设置display: table,子元素设置display:table-cell。利用了表格的特性。
1 .demo { 2 height: 100px; 3 display: table; 4 margin-left: auto; 5 margin-right: auto; 6 } 7 .demo span { 8 display: table-cell; 9 vertical-align: middle;10 }
方法二:父元素设置position: relative,子元素设置position: absolute。主要是利用了translate的中心是相对于元素本身的特点。
1 .demo { 2 position: relative; 3 height: 100px; 4 } 5 6 .demo span { 7 position: absolute; 8 left: 50%; 9 top: 50%;10 -webkit-transform: translate(-50%, -50%);11 -ms-transform: translate(-50%, -50%);12 transform: translate(-50%, -50%);13 }
方法三:利用flex布局。
.demo { height: 100px; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;}
方法四:利用:after,:before伪类,结合inline-block的特性实现垂直居中。
1 .demo { 2 height: 100px; 3 text-align: center; 4 } 5 6 .demo:after, .demo:before { 7 display: inline-block; 8 vertical-align: middle; 9 width: 0;10 height: 100%;11 visibility: hidden;12 content: '';13 }14 15 .demo span {16 display: inline-block;17 vertical-align: middle;18 }
暂时就想到这些了。
上一篇: JS获取当前地理位置案列详解
推荐阅读
-
Css常用操作――――――图片_html/css_WEB-ITnose
-
常用的 20 个 Sublime 插件_html/css_WEB-ITnose
-
请教div层浮动的做法:例如 登陆对话div层跟随页面上下浮动的做法_html/css_WEB-ITnose
-
我不知道的事input、textarea_html/css_WEB-ITnose
-
CSS3重点总结_html/css_WEB-ITnose
-
[JavaScript](译)Stylelint: The Style Sheet Linter We’ve Always Wanted_html/css_WEB-ITnose
-
Codeforces Round #214 (Div. 2)??Dima and Salad_html/css_WEB-ITnose
-
JS访问Webservice的安全性问题_html/css_WEB-ITnose
-
这种半透明效果怎么办?_html/css_WEB-ITnose
-
给li加上float属性后跳出div层_html/css_WEB-ITnose