本篇文章给大家谈谈五种实现div内容垂直居中的CSS技巧总结,以及对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
2. 填充方法
3、模拟形式法
4.CSS3变换实现
五:CSS3的box方法实现水平、垂直居中
六:flex布局(2018/04/17补充)
七:更简单的说,解决办法就是添加
margin:(容器的行高-对象本身的高度)/2px 0;
垂直对齐:中间;
八:top:50%;
边距-top:-h/2; (缺点是只能相对于浏览器,必须使用position:absolute)
1. 线高法
如果只有一行或者几个字需要垂直居中的话,做起来是最简单的。只需使文本的行高与容器的高度相同即可,例如:
p{高度:30px;行高:30px;宽度:100px;溢出:隐藏; }
这段代码可以实现段落中文字垂直居中的效果。
2. 填充方法
另一种方法与线高法非常相似。它还适用于一行或多行文本的垂直居中。原理是利用padding使内容垂直居中,如:
p{padding:20px0; }
这段代码的效果和line-height方法类似。
3、模拟形式法
设置容器为display:table,然后设置子元素,即要垂直居中的元素为display:table-cell,然后添加vertical-align:middle来实现。
html结构如下:
测试垂直居中效果测试垂直居中效果
测试垂直居中效果测试垂直居中效果
CSS代码:
#wrapper{display:table;width:300px;height:300px;background:#000;margin:0auto;color:red;}#cell{display:table-cell;vertical-align:middle;}
4.CSS3变换实现
CSS代码如下:
.center-vertical{position: 相对;top:50%;transform:translateY(-50%);}.center-horizontal{position: 相对;left:50%;transform:translateX(-50%); }
五:CSS3的box方法实现水平、垂直居中
html代码:
我是多行文本
我是多行文本
我是多行文本
CSS代码:
.center{宽度:300px;高度:200px;填充:10px;边框:1pxsolid#ccc;背景:#000;颜色:#fff;margin:20pxauto;
显示: -webkit-box;-webkit-box-orient:水平;-webkit-box-pack:中心;-webkit-box-align:中心;display: -moz-box;-moz-box-orient:水平;-moz-box-pack:中心;-moz-box-align: 中心;显示: -o-box;-o-box-orient: 水平;-o-box-pack: 中心;-o-box-align: 中心;显示: -ms-box;-ms-box -orient: 水平;-ms-box-pack: 中心;-ms-box-align: 中心;显示: 框;box-orient: 水平;box-pack: 中心;box-align: 中心;}
六:flex布局(2018/04/17补充)
html代码:
我是多行文本。我是多行文本。我是多行文本。我是多行文本。
我是多行文本。我是多行文本。我是多行文本。我是多行文本。
CSS代码:
.flex{/*flex布局*/display: flex;/*实现垂直居中*/align-items: center;/*实现水平居中*/justify-content: center;text-align: justify;width:200px;height:200px;background:#000;margin:0auto ;颜色:#fff;}
实现效果:
【五种实现div内容垂直居中的CSS技巧总结】相关文章:
用户评论
这篇文章很有用,之前一直不知道怎么在div里垂直居中。
有19位网友表示赞同!
学习一下新的水平吧!对垂直居中这种基础却很重要的小技巧越来越感兴趣了。
有6位网友表示赞同!
CSS确实很强大,能做到这么多。快来看看我的网站布局是不是也能改进一下。
有19位网友表示赞同!
五种方法都挺有意思的,哪一种最常用呢?
有11位网友表示赞同!
垂直居中一直是开发过程中让我困惑的地方,这次终于找到答案了!
有5位网友表示赞同!
代码简洁明了的文章太好学了,谢谢分享。
有16位网友表示赞同!
学习完了这篇文章,我的网站设计肯定能更专业一些。
有16位网友表示赞同!
对新人来说,可能这些方法一开始看不懂,需要慢慢理解和练习。
有6位网友表示赞同!
我以前都是直接复制代码用的,现在开始想要真正明白是怎么工作的了。
有6位网友表示赞同!
这篇文章让我知道了原来还有这么多方法可以实现垂直居中!
有17位网友表示赞同!
学习完这一些方法之后,我的网站布局能力就能提高一大截了。
有12位网友表示赞同!
想问问作者觉得哪种方法最适合大部分情况?
有8位网友表示赞同!
CSS确实是一门非常奥秘的学问,需要慢慢潜心研究。
有17位网友表示赞同!
最近在做个网页项目,正好可以用到这篇总结里的知识!
有20位网友表示赞同!
这篇文章对理解垂直居中的原理很有帮助,感谢分享!
有7位网友表示赞同!
学习好方法后,工作效率提高了不少。
有8位网友表示赞同!
CSS水平确实很重要,我会继续努力提升自己的技能。
有20位网友表示赞同!
如果想做更复杂的网页布局,是不是还要学习其他的CSS知识呢?
有13位网友表示赞同!
看完这篇文章,我感觉自己离成为web开发大师又近了一步!
有18位网友表示赞同!