2013-09-26 11 views
6

私はしばらくこれについて困惑しています。ここに私が今持っているものは次のとおりです:最後のliをulの残りの幅に拡張しますか?

------------------------------------------------------------------------------- 
|     |     |      | 
|  Item 1  |  Item 2  |  Last item  | 
|     |     |      | 
------------------------------------------------------------------------------- 

ここで最後のliはulの一部を占めています。

------------------------------------------------------------------------------- 
|     |     |          | 
|  Item 1  |  Item 2  |    Last item    | 
|     |     |          | 
------------------------------------------------------------------------------- 

私はJavascript(またはJquery)を使用できません。 テキストサイズが変わる可能性があるので、各liの幅を設定する必要はありません。どのくらいのliがあるのか​​わかりません。私は5または3かもしれない。

どのように私はこれを達成するでしょうか?ありがとう。

ここに私のコードのいくつかとjsfiddleです。 ulの残りの部分を拡大するには、より明るい色が必要です。 JSFIDDLE

+0

あなたはplzはjsfiddle使用して小規模なテストケースを作成してもらえますか? –

+0

どういう意味ですか? –

+1

これまでに持っていたマークアップをコピーして、可能であればhttp://jsfiddle.netのようなサイトを使ってライブデモを提供してください。 – JJJ

答えて

20

あなたがするすべての要素が、最後に浮くことができます。また

ul {overflow:auto;} 

でflaotsをクリアし、国境を脱出していないので、完璧%を維持するのを忘れないでください

左。

最後の要素のボックスモデルは、これらの浮動リストの項目の後ろに拡張されます(内容は変わりませんが)。 overflow:hiddenはこの現象を防止します。フロートしたアイテムがページの自然な流れのままであるかのように、最後のフローティングアイテムが終了すると、ボックスモデルが開始されます。

ul, li{ 
 
    margin:0; 
 
    padding:0; 
 
    
 
    list-style-type:none; 
 
} 
 

 
ul li{ 
 
    display: block; 
 
    float:left; 
 
} 
 

 
ul li:last-child{ 
 
    background-color: #ddd; 
 

 
    float:none; 
 
    overflow:hidden; 
 
}
<ul> 
 
    <li>Item</li> 
 
    <li>Item</li> 
 
    <li>I will extend to the end of the page.. No matter how far. I will also not drop beneath my previous items, even if the text in here requires me to span over multiple lines.</li>  
 
</ul>

新しく追加JSFiddleの編集:

JSFiddle

+0

ありがとう。もし私が別のulを横に持っていたら、これはうまくいくのですか?ある種のティッカーのように? –

+0

はい、あなたはそれを動作させることができます – George

+0

ソリューションありがとうございます。これは別の質問かもしれませんが、最後の 'li'要素にCSSクラスを適用するとどうしてうまくいかないのでしょうか? – fbynite

1
ul>li:last-of-type {width:whatever} 

だから2リーの最後が浮くだろう前には:左、両方の20%を持っているし、最後のものが60%を持つことができます。

ul>li {box-sizing:border-box;} 
+0

これもhttp://jsfiddle.net/xZeJt/2/ –

関連する問題