• ベストアンサー

CSSでのリスト内のある特定のアイテムだけを表示しない方法

お世話になっております。 CSSを使用して、リストを作った場合の質問です。 リストが12個あったとして、 実際にはそのリストの中の8個しか表示したくない場合 現在では <ul> <li>画像1</li> <li>画像2</li> <li style="display:block;">画像3</li>(←表示したくない画像) <li>画像4</li> ・・・・・ ・・・・・ </ul> という風に記述しているのですが・・・ 表示されてしまいます。 どなたかご存知のかた、 教えてください。 宜しくお願いします!!

質問者が選んだベストアンサー

  • ベストアンサー
noname#100277
noname#100277
回答No.4

何だか変なので整理します。 表示したくは無い場合、HTMLレベルでは以下。 <!-- <li style="display:block;">画像</li> --> CSSなら以下。 style="display:none;"

mihomama84
質問者

お礼

ご回答ありがとうございます! ご察しの通りJavaScriptとの絡みでの非表示でした。 なるほどですね。 HTMLではコメントで囲い、CSSではDisplay:noneとすれば よかったのですね! 助かりました!ありがとうございます!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • abril
  • ベストアンサー率69% (388/560)
回答No.3

> <li style="display:block;">画像3</li>(←表示したくない画像) "display:block;"(その要素をブロック化する)だったら表示されて当然ですね。No.2様のご指摘どおり"display: none;"(その要素を不可視にする)だったら「表示されて」しまうのは解せませんが。 あと、”表示したくない”というのがどういう意図によるものかによっては、CSSで非表示にするのではなく、No.1様のアドバイスの様にコメントで隠す(<!-- <li>表示したくないアイテム</li> -->)方が適切という場合もあります。CSSで隠して(display: none;、visibility: hidden;、text-indent: -9999px;、等々)いる要素は、クライアント側でスタイルシートを切ってしまう、もしくはオリジナルのスタイルシートを使用している場合、制作者の意図に反して閲覧者側では見えて(ブラウザ上に表示されて)しまっている、という状態にできるからです。 私個人も、デザインががちゃがちゃうるさかったり配色等が目に優しくないサイトなどは意図的にスタイルシートを切って閲覧するという事をよくやります。必要な情報さえ取得できれば用は足りるので。 例えば、そのリストのアイテムがナビゲーションの様なもので、まだその先のコンテンツが出来ていないので今は非表示だけれどもコンテンツが出来た際にすぐ更新できる様に今の内から配置しておく…みたいな意味であれば、コメントで隠しておく方が適切かと思います。勿論、JavaScriptとの絡みとかで、表示・非表示を切り替える為に"display: none;"としておく事が必要なのであれば仕方ないですが。

全文を見る
すると、全ての回答が全文表示されます。
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

display:none; の間違い?

mihomama84
質問者

お礼

はい、根本的に間違っていました。 ご回答ありがとうございました!!!

全文を見る
すると、全ての回答が全文表示されます。
  • cool_
  • ベストアンサー率31% (314/1005)
回答No.1

<li style="display:block;">画像3</li>(←表示したくない画像) をコメントで囲むというのはどうでしょうか。 <li style="display:block;"><!-- 画像3></li>(←表示したくない画像) または<1-- li style="display:block;">画像3<!-- /li>(←表示したくない画像)

mihomama84
質問者

お礼

