質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

2489閲覧

box-sizing:border-boxを適用しているにも関わらず、paddingがwidthに含まれない理由が分かりません

newyee

総合スコア213

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2018/11/21 11:06

box-sizing:border-boxを適用しているのですが、paddingを当てた部分がwidthに反映されないです。

html

1<header class="flex"> 2 <div class="header_left_column"> 3 <h1>Dotinstall Pane</h1> 4 <p>ドットインストールを見ながら 5 コーディングができるAtomパッケージ 6 </p> 7 8 <div class="header_left_link"><a href="#">詳細を見る</a></div> 9 </div> 10 <div class="header_right_column"> 11 <img src="img/top.png" width="700px"> 12 </div> 13 14 </header>

css

1*{ 2 box-sizing:border-box; 3} 4header{ 5 background-image:url(img/bg.png); 6 padding:40px 0 0 50px; 7} 8.flex{ 9 display:flex; 10} 11.header_left_column{ 12 margin-left:62px; 13} 14.header_right_column{ 15 margin-left:200px; 16} 17.header_left_column h1{ 18 font-size:50px; 19 color:#fff; 20} 21.header_left_column p{ 22 color:#fff; 23 white-space: pre-line; 24 line-height:1.5; 25 font-size:18px; 26} 27.header_left_link a{ 28 width:100%; 29 text-decoration:none; 30 color:orange; 31 display:inline-block; 32} 33.header_left_link{ 34 35 text-align:center; 36 border-radius:6px; 37 background-color:#FFFAF0; 38 padding:20px; 39 opacity:1; 40 41} 42 43.header_left_link a:hover{ 44 opacity:1; 45}

上記のコードなのですが、「header_left_link」に指定しているpaddingをwidthに含め、結果的に、「header_left_link a」のクリックできる箇所をボックス全体にしたいと考えているのですが、widthがpaddingの範囲に含まれておらず、paddingを適用している箇所はクリックできません。
何故、box-sizing:border-boxを適用しているにも関わらず、paddingがwidthに含まれないのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

.header_left_linkpaddingプロパティを適用したときに広がるのは、.header_left_linkpadding領域であり、a要素内のリンク領域が広がるわけではありません
今回の場合、.header_left_link aに対してpaddingプロパティを設定することで、質問者さんが実現したいことが行えると思います(動作確認用リンク)。

CSS

1* { 2 box-sizing: border-box; 3} 4header { 5 background-image: url(img/bg.png); 6 padding: 40px 0 0 50px; 7} 8.flex { 9 display: flex; 10} 11.header_left_column { 12 margin-left: 62px; 13} 14.header_right_column { 15 margin-left: 200px; 16} 17.header_left_column h1 { 18 font-size: 50px; 19 color: #fff; 20} 21.header_left_column p { 22 color: #fff; 23 white-space: pre-line; 24 line-height: 1.5; 25 font-size: 18px; 26} 27.header_left_link a { 28 width: 100%; 29 text-decoration: none; 30 color: orange; 31 display: inline-block; 32 padding: 20px; /* 追記 */ 33} 34.header_left_link { 35 text-align: center; 36 border-radius: 6px; 37 background-color: #fffaf0; 38 /* padding: 20px; 削除 */ 39 opacity: 1; 40} 41 42.header_left_link a:hover { 43 opacity: 1; 44}

投稿2018/11/21 11:15

編集2018/11/21 11:21
s8_chu

総合スコア14731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

newyee

2018/11/21 11:23

解決できました。ご丁寧にサンプルまでありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問