css 元素居中各种办法

一:通过弹性布局
<style>
#container .box{
width: 80px;
height: 80px;
position: absolute;
background:red;
}
#container{
background:green;width: 250px;height: 250px;border: 1px solid khaki; //下面三行是核心代码
display: flex;
justify-content: center;
align-items: center; }
</style>
</head>
<body>
<div id="container"> <div class="box">
</div></div>
效果如下:

css  元素居中各种办法

二、通过绝对定位来水平居中一个块级元素,(知道元素宽度,高度)。

<style>
#container .box{
width: 80px;
height: 120px;
         background:red;
position: absolute;
top: 50%;
left: 50%;
background:red;
margin-top: -60px; // 这二行可以用 transform: translate(-50%,-50%);代替分别对应x,y即宽高的一半
margin-left: -40px;
}
#container{
position:relative;background:green;width: 250px;height: 250px;border: 1px solid khaki; </style>
</head>
<body>
<div id="container"> <div class="box"> </div></div>
效果图如下:

css  元素居中各种办法

垂直居中单行文字

<div>
<span>这是居中的单行文字<span>
</div> <style>
div{width:300px;height:200px;background:#66f;color:white;}
span {line-height:200px}
</style>
//这里通过父元素高度(height)与文字行高(line-height)相等做到的

效果图:

css  元素居中各种办法

多行文字的居中

<div>
<p>这是居中的多行文字
这是居中的多行文字
这是居中的多行文字
这是居中的多行文字<p> </div>
<style>
div{width:300px;height:200px;background:#66f;color:white;
display:table
}
p{vertical-align:middle;display:table-cell}
</style>
//这里通过为父元素设置display:table,把多行文字用p元素包裹然后运用只对表格单元格有效的vertical-align:middle的css规则,就能完美居中
//此效果还可以用它来居中图片。

效果图:

css  元素居中各种办法

上一篇:fatal: unable to access 'https://github.com/xxxxx/xxxx.git/': Failed to connect to github.com port 443: Timed out


下一篇:应用程序框架实战三十三:表现层及ASP.NET MVC介绍(二)