とりあえず 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だと先頭のアンダースコアが無視されるバグ利用)アレな解決方法で放置したのですが、納得いかない。
なんか簡単すぎるような解決策がありそうだけど頭悪いので思いつかない。はげる。
わけわかめ width は内容幅
関連エントリー
- わけわかめ width は内容幅 とりあえず width は内容幅。心の奥底で width = 内容幅 + padding + margin + border とか思っている...
- #navi ul.toc li a, #toc ul li a, #toc ol li a { display: block; _width: 100%; /* for IE *...
- CSS で面倒くさいのは ブラウザ間のアレなんだから、あんまり CSS 書くこと自体を面倒くさいことにしないほうがいいよね、って思うんだ。 ところで自分が CSS を...
- border-collapse: collapse; Gecko で border-collapse: collapse; つかうとバグるような。padding がシカトされる。 collaps...
- #navi a:hover, #description a:hover, #toc a:hover { color: #fff; background: #000; te...