点评:这个使用 li的起始位置在居中的50%的地方,所以需要把li 向左边移动50%。 这里想问题的时候要注意,position:relative所定义的移动百分比不是相对于自身的,而是相对于父元素的
在制作中内容居中通常方法是给容器width固定宽度,然后text-align:center;margin:0 auto;或者将块装换成内联元素display:inline,然后text-align:center就能实现居中效果了。
MyBHTML5中文学习网 - HTML5先行者学习网MyBHTML5中文学习网 - HTML5先行者学习网下面这个方法是通过定位来实现的效果:
MyBHTML5中文学习网 - HTML5先行者学习网MyBHTML5中文学习网 - HTML5先行者学习网CSS代码:
MyBHTML5中文学习网 - HTML5先行者学习网 MyBHTML5中文学习网 - HTML5先行者学习网
<style> MyBHTML5中文学习网 - HTML5先行者学习网
*{ padding:0; margin:0; list-style:none;} MyBHTML5中文学习网 - HTML5先行者学习网
.sjbest ul { float:left; position:relative; left:50%;} MyBHTML5中文学习网 - HTML5先行者学习网
.sjbest ul li { float:left;position:relative; right:50%; padding:6px; } MyBHTML5中文学习网 - HTML5先行者学习网
</style> MyBHTML5中文学习网 - HTML5先行者学习网
MyBHTML5中文学习网 - HTML5先行者学习网HTML代码:
MyBHTML5中文学习网 - HTML5先行者学习网 MyBHTML5中文学习网 - HTML5先行者学习网
<div class="sjbest"> MyBHTML5中文学习网 - HTML5先行者学习网
<ul> MyBHTML5中文学习网 - HTML5先行者学习网
<li><a href="#">分类一</a></li> MyBHTML5中文学习网 - HTML5先行者学习网
<li><a href="#">分类二</a></li> MyBHTML5中文学习网 - HTML5先行者学习网
<li><a href="#">分类三-设计邦</a></li> MyBHTML5中文学习网 - HTML5先行者学习网
</ul> MyBHTML5中文学习网 - HTML5先行者学习网
</div> MyBHTML5中文学习网 - HTML5先行者学习网
MyBHTML5中文学习网 - HTML5先行者学习网首先,ul设置左浮动是为了 使得ul的宽度不是100%,而是 几个li宽度的总和。 之后ul相对定位 使用left把ul移动到剧中位置。
MyBHTML5中文学习网 - HTML5先行者学习网MyBHTML5中文学习网 - HTML5先行者学习网这个使用 li的起始位置在居中的50%的地方,所以需要把li 向左边移动50%。 这里想问题的时候要注意,position:relative所定义的移动百分比不是相对于自身的,而是相对于父元素的。也就是说 li 50% 实际上计算出来的宽度 是 ul宽度的一半,而不是li的。