资讯专栏INFORMATION COLUMN

CSS进阶篇--div中的内容垂直居中的五种方法

fjcgreat / 291人阅读

摘要:二内边距法另一种方法和行高法很相似,它同样适合一行或几行文字垂直居中,原理就是利用将内容垂直居中,比如这段代码的效果和法差不多。

一、行高(line-height)法

如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如:

p { height:30px; line-height:30px; width:100px; overflow:hidden; }

这段代码可以达到让文字在段落中垂直居中的效果。

二、内边距(padding)法

另一种方法和行高法很相似,它同样适合一行或几行文字垂直居中,原理就是利用padding将内容垂直居中,比如:

p { padding:20px 0; }

这段代码的效果和line-height法差不多。

三、模拟表格法

将容器设置为display:table,然后将子元素也就是要垂直居中显示的元素设置为display:table-cell,然后加上vertical-align:middle来实现。

html结构如下:

测试垂直居中效果测试垂直居中效果

测试垂直居中效果测试垂直居中效果

css代码:

#wrapper {display:table;width:300px;height:300px;background:#000;margin:0 auto;color:red;}
#cell{display:table-cell; vertical-align:middle;}

实现如图所示:

遗憾的是IE7及以下不支持。

四、CSS3的transform来实现

css代码如下:

.center-vertical{
  position: relative;
  top:50%;
  transform:translateY(-50%);
}.center-horizontal{
  position: relative;
  left:50%;
  transform:translateX(-50%); 
}
五:css3的box方法实现水平垂直居中

html代码:

我是多行文字

我是多行文字

我是多行文字

css代码:

.center {
  width: 300px;
  height: 200px;
  padding: 10px;
  border: 1px solid #ccc;
  background:#000;
  color:#fff;
  margin: 20px auto;


  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-pack: center;
  -webkit-box-align: center;
  
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-pack: center;
  -moz-box-align: center;
  
  display: -o-box;
  -o-box-orient: horizontal;
  -o-box-pack: center;
  -o-box-align: center;
  
  display: -ms-box;
  -ms-box-orient: horizontal;
  -ms-box-pack: center;
  -ms-box-align: center;
  
  display: box;
  box-orient: horizontal;
  box-pack: center;
  box-align: center;
}

结果如图:

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/111140.html

相关文章

  • CSS布局十八般武艺都在这里了

    摘要:清单一些说明注意文档的书写顺序,先写两侧栏,再写主面板,更换后则侧栏会被挤到下一列圣杯布局和双飞翼布局都会用到。可以通过设置的属性或使用双飞翼布局避免问题。双飞翼布局不用设置相对布局,以及对应的和值。 本文首发于知乎专栏:前端指南 CSS布局 布局是CSS中一个重要部分,本文总结了CSS布局中的常用技巧,包括常用的水平居中、垂直居中方法,以及单列布局、多列布局的多种实现方式(包括传统的...

    includecmath 评论0 收藏0
  • 实现垂直中的五种方法

    摘要:实现垂直居中的几种方法分场景介绍包裹行内元素效果图包裹行内块级元素效果图结构效果图注容器若设置了再设置的无效,即会自动填满的高宽若未设置,则自适应的实际宽高 实现垂直居中的几种方法(分场景介绍) line-height (包裹行内元素) 123456788 12345555 .wrap { height: 100px; line-height:...

    Noodles 评论0 收藏0
  • 实现垂直中的五种方法

    摘要:实现垂直居中的几种方法分场景介绍包裹行内元素效果图包裹行内块级元素效果图结构效果图注容器若设置了再设置的无效,即会自动填满的高宽若未设置,则自适应的实际宽高 实现垂直居中的几种方法(分场景介绍) line-height (包裹行内元素) 123456788 12345555 .wrap { height: 100px; line-height:...

    qylost 评论0 收藏0
  • CSSdiv嵌套问题及高度自适应问题五种实现--个人总结

    摘要:以下是在自己实习生面试的时候遇到的一个问题,事后自己也去总结了一下。 以下是在自己实习生面试的时候遇到的一个问题,事后自己也去总结了一下。问题描述如下:一个外层div里面嵌套两个内部div,外层div高度固定(假设未知),内层上面的div高度固定,如何让下面的div实现撑满外层的div高度?看到过网上有类似的问题,但是大部分都是假设外层高度为100%或者是已知的,而我遇到的是外层高度虽...

    Jaden 评论0 收藏0
  • CSS开发

    摘要:译十六进制颜色揭秘原文地址原文作者译文出自掘金翻译计划本文永久链接教程入门篇关于是一款进行栅格布局的辅助工具,它让开发者摆脱了冗杂的数学计算,同时降低了样式与结构的耦合程度。 【译】CSS 十六进制颜色揭秘 原文地址:CSS Hex Colors Demystified 原文作者:Dave Gash 译文出自:掘金翻译计划 本文永久链接:https://github.com/xitu/...

    warkiz 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<