纯css多种方法实现div中单行文字、多行文字及嵌套div垂直水平居中
发布时间:2014-04-24 15:30:48 作者:佚名 我要评论
经常遇到要居中的问题,水平居中问题比较好解决,而垂直居中问题因为vertical-align经常失效,下面与大家分享下几个不错的解决方法
学习过程中经常遇到要居中的问题,水平居中问题比较好解决,而垂直居中问题因为vertical-align经常失效,所以不容易实现,今天将自己总结的一些方法归纳于这边。
1.div中单行文字垂直水平居中。条件:外层div高度已经给定。代码如下:
<style type="text/css">
.div3{
border:1px solid red;
text-align:center;
height:200px;
line-height:200px;
width:300px;
overflow:hidden;
}
</style>
<div class="div3">
2.div中多行文字垂直水平居中。条件:无。代码如下:
<style type="text/css">
.div4{
border:1px solid red;
width:400px;
padding-bottom:20px;
padding-top:20px;
text-align:center;
}
</style>
<div class="div4">
div中多行文字垂直水平居中
div中多行文字垂直水平居中
div中多行文字垂直水平居
</div>
3.div中嵌套div,使得中间div垂直水平居中。条件:无。应用table模拟法。代码如下:
<style type="text/css">
.div1{
border:1px solid red;
display:table-cell; /* 模拟表格法*/
vertical-align:middle;
text-align:center;
height:200px;
width:200px;
}
.div2{
border:1px solid red;
margin:auto;
height:100px;
width:100px;
}
</style>
<div class="div1">
<div class="div2"></div>
</div>
4.div中嵌套div,使得中间div垂直水平居中。条件:外层div和内层div的高度,宽度都已经限定。通过设定margin来使得div居中。代码如下:
<style type="text/css">
.div5{
border:1px solid red;
height:200px;
width:200px;
}
.div6{
border:1px solid red;
height:100px;
width:100px;
margin:50px 50px auto auto;
}
</style>
<div class="div5">
<div class="div6"></div>
</div>
5.div中嵌套div,使得中间div垂直水平居中。条件:外层div高度,宽度不限定,内部div高度,宽度已知,且内外层div的position都必须为absolute。通过设定top,left,margin来使得div居中。代码如下:
<style type="text/css">
.div7{
position:absolute;
border:1px solid red;
height:50%;
width:50%;
}
.div8{
border:1px solid red;
height:100px;
width:100px;
position:absolute;
top:50%;
left:50%;
margin-top:-50px;
margin-left:-50px;
}
</style>
<div class="div7">
<div class="div8">aa</div>
</div>
以上就是我目前所知道的垂直水平都居中的方法,还有很多地方不足,比如ie6兼容性方面等等,希望大家能把自己知道的分享出来,让我这个新手多多学习。
1.div中单行文字垂直水平居中。条件:外层div高度已经给定。代码如下:
复制代码
代码如下:<style type="text/css">
.div3{
border:1px solid red;
text-align:center;
height:200px;
line-height:200px;
width:300px;
overflow:hidden;
}
</style>
<div class="div3">
2.div中多行文字垂直水平居中。条件:无。代码如下:
复制代码
代码如下:<style type="text/css">
.div4{
border:1px solid red;
width:400px;
padding-bottom:20px;
padding-top:20px;
text-align:center;
}
</style>
<div class="div4">
div中多行文字垂直水平居中
div中多行文字垂直水平居中
div中多行文字垂直水平居
</div>
3.div中嵌套div,使得中间div垂直水平居中。条件:无。应用table模拟法。代码如下:
复制代码
代码如下:<style type="text/css">
.div1{
border:1px solid red;
display:table-cell; /* 模拟表格法*/
vertical-align:middle;
text-align:center;
height:200px;
width:200px;
}
.div2{
border:1px solid red;
margin:auto;
height:100px;
width:100px;
}
</style>
<div class="div1">
<div class="div2"></div>
</div>
4.div中嵌套div,使得中间div垂直水平居中。条件:外层div和内层div的高度,宽度都已经限定。通过设定margin来使得div居中。代码如下:
复制代码
代码如下:<style type="text/css">
.div5{
border:1px solid red;
height:200px;
width:200px;
}
.div6{
border:1px solid red;
height:100px;
width:100px;
margin:50px 50px auto auto;
}
</style>
<div class="div5">
<div class="div6"></div>
</div>
5.div中嵌套div,使得中间div垂直水平居中。条件:外层div高度,宽度不限定,内部div高度,宽度已知,且内外层div的position都必须为absolute。通过设定top,left,margin来使得div居中。代码如下:
复制代码
代码如下:<style type="text/css">
.div7{
position:absolute;
border:1px solid red;
height:50%;
width:50%;
}
.div8{
border:1px solid red;
height:100px;
width:100px;
position:absolute;
top:50%;
left:50%;
margin-top:-50px;
margin-left:-50px;
}
</style>
<div class="div7">
<div class="div8">aa</div>
</div>
以上就是我目前所知道的垂直水平都居中的方法,还有很多地方不足,比如ie6兼容性方面等等,希望大家能把自己知道的分享出来,让我这个新手多多学习。
相关文章
- 这篇文章主要介绍了CSS实现多层嵌套结构最外层旋转其它层不旋转效果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随2020-02-05
LESS 让css也支持变量,运算符,include,嵌套规则等等
最近在网上看到1个很有意思的CSS扩展,这里介绍给大家。LESS 最早是1个ruby的gem,用于扩展css的语法,用了LESS后,可以在css中使用变量,运算符,include,嵌套规则等等。2010-07-04- 除非你的网站只有一页,不然你一定会用的导航的.事实上,导航在网页设计中是最重要部分之一.你要用很多时间去考虑如何让浏览者更容易访问你的网站.2009-11-30
- 网页制作Webjx文章简介:简单学习css组合与CSS嵌套的写法. CSS组合 你不必重复有相同属性的多个选择符,你只要用英文逗号(,)隔开选择符就可以了2009-04-02
CSS 即将支持嵌套,SASS/LESS 等预处理器该何去何从
随着 CSS 自定义属性(CSS Variable)的大规模兼容,到如今 CSS 即将支持嵌套,一些预处理器的核心功能已经被 CSS 原生支持,这是否表示 SASS/LESS 等预处理器已无用武之地2021-08-10
最新评论