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

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

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

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

HTML5

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

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

HTML

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

CSS

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

Q&A

解決済

1回答

5074閲覧

親要素の中に子要素が入らない

Sakupi

総合スコア17

CSS3

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

HTML5

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

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/10/22 13:33

実現したいこと

bootstrapをメインに用いてサイトの模写コーディングをしています。
おや要素の中に子要素が収まっていないように見えるので、どうしてか知りたいです。

問題点・エラーコード

おや要素はbody > div.body-boxで、文章ブロック以外の子要素(例えば画像やformです)が以下の写真のようにbody > div.body-boxからはみ出してしまっています。ちゃんとbody > div.body-boxで覆っているつもりですが、どうしてでしょうか?
どなたかお時間ある方、教えていただきたいです。
参考画像

HTML

1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <!-- Required meta tags --> 5 <meta charset="utf-8"> 6 7 <!-- Bootstrap CSS --> 8 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous"> 9 10 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 11 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 12 <link rel="stylesheet" href="responsive.css"> 13 14 15 <link href="https://use.fontawesome.com/releases/v5.15.1/css/all.css" rel="stylesheet"> 16 <link rel="stylesheet" href="style.css"> 17 18 <title>airbnb</title> 19 </head> 20 <body class="container-fluid"> 21 <div class="body-box"> 22 23 <header class="row"> 24 <ul> 25 <li class="col-sm-1 col-lg-3 fab fa-airbnb h-100 bg-warning"><a href="#"></a></li> 26 <li class="col-sm-1 col-lg-3"><a href="#">概要</a></li> 27 <li class="col-sm-1 col-lg-3"><a href="#">準備</a></li> 28 <li class="col-sm-1 col-lg-3"><a href="#">安全</a></li> 29 <li class="col-sm-1 col-lg-3"><a href="#">マネープラン</a></li> 30 </ul> 31 </header> 32 33 <top class="row"> 34 <div class="top-img col-sm-12 col-lg-12"> 35 </div> 36 37 <div class="top"> 38 <section class="t-1"> 39 <h2> 最大ホスティング収入: 40 <span>¥ 70,941 </span>/1か月、エリア: 41 Fukuoka</h2> 42 <a href="#">予想ホスティング収入額の計算方法</a> 43 </section> 44 <section class="t-2"> 45 <h2>予想ホスティング収入額を更新するにはお部屋についてさらに詳しくお聞かせください</h2> 46 <form action="#" method="POST" name="information" class="information"> 47 <input type="text" name="location"> 48 <select name="roomtype"> 49 <option value="まるまる貸し切り"> まるまる貸し切り</option> 50 51 </select> 52 <select name="member"> 53 <option value="0">ゲスト0人</option> 54 55 </select> 56 </form> 57 58 <div class="hidden"> 59 <input type="checkbox" id="hidden-input"> 60 <label for="hidden-input" class="fas fa-plus">ゲストが利用できる特別なスペースがあればお知らせください</label> 61 <div class="hidden-form"> 62 <form action="#" method="POST" name="building-type"> 63 <select name="building-type"> 64 <option value=" マンション・アパート">マンション・アパート</option> 65 66 </select> 67 <select name="bedroom"> 68 <option value=""hidden>寝室</option> 69 70 </select> 71 <select name="bathroom"> 72 <option value=""hidden>バスルーム</option> 73 74 </select> 75 </form> 76 77 </div> 78 79 <input type="checkbox" id="hidden-input-2"> 80 <label for="hidden-input-2" class="fas fa-plus">特別なアメニティ・設備の追加</label> 81 <div class="hidden-form-2"> 82 <p>ゲストに人気の特別なアメニティ・設備がある場合は、お知らせください</p> 83 <form action="#" method="POST" class="check-b"> 84 85 <div class="check-content"> 86 <div class="check-contents"><input type="checkbox" id="hid-2-1"><label for="hid-2-1">ジム</label></div> 87 88 89 90 </form> 91 </div> 92 93 </div> 94 95 </div> 96 <button type="button" class="top-btn" value="get-started!">リスティングの掲載をはじめる</button> 97 </section> 98 99 </top> 100 101 <main > 102 <div class=" main row"> 103 104 <div class="col-sm-12 col-lg-6"> 105 <h2>Airbnbでホストするこれだけの理由</h2> 106 <p>どんなお家やお部屋でも、Airbnbなら簡単かつ安全にシェアでき、世界中の旅好きな仲間とつながれます。 予約可能日から料金、ハウスルール、ゲストとの交流程度まで、すべて自分で決めることができます。</p> 107 </div> 108 <div class="col-sm-12 col-lg-6"> 109 <h2>困ったときも安心</h2> 110 <p>万一に備えるUS$1,000,000の財物補償、US$1,000,000の賠償責任保険が全予約に自動付帯。ホストのみなさまと建物・家財の安全をお守りするため全力で取り組んでいます。</p> 111 </div> 112 <div class="col-sm-12"> 113 <h1>3ステップでホスティング</h1> 114 </div> 115 <div class="col-sm-12"> 116 <i class="far fa-check-circle"></i> 117 <h2>無料でお部屋を掲載</h2> 118 <p>共有のリビングルームから別荘に至るまで、どんなスペースでも登録料なしで共有しましょう。 119 </p> 120 </div> 121 <div class="col-sm-12"> 122 <i class="far fa-check-circle"></i><h2>ホスティング方法を設定</h2> 123 <p>スケジュール、料金、ゲストへの要件をご自身で選択しましょう。 お困りの際にはいつでもサポートいたします。</p> 124 125 </div> 126 <div class="col-sm-12"> 127 <i class="far fa-check-circle"></i> 128 <h2>はじめてのゲストが来ます!</h2> 129 <p>リスティングが掲載されると、条件にかなったゲストから連絡を受けとることができます。 ゲストの到着前に質問があればメッセージを送信できます。</p> 130 <p><a href="#">ホストをはじめる方法をチェック</a></p> 131 </div> 132 <div class="steps-img col-sm-12"> 133 134 </div> 135 <div class="col-sm-12"> 136 <p>“</p> 137 <h3>「ホスト保証」があったからAirbnb参加を決めたといっても過言でないほどで、被害やトラブルがあったときに頼れるサポートがあるのは本当にありがたいですね.</h3> 138 <p>Dennisさんはロンドンのホスト。自由度の高さに魅力を感じています</p> 139 <button type="button" class="btn btn-outline-secondary">ホスト実践例をチェック</button> 140 141 </div> 142 <div class="col-sm-12"> 143 <h1>万一のときも安心です</h1> 144 </div> 145 <div class="col-sm-12"> 146 <p>大切なお家にお迎えする相手選びは、信頼第一で進めたいですよね。 その思いに応えるため、Airbnb。</p> 147 <p><a href= 148 "#">ホストを守るAirbnbの仕組みをチェック</a></p> 149 </div> 150 <div class="col-sm-12"> 151 <ul> 152 <li><i class="fas fa-check"></i>予約前に政府発行の身分証明書を求める権限</li> 153 154 </ul> 155 </div> 156 <div class="safety-img col-sm-12"> 157 158 </div> 159    </div> 160 </body> 161</html>

