我试图让 <li>
的宽度适应 <ul>
的宽度,但即使使用了 width:auto
,它也完全不起作用,我不知道为什么。我尝试使用 display:inline-block
,但是效果相同。因为我不知道会有多少个选项卡,所以我没有直接使用百分比。
当我在桌面上显示页面时,我想要将列表行内显示,在智能手机上每行显示一个 li
(使用媒体查询)。
我有以下代码:
<ul id='menu'>
<li class="button"><a class='current' href='http://'>Home</a></li>
<li class="button"><a href='http://'>Products</a></li>
<li class="button"><a href='http://'>Support</a></li>
<li class="button"><a href='http://'>Contact</a></li>
<li class="button"><a href='http://'>Contact</a></li>
</ul>
我的CSS看起来像这样:
ul#menu
{
margin:0;
padding:0;
list-style-type:none;
width:100%;
position:relative;
display:block;
height:30px;
font-size:12px;
font-weight:bold;
font-family:Arial, Helvetica, sans-serif;
/*border-bottom:1px solid #000000;
border-top:1px solid #000000;*/
}
li.button {
background:transparent url(../images/nav_bg.png) repeat-x top left;
height:30px;
width:auto;
}
ul#menu li
{
display:inline-block;
margin:0;
padding:0;
width:auto;
}
ul#menu li a
{
display:inline-block;
color:#999999;
text-decoration:none;
font-weight:bold;
padding:8px 20px 0 20px;
width:auto;
}
ul#menu li a:hover
{
color:#FFFFFF;
height:22px;
background:transparent url(../images/nav_bg.png) 0px -30px no-repeat;
}
ul#menu li a.current
{
display:inline-block;
height:22px;
background:transparent url(images/nav_bg.png) 0px -30px no-repeat;
margin:0;
}
inline-block
?如果您想要全宽,为什么不直接使用block
?2)您尝试过使用width:100%
而不是width:auto
吗? - Andrew G. Johnson