css不确定宽度的水平居中

分类: HTML-CSS |
给父元素设置text-align:center可以实现 文本、图片等行内元素的水平居中,但是还有比较复杂的情况,例如我们项目中:
按钮文字和个数不确定,但是要居中显示。按钮我用的是滑动门。那么如何居中呢?
<title>无标题文档</title>
<style type="text/css">
*{ margin:0; padding:0; font-size:12px; font-family:Arial, Helvetica, sans-serif;}
ol,ul{ list-style:none;}
.myUl{clear:both; position:relative; left:50%; float:left; margin-bottom:2px;}
.myUl li{ float:left; position:relative; left:-50%; margin-right:2px;}
.myUl li a{ float:left; text-decoration:none; padding-left:5px; background:#f00;}
.myUl li a span{ padding-right:5px; background:#fcc;}
</style>
</head>
<body>
<div style="text-align:center;">
<span>给父元素设置text-align:center可以实现 文本、图片等行内元素的水平居中</span>
</div>
<div style="width:100%;">
<ul class="myUl">
<li><a href="#"><span>A</span></a></li>
</ul>
<ul class="myUl">
<li><a href="#"><span>A</span></a></li>
<li><a href="#"><span>B</span></a></li>
</ul>
<ul class="myUl">
<li><a href="#"><span>A</span></a></li>
<li><a href="#"><span>B</span></a></li>
<li><a href="#"><span>C</span></a></li>
</ul>
<ul class="myUl">
<li><a href="#"><span>A</span></a></li>
<li><a href="#"><span>B</span></a></li>
<li><a href="#"><span>C</span></a></li>
<li><a href="#"><span>D</span></a></li>
</ul>
</div>
</body>
</html>
说明:对父元素设置float,position:relative,left:50%;子元素position:absolute,并且left:-50%,这样就可以了。代码效果如下: