• 締切済み

リスト項目の要素

CSSでリスト項目 li にmarginやpaddingを指定できるようですが、 リスト項目 li はブロックレベル要素とインライン要素の どちらになるんでしょうか?

みんなの回答

回答No.2

XHTML 1.0 DTD的な視点でいうなら <!ENTITY % special.pre "br | span | bdo | map"> <!ENTITY % special "%special.pre; | object | img "> <!ENTITY % fontstyle "tt | i | b | big | small "> <!ENTITY % phrase "em | strong | dfn | code | q | samp | kbd | var | cite | abbr | acronym | sub | sup "> <!ENTITY % inline.forms "input | select | textarea | label | button"> <!-- these can occur at block or inline level --> <!ENTITY % misc.inline "ins | del | script"> <!-- these can only occur at block level --> <!ENTITY % misc "noscript | %misc.inline;"> <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;"> <!-- %Inline; covers inline or "text-level" elements --> <!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*"> <!--================== Block level elements ==============================--> <!ENTITY % heading "h1|h2|h3|h4|h5|h6"> <!ENTITY % lists "ul | ol | dl"> <!ENTITY % blocktext "pre | hr | blockquote | address"> <!ENTITY % block "p | %heading; | div | %lists; | %blocktext; | fieldset | table"> <!ENTITY % Block "(%block; | form | %misc;)*"> <!-- %Flow; mixes block and inline and is used for list items etc. --> <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*"> どこにもli要素やdt要素,dd要素の話が出てきませんから、liは単独で存在していることになります。 ======== 次、CSSの話。 俺は何要素に何を割り当てるべき、って記述が仕様に含まれるかを知らないけれど Firefoxのブラウザのデフォルトスタイルシートである C:\Program Files\Mozilla Firefox\res\html.css を見ると li { display: list-item; -moz-float-edge: margin-box; } p, dl, multicol { display: block; margin: 1em 0; } html, div, map, dt, isindex, form { display: block; } dd { display: block; -moz-margin-start: 40px; } となっています さて、 marginプロパティは all elements except elements with table display types other than table-caption, table and inline-table table-captionとinline-table以外のtable関連のdisplayを、【持たない】全ての要素に適用できる、 と書かれていますから、この二つのどちらにも適用できます paddingプロパティは all elements except table-row-group, table-header-group, table-footer-group, table-row, table-column-group and table-column table-row-group, table-header-group, table-footer-group, table-row, table-column-group and table-columnでない全ての要素 なのでやっぱり適用できます

noname#63203
質問者

お礼

回答ありがとうございます。

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

<li>はブロック要素です。 (display特性はlist-itemですが) http://www.y-adagio.com/public/standards/tr_css2/visuren.html#display-prop

noname#63203
質問者

お礼

回答ありがとうございます。

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