css

1*{ 2 box-sizing: border-box; 3} 4.container-fluid{ 5 padding: 0%; 6} 7.body-box{ 8 padding: 0 10%; 9} 10header ul{ 11 margin: 0%; 12 padding: 0%; 13 display: flex; 14 justify-content: start; 15 list-style: none; 16 align-items: center; 17 text-align: center; 18} 19.fa-airbnb{ 20 font-size: 14px; 21 line-height: 70px; 22} 23.top-img{ 24 width: 100%; 25 padding-top: 50%; 26 background-image: url(image/istockphoto-1207862114-170667a.jpg); 27 object-fit: fill; 28 background-size: cover; 29 30} 31.t-1 h2{ 32 font-size: 40px; 33 font-weight: 800; 34 line-height: 42px; 35 color: #222222; 36} 37.t-1 span{ 38 color: #E41E57; 39} 40.t-1 a{ 41 color: #222222; 42 text-decoration: underline; 43} 44.information{ 45 display: flex; 46 flex-direction: column; 47} 48.information input,select{ 49 width: 100%; 50} 51#hidden-input{ 52 display: none; 53} 54#hidden-input-2{ 55 display: none; 56} 57#hidden-input-2+label { 58 padding: 0%; 59 margin: 0%; 60 height: 0; 61 overflow: hidden; 62 opacity: 0; 63} 64.hidden-form{ 65 padding: 0%; 66 margin: 0%; 67 height: 0; 68 overflow: hidden; 69 opacity: 0; 70} 71 72#hidden-input:checked~.hidden-form{ 73 padding: 10px 0; 74 height: auto; 75 opacity: 1; 76 overflow: visible; 77} 78 #hidden-input:checked~#hidden-input-2+label{ 79 padding: 10px 0; 80 height: auto; 81 opacity: 1; 82 overflow: visible; 83 } 84 85.hidden-form-2{ 86 padding: 0%; 87 margin: 0%; 88 height: 0; 89 overflow: hidden; 90 opacity: 0; 91} 92#hidden-input-2:checked~.hidden-form-2{ 93 padding: 10px 0; 94 height: auto; 95 opacity: 1; 96 overflow: visible; 97} 98.t-1{ 99 border-bottom:1px gray solid; 100 padding-top: 24px; 101 padding-bottom: 34px; 102} 103.t-1 a{ 104 padding-top: 22px; 105} 106.t-2 h2{ 107 margin: 32px 0 32px 0; 108 line-height: 24px ; 109 font-size: 18px; 110 color: #222222; 111 font-weight: 400; 112} 113.information input,select{ 114 height: 55px; 115} 116.hidden-form-2 form{ 117 display: flex; 118 justify-content: start; 119 height: 144px; 120 width: 100%; 121} 122.hidden-form-2 label{ 123 font-size: 16px; 124 line-height: 20px; 125 font-weight: 400; 126 color: #222222; 127} 128.check-content{ 129 width: 144px; 130} 131.check-contents{ 132 margin-bottom: 24px; 133 display: flex; 134 align-items: flex-start; 135} 136.check-contents input{ 137 transform: scale(1.5); 138 margin: 0px 10px; 139} 140.top-btn{ 141 background-color: #E61E52; 142 border-radius: 5px; 143 height: 55px; 144 line-height: 55px; 145 width: 100%; 146 text-align: center; 147 border: none; 148 color: #fff; 149} 150 151 152

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

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

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

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

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

guest

回答1

0

ベストアンサー

Bootstrapのrowクラスには、下記のように左右にネガティブマージンが設定してあります。
そのため、親要素より15px分はみ出します。

css

1.row { 2 display: -ms-flexbox; 3 display: flex; 4 -ms-flex-wrap: wrap; 5 flex-wrap: wrap; 6 margin-right: -15px; 7 margin-left: -15px; 8}

rowクラスは、containerクラスまたはcontainer-fluidクラスの子要素に設定するという前提になってます。containerクラスまたはcontainer-fluidクラスには、下記のように左右パディングが15pxに設定してあります。

css

1padding-right: 15px; 2padding-left: 15px;

rowのネガティブマージンとcontainerのパディングが相殺し合ってcontainerの幅とrowの幅が同じになるような設計になってます。

質問のHTMLは、container-fluid > body-box > row という親子関係になってますので、想定の相殺が無効になり、rowのネガティブマージン分body-boxの幅からはみ出しています。

投稿2020/10/22 15:01

hatena19

総合スコア34075

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

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

Sakupi

2020/10/22 15:11

回答ありがとうございます! おっしゃるとおり、rowのデフォルトのマージンのせいでした! containerも、rowもmarginを0に設定したらうまくいきました ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問