我正在尝试将<ul>
置于<div>
的中心。我尝试了以下方法
text-align: center;
和/或
left: 50%;
这样不行
CSS:
.container {
clear: both;
width: 800px;
height: 70px;
margin-bottom: 10px;
text-align: center;
}
.container ul {
padding: 0 0 0 20px;
margin: 0;
list-style: none;
}
.container ul li {
margin: 0;
padding: 0;
}
我希望ul
在容器内居中。
5条答案
按热度按时间ndh0cuux1#
以下是CSS中水平居中的解决方案列表。该代码片段包括所有这些。
display: flex
备注:
max-width
&margin
您可以通过分配固定宽度并将
margin-right
和margin-left
设置为auto
来水平居中块级元素。备注:
IE9+:
transform: translatex(-50%)
&left: 50%
这类似于使用绝对定位和负边距的古怪居中方法。
备注:
top
而不是left
和translateY()
而不是translateX()
进行 * 垂直 * 居中。这两者甚至可以结合起来。👍transform2d
IE8+:
display: table
&margin
就像第一个解决方案一样,您对左右边距使用自动值,但不指定宽度。如果您不需要支持IE7及以下版本,这是更好的选择,尽管为
display
使用table
属性值感觉有点笨拙。IE8+:
display: inline-block
&text-align
像处理常规文本一样将元素居中也是可能的。缺点:您需要为容器和元素本身赋值。
备注:
ylamdve62#
制作UL auto的左右边距并为其分配宽度:
**编辑:**正如kleinfreund所建议的,你也可以将容器居中对齐,并给予ul一个inline-block显示,但你还必须给LI一个左浮动或一个inline显示。
yqkkidmi3#
hgtggwj04#
你可以检查这解决了你的问题...
http://jsfiddle.net/thirtydot/VCZgW/
d4so4syb5#