我:針對li元素?
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
我想不同的寬度添加到每個華里。
我不想這樣做內聯。
我該如何使用CSS2(而不是CSS3)來定位每個li?
有沒有辦法,或者我需要給每個李的類名?
感謝
我:針對li元素?
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
我想不同的寬度添加到每個華里。
我不想這樣做內聯。
我該如何使用CSS2(而不是CSS3)來定位每個li?
有沒有辦法,或者我需要給每個李的類名?
感謝
你也可以用梳子CSS,你必須添加類各立在CSS E:G-
li {}
li + li {}
li + li + li {}
li + li + li + li {}
li + li + li + li + li {}
好。只有建議是在每個聲明中使用「li:first-child」作爲第一個li。因爲它消除了CSS的遞歸處理的不必要的數量。當然,我們正在談論的是百萬分之一秒。 :) – ProfileTwist
爲什麼不使用nth-of-type
ul li:nth-of-type(1){} /* First */
ul li:nth-of-type(2){} /* Seconds */
,如果你擔心舊的瀏覽器,有一個很大的library,增加了CSS3僞類給他們。
唯一的CSS2方法是將類添加到每個LI。
編輯
其實每LI不同類別並不是唯一的方式CSS2。 @Hashem Qolami對原始問題的評論有一個體面的CSS2解決方案,但就像他說的,它看起來有點愚蠢。
在CSS2中,你可以像'li + li {/ *樣式爲第二個li和* /} li + li + li {/ *將樣式重置爲默認值,使特殊樣式適用於第二個li只有* /}'等等。但是這種「窮人的孩子選擇者」是非常無效的。 –
'唯一的CSS2方法是將類添加到每個LI'不正確,請檢查我的評論;) –
只有在我發佈此答案後纔看到。你是對的,你的解決方案是最好的方法,而不用改變他的HTML。 – dotty
如果你想使用純粹的CSS2,你必須給他們類的名稱。這可以通過:nth-of-type()
psuedoclass選擇器來完成,但這是一個CSS3功能。
這對jQuery來說也很簡單(如果你想避免依賴CSS3但不想將類名添加到你的標記中)。這也可以讓你根據需要動態改變寬度(而不是像CSS類那樣硬編碼屬性值)。
「每個李」你是指每個李元素單獨?如果是這樣,第n個選擇器可能是你的朋友,儘管它是CSS3。
你可以給所有你的李的類名,並設置爲顯示塊,與浮動。
樣品fiddle:
li{
display:block;
float:left;
background:blue;
}
li.small{
width:50%;
}
li.big{
width:100%;
}
每個'li'單獨或全部他們一樣嗎? –
每個li需要不同的寬度 – beans
@beans:它看起來很愚蠢,但它是一個純粹的CSS2解決方案。 ** [JSBin Demo](http://jsbin.com/igisid/1/edit)**。 –