なるほどですね!コメントで囲むという方法が!!! ありがとうございます♪ これでJavaScriptでもうまく動作しそうです!!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • CSSでリストを横並びにし、行頭画像を表示させたい

    XHTMLとCSSでのWebページを作成しています。 リストを横並びに表示、行頭画像も表示させ、さらにポイントした時に画像が変わるようにしたいのですが、下記の記述では横並びにはできても画像が表示されず困っています。 おかしい部分や足りない部分がありましたら、ご指摘お願い致します。 ≪CSS≫ #menu li{ display:inline; list-style-image:url(画像のパス); } #menu li a:hover{ list-style-image:url(画像のパス); } ≪html≫ <div id="menu" name="menu"> <ul> <li><a href="ファイルのパス">文字列</a></li> <li><a href="ファイルのパス">文字列</a></li> <li><a href="ファイルのパス">文字列</a></li> </ul> </div> 試しにdisplayを削除すると、画像はちゃんと表示されるので、画像のパスは間違っていないはずです。 何卒、宜しくお願い致します。

    • ベストアンサー
    • CSS
  • CSS 横並びリストの書き方はどちらがよいでしょうか

    スタイルシートで横並びリストを作成するとき、li { display: inline; } を使う方法と、li { display: block; float:left; } を使う方法がありますよね。皆さんは、意識して、使い分けられていますか? どちらで表現しようか、よく迷います。どちらの方法でも同じレイアウトにできるように思ってしまっていて。。でも自分の気付いていないデメリットがあるのかな?と気になります。「こうしたい場合、こちらのレイアウトだと無理」とか、「これではこのブラウザで表示が崩れる」など、お気づきのことがあれば、教えていただけないでしょうか。 下に、自分で確認用に作ったhtmlがあるので、そのままブラウザで見ていただければと思います。お手数ですが、よろしくお願いします。 ========================= <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>横並びサンプル</title> <style type="text/css"> <!-- /* リスト:インライン ------------------------------------------------------------ */ #yoko1 li { display: inline; } #yoko1 a { display: block; float:left; } #yoko1 li { list-style-type: none; margin:0 5px; } #yoko1 a { padding: 5px 10px; margin: 5px; text-decoration:none; border:1px solid #CCFF33; } #yoko1 a:hover { background-color:#CCCCFF; } #yoko2 { clear:left; } /* リスト:ブロック ------------------------------------------------------------ */ #yoko2 li { display: block; float:left; } #yoko2 a { display:block; } #yoko2 li { list-style-type:none; margin:0 5px; } #yoko2 a { padding: 5px 10px; text-decoration:none; border:1px solid #CCFF33; } #yoko2 a:hover { background-color:#CCCCFF; } --> </style> </head> <body> <div id="yoko1"> <ul> <li><a href="#">あ</a></li> <li><a href="#">い</a></li> <li><a href="#">う</a></li> </ul> </div> <div id="yoko2"> <ul> <li><a href="#">あ</a></li> <li><a href="#">い</a></li> <li><a href="#">う</a></li> </ul> </div> </body> </html>

    • ベストアンサー
    • HTML
  • CSSを用いてリストを横並びにして、それを2行にまたがせる方法

    CSS を用いて、リストを横並びにしたのはいいのですが、そのリストの数が多く、2行にまたがらざるを得ません。 Firefox ですと枠内に入りきらないリストは自動的に改行して表示してくれるのですが、IE ですと入りきらないリストを右端に無理矢理表示(縦に伸びていきます)し、そのリストの次から2行目と移り変わります。 -- HTML -- <div id=content> <ul> <li><a href="">AAA</a></li> <li><a href="">BBB</a></li> <li><a href="">CCC</a></li> <li><a href="">DDD</a></li> <li><a href="">EEE</a></li> <li><a href="">FFF</a></li> </ul> </div> -- CSS -- #content ul { padding: 0; margin: 0; list-style-type: none; } #content li { float: left; display: block; padding: 2px 10px 0 5px; margin: 0; list-style-type: none; } 上記の例ですとEEEが1行目に入りきらない場合、Firefox では、EEEが2行目へとなって後が続きます。 IEですと EEE のうち E 1文字だけでも入ると残りの2文字は下方へずれて行きます。そして、FFFから2行目となります。 このIEでの不具合で良い解決法があれば、ご教授願います。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • リストで間が開いてしまう・・・

    xhtml&cssでサイト作成を行っているのですが、 リストをインラインでならべて、 list-style-type: none; でリストの黒丸を消して、 そこに画像を入れてならべようと思ったのですが、 画像と画像の間に隙間が開いてしまいます。 ソースはこちらです。 ---XHTML------------------------- <div id="@"> <ul> <li> <img src="@" /> </li> <li> <img src="@" /> </li> <li> <img src="@" /> </li> </ul> </div> ----XHTML---------------------------------- ----CSS------------------------------------ div#@@@@ ul{ display: inline; list-style-type: none; margin: 0px; padding: 0px; } div#@@@@ li{ display: inline; list-style-type: none; margin: 0px; padding: 0px; } ----CSS------------------------------------ 念のために、ulとliの両方を指定しておきました。 (通常は、liだけでよいです。) このとおりになるのですが、 これで、隙間をなくす方法を知っていたら教えてください! お願いします!

  • CSSのリストスタイルについて

    別の人が作成したホームページの更新をしています。 そのホームページ全体に ul と li に list-style-noneのスタイルシートがかかっています。 新規に作成するページで 数字のリスト 1.目次 2.手引きについて 3.今後の流れについて というような数字のリストを作成したいのですが <ol> <li>目次</li> <li>手引きについて</li> <li>今後の流れについて</li> </ol> とすると通常目次についての前に数字の1が 手引きについての前に数字の2が表示されるかと思うのですが 表示されません。 ulとliのlist-style-noneになってるからなのですが これは他のページがくずれるので解除できません。 どのような記述をすれば表示されるでしょうか? 初歩的な質問で申し訳ありませんが ご回答よろしくお願いいたします。

    • ベストアンサー
    • CSS
  • CSSでリスト[li]の表示がズレる

    HTMLの無料テンプレートを使おうとこちら http://simple.sub.jp/temp.htm からEタイプ(サイズ固定)をダウンロードしたのですが ローカルで見てみるとfirefoxでヘッダー下のリンク(liで記述)がずれます。 添付画像:firefoxでのスクリーンショット 修正しようと見てみましたがどこが悪いのか分かりません。 「.topnavi li」だと思うのですが、どこが悪いのでしょうか? ご指摘お願いいたします。 HTMLの該当部分 <div id="banner"> <h1><a name="TopofPage">ここにサイトのタイトル</a></h1> </div> <div class="topnavi"> <ul> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> <li><a href="#">リンク</a></li> </ul> </div> cssの該当部分 .topnavi{ float:left; width:100%; background:#99ccff; border-width:1px 0 1px 0; border-style:solid #999; height:20px; } .topnavi li{ display:block; float:left; width:125px; text-align:center; font-size:1.2em%; list-style-type:none; }

    • ベストアンサー
    • HTML
  • CSSで<ul><li>タグを使ってどのブラウザでも同じように表示させたい。

    .ul { width: 120px; height: auto; float: left; font: 12; line-height: 150%; padding: 0; list-style-image: url(img/side-tab.gif); } .li { font-size: 12px; margin-left: 1.5em; } <ul class="○○○"> <li>11111</li> <li>22222</li> <li>33333</li> <li>44444</li> <li>55555</li> <li>66666</li> </ul> このようなコードでlistの頭には画像を使いたいのですが、どうしてもブラウザごとに表示がばらばらになってしまいます。 横幅は185pxまででおさめて、かつlistの画像とテキストが同じ列に表示されるようにしたいと考えています。 唯一firefoxだけが思うように表示できました。 IE6と7でも違う表示になりました(IE6だとかなり右寄り) operaに関しては画像とテキストの縦位置がずれてしまっていました。 CSSに関してはいろいろいじってて、なにがなんだがわからない状態になってしまいました・・ これを一つのCSSできれいに表示することは不可能でしょうか? どうかよろしくお願致します。

    • ベストアンサー
    • HTML
  • CSSリストタグ

    <div class="test_box_1"> <ul> <li>テキスト <img src="img/icon.gif" width="20" height="20"></li> <li>テキスト</li> <li>テキスト</li> <li>テキスト</li> <li>テキスト</li> <li>テキスト</li> <li>テキスト</li> <li>テキスト</li> </ul> </div> こういった記述をして、リストの横にアイコン画像を出そうとしたのですが、 アイコンを入れると、バランスが崩れます。 (アイコンを入れた下に余白ができてしまったり。) アイコンの高さを小さくしてみたりといろいろやってみたのですが できません。 制御する方法はあるのでしょうか? ちなみに、CSSはこのように記述しています。 .test_box_1 ul { list-style-type: none; width: 100%; margin: 10px 0px 0px 10px; } .test_box_1 li { display: block; width: 30%; background-image: url(../images/list_arrow2.gif); background-repeat: no-repeat; background-position: 0px 3px; padding-left: 10px; float: left; } よろしくお願いします!

    • ベストアンサー
    • HTML
  • CSSでテーブルのように画像を均等表示させるには?

    お世話になります。CSS初心者です。 もしかしたらweb制作者様にとっては簡単なことかもしれませんが、いろいろ調べてもよく理解できなかったので、どうか教えてください。 添付画像のようなレイアウトでサイト制作しています。 このように#rightbox内に10の画像を均等に表示させたいと思っています。 かつてテーブルタグといったものが使われていましたが、現在テーブルは推奨できないということで、外部CSSファイルでレイアウト表示させたいと考えています。 このようなレイアウトで表示させる場合、どのようなCSSの記述が好ましいでしょうか。 参考書などで調べたところ<ul>と<li>要素を使用するのが一般的だということでしたが、正直よく分かりませんでした。どうかご教授お願いします。 ちなみにこの画像のリストはクリックするとThickboxで大きな画像が表示されるようにしたいです。

    • ベストアンサー
    • HTML
  • リストの左余白の削除方法

    <li>リストを作成した再に表示されてしまう、左余白部分を削除して、画面左に詰めたいのですが、上手く出来ません。 どなたかご教授頂けませんでしょうか? =>CSS記述<= ul li { list-style: none; margin: 0px; padding: 0px;} =>HTML記述<= <ul> <li><a href="#">サンプル</a></li> <li><a href="#">サンプル</a></li> <li><a href="#">サンプル</a></li> <li><a href="#">サンプル</a></li> </ul>

    • ベストアンサー
    • CSS
このQ&Aのポイント
  • 厚労省などの中央省庁や都道府県市区町村などの官公署では、職域接種は実施されていないことが印象的ですが、実際はどうなのでしょうか?
  • 厚労省の9割がワクチン未接種という情報は根拠不明であり、真偽を確認する必要があります。実際には、職域接種が実施されている場合もあるので、どのような状況なのか気になります。
  • 自治体では既に5~11歳向けの集団接種が行われており、将来的には子供も含めた職域接種が行われる可能性があると考えられます。職域接種の範囲が広がることで、より多くの人々がワクチンを受ける機会が増えるかもしれません。
回答を見る