【css】一行或者多行文字垂直水平居中

1.方法一:使用css3弹性盒子(兼容IE10及以上浏览器,firefox,chrome,safari 5.1.7不支持)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<style>
#main {
    display: flex;
    display:-webkit-flex;
    flex-direction:column;/*纵向排列*/
}
  
#main div {
    width: 40px;
    height: 40px;
    display: flex;
    display:-webkit-flex; 
    justify-content: center;/*水平居中*/
    align-items: center;/*垂直居中*/
    -webkit-align-items:center; 
}
/*或者
#main div {
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: space-around;
    flex-direction: column;
    align-items: center
}
*/
</style>
</head>
<body>

<div id="main">
    <div style="background-color:coral;">A</div>
    <div style="background-color:lightblue;">B</div>
    <div style="background-color:khaki;">C</div>
    <div style="background-color:pink;">D</div>
    <div style="background-color:lightgrey;">E</div>
    <div style="background-color:lightgreen;">F</div>
</div>

</body>
</html>

 

 

效果:

2.使用display:table-cell(不确定高度的容器中垂直居中)

display:table-cell;
vertical-align:middle;
text-align:center;

兼容性:IE8及以上浏览器,chrome,firefox

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>兼容ie8及以上浏览器</title>
        <style type="text/css">
            .box{
                width:300px;
                height:300px;
                border:1px solid red;
                display:table-cell;
                vertical-align:middle;
                text-align:center;
             }
            .align-center-vertical{
            }

        </style>
    </head>
    <body>
        <div class="box">
            <div class="align-center-vertical">
                3问无为谓我我我我问问3问无为谓我我我我问问3问无为谓我我我我问问3问无为谓我我我我问问3问无为谓我我我我问问3问无为谓我我我我问问</div>
        </div>
    </body>
</html>

效果:

3.利用vertical-align属性特性

ps:W3C上对vertical-align的定义:vertical-align 属性设置元素的垂直对齐方式。

该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。

在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>兼容ie8及以上浏览器</title>
        <style type="text/css">
            .box {
                 border: 1px dashed #cccccc;
                 height: 300px;
                 width:500px;
                 font-size:0;
             }
             .box p, .box i {
                 display: inline-block;
                 vertical-align: middle;
                 overflow: hidden;
                 *display:inline;
                 *zoom:1;
             }
             .box i {
                 height: 100%;
                 width: 0;
             }
             .box p {
                 font-size: 14px;
                 width: 100%;
             }
        </style>
    </head>
    <body>
        <div class="box">
              <p class="text">多行文本的垂直居中多行文本的垂直居中多行文本的垂直居中多行文本的垂直居中多行文本的垂直居中多行文本的垂直居中多行文本的垂直居中多行文本的垂直居中多行文本的垂直居中多行文本的垂直居中多行文本的垂直居中多行文本的垂直居</p>
            <i></i>
         </div>
    </body>
</html>

 

 效果:

 

 

作者:smile.轉角

QQ:493177502

转载于:https://www.cnblogs.com/websmile/p/9884619.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值