CSS-小技巧-垂直居中设置

切 你以为总结完水平,就不能干一下垂直了吗!

geekwangc

  • 父元素高度确定的单行文本

通过设置父元素的 height 和 line-height 高度一致来实现的。如下代码:
html:
<div class="container"> hi,imooc!</div>
css代码:
<style>.container{ height:100px; line-height:100px; background:#999;}</style>

  • 父元素高度确定的多行文本、图片、块状元素

方法一:使用插入 table (包括tbody、tr、td)标签,同时设置 'vertical-align:middle'。
说到竖直居中,css 中有一个用于竖直居中的属性 'vertical-align',但这个样式只有在父元素为 td 或 th 时,才会生效。所以又要插入 table 标签了。下面看一下例子:
html代码:
<body><table><tbody><tr><td class="wrap"><div>
<p>看我是否可以居中。</p>
<p>看我是否可以居中。</p>
<p>看我是否可以居中。</p>
<p>看我是否可以居中。</p>
<p>看我是否可以居中。</p>
</div></td></tr></tbody></table></body>
css代码:
table td{height:500px;background:#ccc}
因为 td 标签默认情况下就默认设置了 vertical-align 为 middle,所以我们不需要显式地设置了。
方法二:在 chrome、firefox 及 IE8 以上的浏览器下可以设置块级元素的 display 为 table-cell,激活 vertical-align 属性,但注意 IE6、7 并不支持这个样式。
html代码:
<div class="container"><div>
<p>看我是否可以居中。</p>
</div></div>
css代码:
<style>
.container{ height:300px; background:#ccc; display:table-cell;
/IE8以上及Chrome、Firefox/ vertical-align:middle;/IE8以上及Chrome、Firefox/}</style>
这种方法的好处是不用添加多余的无意义的标签,但缺点也很明显,它的兼容性不是很好,不兼容 IE6、7。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 水平居中设置-行内元素 我们在实际工作中常会遇到需要设置水平居中的场景,比如为了美观,文章的标题一般都是水平居中显...
    CAICL阅读 3,258评论 0 3
  • 收听音频,戳链接,旧号itclan已暂停使用,欢迎关注微信itclanCoder公众号可收听更多音频 前言 关于网...
    itclanCoder阅读 12,539评论 3 30
  • 这是开心麻花的第三部喜剧电影。据我在影院的亲身体验,在观影的短短90分钟里,笑声此起彼伏,不绝于耳。开心麻花在这种...
    劍心阅读 5,668评论 17 17
  • 《云中有鹏》 古有云中鹏,止于二山间,身巨极而无翼,云雾袅袅,望之如三峦并立。然其曾未翼,...
    Herewithyo_b630阅读 2,695评论 0 0

友情链接更多精彩内容