関連するQ&A

  • リストで間が開いてしまう・・・

    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でメニューを作成しているのですが、下記のような記述でメニュー1の部分だけ違う色を指定したい場合、どのように記述すればよいのでしょうか? <html lang="ja"> <head> <style type="text/css"> ul#menu li { list-style-type: none; float: left; padding: 0px; line-height: 22px;font-size:14px;width: 110px; margin-left: 2px;} ul#menu li a { text-decoration: none; display: block; / padding: 5px; color: #black; background-color: #8BCFDE } ul#menu li a:hover { background-color: #ff9999; color: #black; } </style> </head> <body> <ul id="menu"> <li><a href="#/">メニュー1</a></li> <li><a href="#/">メニュー2</a></li> <li><a href="#/">メニュー3</a></li> <li><a href="#/">メニュー4</a></li> <li><a href="#/">メニュー5</a></li> <li><a href="#/">メニュー6</a></li> </ul> </body> </html>

    • ベストアンサー
    • HTML
  • CSSのdisplayプロパティについて

    スタイルシートのdisplayについてなのですが、ブロックレベル要素をインラインで表示したり、インライン要素をブロックレベルで表示するものですよね? ブロックレベル要素をインラインで表示する、というのはわかる気がするのですが、インライン要素をブロックレベル要素で表示する、というのはどういった時に、どういう理由で使用するのでしょうか? 同じくリスト項目として表示する(list-item)、などもリスト項目として表示するなら、はじめからhtmlでリストを作っておけばよいのでは?と思うのですが・・・。 初歩的な疑問かもしれませんが、どう使うものなのかよくわからないので、教えていただけるでしょうか? よろしくお願いします。

  • リストの一つの項目のみの右側に画像を表示させたい

    リストの一つ項目のみの右側に画像を表示させたいのですが、どうすれば良いのでしょうか? 具体的には自分のサイトの既存のリストに新しい項目を付け加えた時にその後ろに"new"を表す画像を表示させたいのですが。(下記■の部分に) ・りんご ・バナナ ・みかん ・メロン■ 出来ればCSSで設定したいです。 htmlに直接画像を貼り付けても良いのですが、そうすると画像を貼り付けた行の前後だけline-heightが狂って(狭くなる)しまいます。これが解決できればhtml内への記述でも構いません。 **html** <ul> <li><a href="a.html">りんご</a></li> <li><a href="b.html">バナナ</a></li> <li><a href="c.html">みかん</a></li> <li><a href="d.html">メロン</a></li> </ul> ******************* **CSS** ul{ line-height: 170%; margin:0px; padding:0px 0px 30px 20px; } ****************** liに対して背景画像とその位置をpaddingで設定してやるのかなと考えましたが上手くいきません。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • CSSのpaddingは<body>タグに指定可能?

    CSSのmarignは<body>タグに以下のような形式で指定されているのを見かけますが、 例: margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rigiht:0px; W3Cの規定によると、paddingは<body>タグに指定可能なのでしょうか? 例: padding-top:20px; padding-bottom:20px; padding-left:20px; padding-rigiht:20px; W3Cの規定によると、marginとpaddingは、ブロックレベル要素及びインラインレベル要素に指定可能だと思います。 ブロックレベル要素とインラインレベル要素を区分けした表はよく見かけますが、<body>タグはブロックレベル要素に含まれていません。 <マージンとブロックレベル要素及びインラインレベル要素の関係> http://www.mozilla.gr.jp/standards/webtips0015.html <ブロックレベル要素とインラインレベル要素を区分けした表> http://riko.s235.xrea.com/shirley/reference008.htm <body>タグはブロックレベル要素と考え、ブロックレベル要素に適用できるスタイルは<body>タグにも指定できると解釈してよいのでしょうか? ブロックレベル要素に指定できて、<body>タグにも指定できないスタイルってありますか?また、ブロックレベル要素に指定できずに(インラインレベル要素に指定できて)、<body>タグにも指定できるスタイルってありますか?

    • ベストアンサー
    • HTML
  • NNでだけリストの一番上の項目がずれます。

    IE、Opera、Firefox では問題なく表示されますが、Netscapeでだけ、リストの最初の項目の位置がずれます。 どうやら、CSSの li {margin: 0; padding: 4px;} が反映されていないようです。 <div id="xxx"><a name="aaa" />   <!-- Menu -->   <div class="navi">     <ul>       <li><a href="#aaa">ホーム</a></li>       <li><a href="#bbb">あいう</a></li>       <li><a href="#ccc">えおか</a></li>     </ul>   </div>   <!-- Content -->   <div class="content">中身</div> </div> 「ホーム」がずれます。 正しく反映させる方法はありますでしょうか?

  • ブロックレベル要素とdisplay:block;

    ブロックというものがよくわかってないのですが、スタイルシートでdisplay:block;とした場合、インライン要素でもブロックレベル要素になるということでしょうか? タグによっては、「インライン要素を含むことはできません」などの制限のあるものがあると思いますが、スタイルシートでdisplay:block;として、インライン要素をブロックレベル要素にした場合はどうなるのでしょうか? またそもそも、元々ブロックレベルである要素と、display:block;によってブロックレベルにしたインライン要素は、同じと考えてもいいのでしょうか?

    • ベストアンサー
    • CSS
  • ol要素の番号とリスト項目の離れについて

    最近HPを作り始めた素人です。 DWでol要素を使って順序つきの項目リストを作っております。 DWのデザインウィンドウとIEだとちゃんとリスト項目の行頭に番号が表示されるのですが、Google Chromeで閲覧すると番号とリスト項目が離れて表示されてしまいます。 (番号は左寄り、項目は中央です。) 例 <ol> <li>アメリカ</li> <li>フランス</li> <li>イギリス</li> </ol> IE        1. アメリカ        2. フランス        3. イギリス Chrome 1.                            アメリカ 2.                            フランス 3.                            イギリス 因みにこのol要素をdiv idで囲んでいてText-alignをcenterにしております。 単純な間違いだとは思うのですが、知識不足のため分かりません。 恐れ入りますが、どなたかご教授お願いいたします。                      

  • WinIE5でリストに隙間ができる

    WinIE5で下記のCSSを実行すると、なぜか文字の下に隙間が出来てしまいます。 WinIE5.5、WinIE6等では隙間は出来ません。 なにかうまく解決する方法はありませんでしょうか。 よろしくお願いします。 ------------------------------ #nav ul { list-style: none; margin: 0; padding: 0; } #nav li { margin: 0; padding: 0; background: #e0861e; width: 100px; } <div id="nav"> <ul> <li>あいうえお</li> <li>かきくけこ</li> <li>さしすせそ</li> </ul> </div> ------------------------------

  • リスト(ul / li)タグの左インデントの解除

    HTML、CSSの初心者です。 リスト(ul / li)タグの左インデントの解除の仕方がわかりません。 IE系とMozila系でインデント解除の方法を教えていただけないでしょうか。 ◆現在の書き方 ----------------- ・HTML <ul id="navi"> <li>サンプル</li> <li>サンプル</li> <li>サンプル</li> <li>サンプル</li> <li>サンプル</li> </ul> ----- ・CSS #navi ul {list-style: none; margin: 0; padding: 0;} #navi li {list-style: none; float: left; margin: 0; padding: 0;} ----------------- よろしくお願いいたします。

印刷ができない
このQ&Aのポイント
  • mymio DCP-350Cの印刷トラブルについて相談します。コピーとパソコンからの印刷ができません。
  • Windows10で接続されたLANケーブル経由で印刷ができません。
  • 関連するソフトやアプリは特にありません。
回答を見る