ここから本文です

解決済みの質問

paddingが反映されません・・・

a58g3jp67n244txさん

paddingが反映されません・・・

テキストは左寄せ・幅を画面いっぱいに設定しました。
余白を設けようと思ってpaddingを入れてみました。
余白はできるのですが、横方向のスクロールバーが出てしまい困っています。

width: 100%; の記述があれば、スクロールバーは出ないはずですよね・・・


ソースです。余分なテキストは消しました。

<div id="honbun" align="left">
テキスト
</div>

#honbun {
clear: both;
width: 100%;
padding: 4px 10px;
}

補足
margin: 4px 10px;
と書いたとしたら、幅は「100%+(10px×2)=100%+20px」
となるのは分かるのですが、

paddingは内側の余白ですよね、となると、
「(10px×2)+残り=100%」になると思うんですよ・・・

違反報告

ベストアンサーに選ばれた回答

ycchiechieさん

> paddingは内側の余白ですよね、となると、
> 「(10px×2)+残り=100%」になると思うんですよ・・・

違いますね。
「100% (コンテンツの幅) + paddingのサイズ + borderのサイズ」 になります。
width:〇〇%は親要素に対して〇〇%、ルート要素であればブラウザの幅に対して100%です。
それにpaddingやborderを加えたらその分はみ出すので100%以上になります。

というわけでスクロールバーが出ている状態は「正しい状態」です。

ボックスモデル
http://www.y-adagio.com/public/standards/tr_css2/box.html

あとalign属性は廃止予定の属性なので消してCSSのtext-align:left;などを使って下さい。

質問した人からのコメント

  • 詳しい回答ありがとうございます。

    paddingにしても100%にはならないんですね・・・
    勉強になりました。
  • コメント日時:2012/3/5 20:30:44

グレード

この質問・回答は役に立ちましたか?
役に立った!

お役立ち度:お役立ち度 0点(5点満点中)0人が役に立つと評価しています。

ベストアンサー以外の回答

(2件中1〜2件)

並べ替え:回答日時の
新しい順
古い順

 

sitakirisuzume567さん

100%なら「widthは指定しない」で解決。

junjun_pipinさん

(追記)
あくまで、widthは、内容部分の範囲。
そして、それに追加した指定は全てプラスされます。
marginでも、paddingでも、borderでもです。

paddingは内側の余白と考えたくなる気持ちは分かりますが、あくまで、背景の範囲等が広がる指定…くらいの意味でしかありません。
widthのサイズからプラスして余白を取る指定であることには変わりがありません。


では、あなたの言うようにpaddingを計算するとしましょう。

幅200pxの画像があるとします。
<img src="画像" width="200">にpaddingを指定したら?
指定したpadding分だけ、白く画像は欠けてしまうんですか?
それとも、自動的に、200px未満に縮小表示されるべき…ですか?
あなたの言っている計算方法だと、そういう事になります。


そもそも、あなたの思う計算方法だと面倒臭いことが色々おこります。
widthのサイズ指定の単位にも色々あります。その中に、[em]なんて単位もあります。
この単位は、○文字分という単位です。

あなたの例の[テキスト]という本文なら、width:4emと指定してやれば、ブラウザの文字サイズに関わらず横幅を4文字分サイズにしてくれます。便利な指定方法の一つです。

でも、padding指定したら?
あなたの考え方で言ったら、どういう計算をして、widthのサイズを指定してやれば良いんですかね?

--------------------------------------------------------

パーセント指定というのは、その親要素に対して…という意味になります。
この場合だと、<body>です。つまりはブラウザの横幅サイズまんまが、100%の幅です。

そして、paddingなどは、その横幅にプラスされて計算されます。
この場合の左右のpaddingは10pxですから、あなたは横幅を[100%+20px]と指定しているんです。

スクロールバーが表示されても不思議ではありませんよね?

  • 違反報告
  • 編集日時:2012/3/2 00:37:29
  • 回答日時:2012/3/1 23:26:31
知恵ノートとは?

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。

お客様自身の責任と判断で、ご利用ください。

ただいまの回答者

00時42分現在

3368
人が回答!!

1時間以内に6,232件の回答が寄せられています。

>>回答ひろばに行く


知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する