とりあえず width は内容幅。心の奥底で width = 内容幅 + padding + margin + border とか思っているので書いて戒めを。(width = 包含ブロックの幅 - padding - margin - border)
で、a 要素(何でも良いけど)を display: block にしてブロック全体でホヴァーを受けるようにするとします。Gecko は diplay: block だけで十分なのですが、IEだとテキスト部分しかホヴァー対象にならない。(でもホヴァーしたときに背景色だけは正常に変わる。今のこのサイトのスタイルシートだと左側のメニューがこれ)
んで width: 100% とかやればIEでもホヴァー対象がブロック全体に広がるんですけど、width は内容幅なので padding とかを指定してるともちろんハミだします(IEじゃハミださないけど)
というわけで、どうやったら親要素全体に padding(margin) を指定しつつ広げられるかはわからんという感じ。
とりあえず _width: 100% なんていう(IEだと先頭のアンダースコアが無視されるバグ利用)アレな解決方法で放置したのですが、納得いかない。
なんか簡単すぎるような解決策がありそうだけど頭悪いので思いつかない。はげる。

  1. トップ
  2. web
  3. わけわかめ width は内容幅
▲ この日のエントリ