以未知宽度居中
Centering with unknown width
我通常使用以下代码将具有动态宽度的元素居中。
.horz-vert-center {
position: absolute;
left: 50%;
top:50%;
transform: translate(-50%,-50%);
}
问题是元素调整大小的时间比我想要的要早。例如。一个菜单分两行,但它仍然可以放在一行上:
我不太明白,如果我使用 % 值,为什么边距不会继续变小?
在 ul
上添加 white-space:nowrap;
并在 li
上添加 display: inline-block; float: none;
似乎可以解决问题。
.horz-vert-center {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
white-space:nowrap;
}
.horz-vert-center li{
display: inline-block;
float: none;
}
body {background:#ccc}
*{margin:0;padding:0;font-family:arial;font-size:20px}
ul {list-style-type:none}
li {float:left;margin-right:10px}
li:last-child {margin-right:0;}
<ul class="horz-vert-center">
<li>About</li>
<li>Work</li>
<li>Blog</li>
<li>Journal</li>
</ul>
另一种使用 "Theodore K." 片段的方法
.horz-vert-center {
width:50%;
margin: auto;
border: 1px #000 solid;
text-align: center;
}
.horz-vert-center li{
display: inline-block;
float: none;
}
*{margin:0;padding:0;}
<ul class="horz-vert-center">
<li>About</li>
<li>Work</li>
<li>Blog</li>
<li>Journal</li>
</ul>
我通常使用以下代码将具有动态宽度的元素居中。
.horz-vert-center {
position: absolute;
left: 50%;
top:50%;
transform: translate(-50%,-50%);
}
问题是元素调整大小的时间比我想要的要早。例如。一个菜单分两行,但它仍然可以放在一行上:
我不太明白,如果我使用 % 值,为什么边距不会继续变小?
在 ul
上添加 white-space:nowrap;
并在 li
上添加 display: inline-block; float: none;
似乎可以解决问题。
.horz-vert-center {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
white-space:nowrap;
}
.horz-vert-center li{
display: inline-block;
float: none;
}
body {background:#ccc}
*{margin:0;padding:0;font-family:arial;font-size:20px}
ul {list-style-type:none}
li {float:left;margin-right:10px}
li:last-child {margin-right:0;}
<ul class="horz-vert-center">
<li>About</li>
<li>Work</li>
<li>Blog</li>
<li>Journal</li>
</ul>
另一种使用 "Theodore K." 片段的方法
.horz-vert-center {
width:50%;
margin: auto;
border: 1px #000 solid;
text-align: center;
}
.horz-vert-center li{
display: inline-block;
float: none;
}
*{margin:0;padding:0;}
<ul class="horz-vert-center">
<li>About</li>
<li>Work</li>
<li>Blog</li>
<li>Journal</li>
</ul>