電子書籍の厳選無料作品が豊富!

HTMLで横幅をCSSで設定できません。

headerを作成しているのですが、画像のように横幅が外枠の
wrapperをはみ出して表示されてしまいます。
はみ出した値は5pxとpaddingで指定した値と一致します。

headerをtableタグで作成した場合、横幅700pxの枠中での
padding-left:5px;になり、横幅には変化はありません。

しかし、<div id="header">で横幅を700pxとし、
padding-left:5px;とすると、headerの横幅が
5px増えてしまいます。

<div id="header">の横幅を変化させずに、
paddingを指定することは可能なのでしょうか。
わかる方いらっしゃいましたら宜しくお願い致します。


■HTML
<html>
<body>
<div id="wrapper">
<div id="header"></div>
</div>
</body>
</html>

■CSS
#wrapper {
width: 700px;
}
#header {
width: 700px;
padding-left: 5px;
}

「HTMLで横幅をCSSで設定できません。」の質問画像

A 回答 (3件)

ブロックの幅ってのはwidth+padding+border-widthですから、(テーブルは異端)


境界線が無いとしてheaderのwidthを数値で指定するなら適正値は695pxです。
違う値を書いておいて、それをなんとかしていってのは結構無茶。
変に値を書くより、width:auto≒widthを省略、が最もすっきりすると思いますが。

例えばそれがどうしてもいじれない場所に書いてあるなら、再定義するとか。
#header {
width: 700px;
padding-left: 5px;
}
以下を追記して値を上書きする。
#header {
width: 695px;
}

この回答への補足

width:autoとした場合、自動設定されるのですが、
widthの大きさはどこと同じに合わせられるのでしょうか。

補足日時:2010/02/24 18:25
    • good
    • 0

div#header {


width: 100%;
padding-left: 5px;
}
でよいはず。

この回答への補足

回答有難うございました。
XHTMLで作成していますができませんでした。
wrapperの700px+padding-left: 5px;=705pxになります。

補足日時:2010/02/26 19:23
    • good
    • 0

上の指定は、正しいですが。


下の指定は、ブラウザにより表示方法が異なりますが。
Safariでは、705pxの横幅になりますよ。
上記のため、下の指定は使用していません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!