ホームページ作成/リストの表示・装飾 (HTML,CSS)

リスト(ul要素)を装飾した際の表示差を解消(3ページ目)

ul要素とli要素で作る「リスト」(箇条書きなど)をスタイルシートで装飾したとき、ブラウザによって表示が大きく異なってしまった経験はありませんか?リストの装飾でのブラウザ間の差について原因と対策をご紹介。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

ブラウザ間の差をなくすスタイルシート

「IE」と「IE以外」のブラウザ間にある表示上の差は、ul要素に対して標準で、IEでは「マージン(margin/外側の余白)」が加えられており、 IE以外では「パディング(padding/内側の余白)」が加えられているのが原因でした。
表にまとめると以下のようになります。

IEとそれ以外での余白の違い
 

marginプロパティとpaddingプロパティのデフォルト値(標準の値)が異なっているのが原因ですから、 marginとpaddingの値を両方指定しておけば、表示上の差をなくせます。
例えば、「IE以外」のブラウザでの表示に合わせたい場合は、以下のスタイルを記述します。

ul {
    margin-left:  0em;
    padding-left: 2em;
}

marginをゼロにし、paddingを使って余白を作っています。
このスタイルを適用させると、リストの表示は以下のようになります。

ブラウザ間の差をなくした例(IE以外のスタイルに合わせた場合)
▲上側:Internet Explorer / 下側:Firefox(Opera・Safari・Chromeも一緒)

IEもFirefoxも同じ表示になっていますね。
このようにしておけば、枠線の位置や背景色の範囲がブラウザごとに異なってしまう問題を解消できます。

また、「IE」での表示に合わせたい場合は、以下のスタイルを記述します。

ul {
    margin-left:  2em;
    padding-left: 0em;
}

先ほどとは逆に、paddingをゼロにして、marginを使って余白を作っています。
このスタイルを適用させると、表示は以下のようになります。

ブラウザ間の差をなくした例(IEのスタイルに合わせた場合)
▲上側:Internet Explorer / 下側:Firefox

このように、marginプロパティとpaddingプロパティ両方の値を指定しておけば、表示上の差をなくすことができます。

おわりに

今回は、ul要素とli要素で作る「リスト」をスタイルシートで装飾したときに、ブラウザによって表示が異なってしまう問題を解決する方法をご紹介いたしました。 リストを装飾する際に、ぜひご活用下さい。

【編集部おすすめの購入サイト】
楽天市場でホームページ作成関連の書籍を見るAmazon でホームページ作成の参考書を見る
  • 前のページへ
  • 1
  • 2
  • 3
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます