パソコンQ&A

dtの入れ子のdl、dt、ddにスタイルを指定できない

Firefox ではdtの中にdlを入れ子にして

dl dt dl dt {
  margin:0;
  〜〜〜〜
}

のような指定はできない。

これはバグではなく、仕様通りです。

なぜならdtの内包可能要素はインライン要素だけであるからです。
DDの中にDL、DTを入れ子にするのは違反ではありません。
[参考記事] <DT> HTMLタグ辞典
[参考記事] <DD> HTMLタグ辞典

対象ブラウザ

Windows
Firefox
Mac
Firefox

回避方法

(1) DTの中にDLやDTを記述すること自体が文法違反なので、このような書き方をしない。

(2) どうしても指定したい場合には次のようにします。
HTML

<div id="test">
  <dl>
    <dt>
      <dl>
        <dt>テスト</dt>
        <dd>テスト</dd>
      </dl>
    </dt>
    <dd>テスト</dd>
  </dl>
</div>


CSS

/* 次のようにして入れ子の指定を書く */
div#test dl {

}
div#test dl dt {

}
div#test dl dd {

}

/* 次のようにして入れ子の指定を上書きし、親要素の指定を書く */
div#test>dl {

}
div#test>dl>dt {

}
div#test>dl>dd {

}

関連プロパティ


主要ブラウザに非対応

このページはリンクフリーです。設定などは自己責任で…
Copy Right kikky

kikky.net