css 元素居中方法

时间:2025-01-01 11:06:08

目前知道有两种方法

方法一:主要适用于元素未设定高度的情况下。

直接上代码

html:

 <div class="nav-content">
<ul ng-click="navItem($event)" ng-model="navType">
<li id="nav_msglist">
<a href="#/">消息列表</a>
</li>
<li id="mislist">
<a href="#/">通知列表</a>
</li>
<li>
<a href="#/">消息列表</a>
</li>
<li>
<a href="#/">消息列表</a>
</li>
<li id="userset">
<a href="#/userset">账号设置</a>
</li>
</ul>
</div>

css:

 .nav-content li a{color: #6f6f6f;position: absolute;-webkit-transform: translateY(-50%);top: 50%;display: block;}

方法二:适用于元素高度为已知的情况。

html:

 <div class="msg-operation">
<div class="optico"><img src="data:images/collect-ico.png" /></div>
<div class="optico"><img src="data:images/collect-ico.png" /></div>
<div clas="optico"><img src="data:images/collect-ico.png" /></div>
</div>

css:

 .optico{ width: 30%;display: inline-block;position: relative;text-align: right;}
.optico img{height: 20px;width: 20px;position: absolute;top: 50%;margin-top: -10px;left: 50%;margin-left: 10px;}

当然在未设定margin的左右边距的情况下,div居中还有一种方法,就是 margin:0 auto;