質問: borderプロパティによる線の表示でdiv要素とp要素で囲った場合の違い 下の記述例で質問があります。 cssソース kbd { margin: 0 0.3em; padding: 0.1em 0.3em; border: 1px solid black; } htmlソース `keybord`と入力してください。 このような記述のとき、ie7ではkbd要素を囲っている下の線が消えてしまいます。 しかし、htmlソースを、 `keybord`と入力してください。 のようにdiv要素内にkbd要素をp要素で囲ってやると下の線が現われます。 div要素ではダメ(下の線が消える)なのに、なぜp要素では下の線が現われるのでしょうか?この違いが分かりません。 回答よろしくお願いします。
回答: > div要素ではダメ(下の線が消える)なのに、 > なぜp要素では下の線が現われる そりゃ、行の周囲の空き具合で、たまたまそうなったんでしょう。 ブラウザの既定のmarginが、div要素では狭くp要素では広かったと 推定されます。kbd要素がp要素の最後の行にレンダリングされてい なかったら、また違う結果になるでしょうね。 文字の周囲に装飾を予定しているのなら、line-heightを心持ち広め に取ることを推奨します。