>  기사  >  웹 프론트엔드  >  关于多行文字水平垂直居中的一点研究_html/css_WEB-ITnose

关于多行文字水平垂直居中的一点研究_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 12:33:541164검색

前些天在W3CPlus看到了一篇文章,提到用CSS制作水平垂直居中,在测试其中的第六点时发现了一些小问题:

添加了一个无意义的新标签

<div id="extra">

当设定内容宽度的时候,文本换行了

对于第一点,解决的办法是使用 :before 伪元素 :

 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>水平垂直居中</title> 6 <style> 7 .wrapper { 8     width: 200px; 9     height: 200px;10     background: skyblue;11 }12 .wrapper:before {13     content: '.';14     display: inline-block;15     vertical-align: middle;16     height: 100%;17 }18 .content {19     display: inline-block;20     text-align: center;21 }22 </style>23 </head>24 25 <body>26 <div class="wrapper">27   <div class="content">多行文字居中 多行文字居中 多行文字居中 </div>28 </div>29 </body>30 </html>

 

附Demo

但是!大家也都注意到了:文本换行了

这便是inline-block产生的空隙在捣乱了

为了解决这个问题,可以试试这个hack:

1 .wrapper {2 font-size:03 }4 5 .content {6 font-size:16px7 }

 

保存再看看:

搞定!

附完整源码

参考资料(推荐阅读):

CSS制作水平垂直居中对齐

如何解决inline-block元素的空白间距

inline-block 前世今生

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.