從這裏的所有問題,我假設大多數人都希望他們的div(或lis或其他)填補水平空間。我希望他們只要我需要的時間。在這裏,他們填補了水平空間:divs什麼時候填滿水平空間,他們什麼時候不需要?
我可以讓UL元素有顯示:inline-block的,這使得它在水平方向收縮,但如果我把LIS內聯塊,它們開始出現並排,這不是我想要的。我希望LIs只有他們需要的那麼寬。
此外,什麼時候應該div(或ul或li或其他)填充水平空間,什麼時候不應該?
HTML:
<div id="center_main">
<div id="data_box" class="center_box">
<ul id="keys">
<li class="key">key1</li>
<li class="key">key1 . key2</li>
<li class="key">key1 . key3</li>
<li class="key">key1 . key3 . key4</li>
<li class="key">key5</li>
</ul>
</div>
</div>
CSS:(約重複的遺憾,他們是從兩個不同的文件,layout.css中和colors.css未來)
#center_main {
margin: 25px auto;
}
.center_box {
margin: 10px 0px;
padding: 3px;
}
#keys {
padding: 0px;
margin: 0px 2px;
}
#keys li {
padding: 1px 3px;
margin: 3px 0px;
}
body {
background-color: #F1F1F1;
color: #333333;
}
.center_box {
background-color: #FFFFFF;
box-shadow: 0 0 10px #333333;
border-radius: 4px;
border: 0px solid #3981EC;
border-width: 4px 0px 0px 0px;
}
#keys {
list-style: none;
}
#keys li {
background-color: #666666;
color: #FFFFFF;
border-radius: 4px;
}
#keys li:hover{
background-color: #3981EC;
}
這將起作用,如果您需要爲'ul'或'div'添加背景顏色,則需要使用'clearfix'。其中一個不是,每個元素都有自己的大小,不會擴大到最大的集合。 – hungerstar