2009-09-08 3 views
13

例:CSSでリストのn番目のアイテムを非表示にする方法はありますか?

<ul class="mybuttons"> 
    <li class="mybutton"></li> 
    <li class="mybutton"></li> 
    <li class="mybutton"></li> 
</ul> 

それはCSSを使用して第二項目を非表示にすることは可能ですか?

+0

感謝を。 – GollyJer

+0

あなたの役職に「デザイナー」という言葉がある場合は、http://www.doctype.comで質問してください。そうでなければ、問題はここにあります。私は無作為にそれに尋ねたのではありません – EBGreen

+0

私の役職はどこですか? – GollyJer

答えて

27

nth-childが実際にCSSの方法です。純粋なCSSで

、構文が単純すぎて、この場合の

li.mybutton:nth-child(2){ 
    display:none; 
} 

nth-of-type(2)作品です。

編集:これはCSSの回答ですが、これはCSS3であり、only in some browsersが実装されています。 IEとFF3以下ではこれをネイティブにサポートしていません。 FF3.5、Konquerorで実装され、Chrome、Safari、Operaで間違っています。 nth-of-type()の実装が優れています。

古いブラウザでのサポートにはjavascript(jQueryなどで簡略化)が必要です。 jQueryセレクタはSelectors/nthChildドキュメントに記述されており、上記は$("li.mybutton:nth-child(2)").hide()で実現できます。

+2

完全に働いた。ありがとうございました。記録のために、これはCSS3の実装であり、Jon Gallowayが述べているように、「最新の」ブラウザでのみサポートされています。 http://www.webdevout.net/browser-support-css#css3pseudoclasses – GollyJer

+1

ユーザーに最新の非IEブラウザを実行する必要がない限り、これは実際のソリューションとは思えません。 –

+0

@ジョン、それは*彼の*質問に対する真の解決策です。彼はCSSを尋ね、CSSでタグ付けしたので、私は彼にCSSの答えを与えました。しかし、私は答えに警告を追加します。 –

8

n-th child pseudo selectorsこれを実行しますが、まだ広くサポートされておらず、しばらくお待ちください。 Javascript/jQueryが必要になるか、非表示にするアイテムの特別なクラスを作成するか、アイテムを直接非表示にするだけです。ここで

あなたはjQueryを使ってそれを行うだろう方法は次のとおりです。

$("ul.mybuttons li:nth-child(2)").hide(); 
+0

返事ありがとうJon。明確にするには... JQueryには、CSS3擬似セレクタをパラメータとして渡して処理する内部プロシージャがあり、このソリューションはブラウザに互換性がありますか?私はこの質問の目的のためにCSSにアクセスすることしかできませんが、将来のプロジェクトについての私の理解を確認する価値があります。再度、感謝します。 – GollyJer

+1

はい、jQueryには、CSS3 +を処理する非常に高度なセレクタエンジンがあり、IE6との下位互換性があります。 –

0
ul.mybuttons li:first-child { 
    display:none; 
} 
0

私が最初にHTMLファイルにクラス=「hidden_​​li」として二リチウムを設定します。

例:

<ul class="mybuttons"> 
<li class="mybutton"></li> 
<li class="mybutton" class="hidden_li"></li> 
<li class="mybutton"></li> 
</ul> 

それから私はこのようにそれをスタイリングします:この質問にはあまり価値を追加するための

.hidden_li{ 
    visibility : hidden; 
    height : 0px; 
    width : 0px; 
    margin : 0px; 
    padding : 0px; 
    overflow : hidden; 
} 
関連する問題