CSSデザインカタログ » list » li に dl をネストしたリスト : list611

サンプル

  1. ライティング
    テキストテキストテキストテキストテキストテキストテキスト。
  2. XHTMLコーディング
    テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト。テキストテキストテキストテキストテキストテキストテキスト。
  3. カンプデザイン
    テキストテキストテキストテキストテキストテキストテキストテキストテキスト。
  4. CSSコーディング
    テキストテキストテキストテキストテキスト。テキストテキストテキストテキストテキストテキストテキストテキストテキスト。

ソース

XHTML
<ol class="list611">
  <li>
    <dl>
      <dt>ライティング</dt>
      <dd>テキストテキスト......</dd>
    </dl>
  </li>
  <li>
    <dl>
      <dt>XHTMLコーディング</dt>
      <dd>テキストテキスト......</dd>
    </dl>
  </li>
  <li>
    <dl>
      <dt>カンプデザイン</dt>
      <dd>テキストテキスト......</dd>
    </dl>
  </li>
  <li>
    <dl>
      <dt>CSSコーディング</dt>
      <dd>テキストテキスト......</dd>
    </dl>
  </li>
</ol>

CSS
ol.list611 li {
  margin-top: 1em;
  margin-bottom: 1em;
  list-style: decimal;
  font-size: 200%;
  font-weight: bolder;
  font-style: italic;
  color: #CCC;
}

ol.list611 li dl {
  font-size: 50%;
  font-style: normal;
  color: #333;
}

ol.list611 li dl dd {
  font-weight: normal;
}

* html ol.list611 li dl { /*for IE6 */
  display: inline;
}

*:first-child+html ol.list611 li dl { /*for IE7 */
  display: inline;
}

解説

  • まず,li要素にfont-size: 200%;をあて,リストマークとなる番号を大きなフォントにしています。liにネストされたdl要素にfont-size: 50%;をあてもとのサイズに戻します。
  • lidlをネストした場合,EI6,7でリストマークのあとが空行になり,最初のリストマークが表示されなくなります。これを防ぐためにIE6,7用のハックをあてています。詳しくは li要素にdl要素を入れてみる | d-spica を参考にしてください。