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

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

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

HTMLの<div>タグです。<div>要素は特に意味を持っていません。ひとかたまりのコンテンツに使用されるか、(セマンティックとして)他の要素では記述できないコンテンツに使用されることが多いです。

HTML

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

CSS

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

Q&A

解決済

1回答

887閲覧

CSSが見本のように適用されない。divの分け方が問題ですか?

himari33

総合スコア1

div

HTMLの<div>タグです。<div>要素は特に意味を持っていません。ひとかたまりのコンテンツに使用されるか、(セマンティックとして)他の要素では記述できないコンテンツに使用されることが多いです。

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/12/26 05:27

前提・実現したいこと

プログラミング初心者です。
progateのhtml CSSの上級編の道場コースをやっています。

発生している問題・エラーメッセージ

途中で、background-colorの範囲が見本とは異なることに気がつきましたが、問題がわかりません。
レイアウトが思ったように分けられないのはどうしてでしょうか。

該当のソースコード

html

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Progate</title> <link rel="stylesheet" href="stylesheet.css"> <link rel="stylesheet" href="responsive.css"> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> </head> <body> <header> <div class="container"> <div class="header-left"> <img class="logo" src="https://prog-8.com/images/html/advanced/main_logo.png"> </div>
<div class="header-right"> <a href="#">レッスン</a> <a href="#">新規登録</a> <a href="#" class="login">ログイン</a> </div> <span class="fa fa-bars menu-icon"></span> </div> </header> <div class="top-wrapper"> <div class="container"> <h1>LEARN TO CODE.</h1> <h1>LEARN TO BE CREATIVE.</h1> <div class="explanation"> <p>Progateはオンラインプログラミング学習サービスです。</p> <p>初心者にもやさしいスライドとレッスンで、ウェブサービスを作りながらプログラミングを学んでいきましょう。</p> </div> <div class="btn-wrapper"> <a href="#" class="btn signup top-btn">新規登録はこちら</a> <p>or</p> <a href="#" class="btn facebook top-btn"><span class="fa fa-facebook"></span>Facebookで登録</a> <a href="#" class="btn twitter top-btn"><span class="fa fa-twitter"></span>Twitterで登録</a> </div> </div> </div> <div class="lesson-wrapper"> <div class="container"> <div class="heading"> <h2>Learn Where to Get Started!</h2> </div> <div class="lessons"> <div class="lesson"> <div class="lesson-icon"> <img src="https://prog-8.com/images/html/advanced/html.png"> <p>HTML & CSS</p> </div> <p class="text-contents">ウェブページの作成に使用される言語です。HTMLとCSSを組み合わせることで、静的なページを作り上げることができます。</p> </div> <div class="lesson"> <div class="lesson-icon"> <img src="https://prog-8.com/images/html/advanced/jQuery.png"> <p>jQuery</p> </div> <p class="text-contents">素敵な動きを手軽に実装できるJavaScriptライブラリです。 アニメーション効果をつけたり、Ajax(エイジャックス)を使って外部ファイルを読み込んだりと色々なことができます。</p> </div> <div class="lesson"> <div class="lesson-icon"> <img src="https://prog-8.com/images/html/advanced/ruby.png"> <p>Ruby</p> </div> <p class="text-contents">オープンソースの動的なプログラミング言語で、 シンプルさと高い生産性を備えています。大きなWebアプリケーションから小さな日用ツールまで、さまざまなソフトウェアを作ることができます。</p> </div> <div class="lesson"> <div class="lesson-icon"> <img src="https://prog-8.com/images/html/advanced/php.png"> <p>PHP</p> </div> <p class="text-contents">HTMLだけではページの内容を変えることはできません。PHPはHTMLにプログラムを埋め込み、それを可能にします。</p> </div> </div> </div> </div> <div class="message-wrapper"> <div class="container"> <div class="heading"> <h2>さぁ、あなたもProgateでプログラミングを学んでみませんか?</h2> <h3>Let's learn to code, learn to be creative!</h3> </div> <span class="btn message">さっそく開発する</span> </div> </div> <footer> <div class="container"> <img src="https://prog-8.com/images/html/advanced/footer_logo.png"> <p>Learn to code, learn to be creative.</p> </div> </footer>
</body> </html>

CSS
/* -------------------- CSSは一番下から書き始めてください! -------------------- */

  • {
    box-sizing: border-box;

}

body {
margin: 0;
font-family: "Hiragino Kaku Gothic ProN";
}

a {
text-decoration: none;
}

.container {
max-width: 1170px;
width: 100%;
padding: 0 15px;
margin: 0 auto;
}

.top-wrapper {
padding: 180px 0 100px 0;
background-image: url(https://prog-8.com/images/html/advanced/top.png);
background-size: cover;
color: white;
text-align: center;
}

.top-wrapper h1 {
opacity: 0.7;
font-size: 45px;
letter-spacing: 5px;
}

.top-wrapper p {
opacity: 0.7;
}

.btn-wrapper {
text-align: center;
margin: 20px 0;
}

.btn-wrapper p {
margin: 10px 0;
}

.signup {
background-color: #239b76;
}

.facebook {
background-color: #3b5998;
margin-right: 10px;
}

.twitter {
background-color: #55acee;
}

.btn {
padding: 8px 24px;
color: white;
display: inline-block;
opacity: 0.8;
border-radius: 4px;
text-align: center;
}

.btn:hover {
opacity: 1;
}

.fa {
margin-right: 5px;
}

header {
height: 65px;
width: 100%;
background-color: rgba(34, 49, 52, 0.9);
position :fixed;
top: 0;
z-index: 10;
}

.logo {
width: 124px;
margin-top: 20px;
}

.header-left {
float: left;
}

.header-right {
float: right;
margin-right: -25px;
}

.header-right a {
line-height: 65px;
padding: 0 25px;
color: white;
display: block;
float: left;
transition: all 0.5s;
}

.header-right a:hover {
background-color: rgba(255, 255, 255, 0.3);
}

.lesson-wrapper {
margin-bottom: 80px;
padding-left: 5%;
padding-right: 5%;
background-color: #f7f7f7;
text-align: center;
}

.heading {
padding-top: 80px;
padding-bottom: 50px;
color: #5f5d60;
}

.heading h2 {
font-weight: normal;
}

.lesson {
float: left;
width: 25%;
}

.lesson-icon {
position: relative;
}

.lesson-icon p {
position: absolute;
top: 44%;
width: 100%;
color: white;
}

.text-contents {
width: 80%;
display: inline-block;
margin-top: 15px;
font-size: 13px;
color: #b3aeb5;
}

.heading h3 {
font-weight: normal;
}

.message-wrapper {
border-bottom: 1px solid #eee;
padding-bottom: 80px;
text-align: center;
}

.message {
padding: 15px 40px;
background-color: #5dca88;
cursor: pointer;
box-shadow: 0 7px #1a7940;
}

.message:active {
position: relative;
top: 7px;
box-shadow: none;
}

footer img {
width: 125px;
}

footer p {
color: #b3aeb5;
font-size: 12px;
}

footer {
padding-top: 30px;
padding-bottom: 20px;
}

/* -------------------- CSSはここから追加していきましょう! -------------------- */
.fa-bars{
color:white;
font-size:25px;
margin-top:21px;
}

.menu-icon{
display:none;
}

見本ページ

イメージ説明

私のページ

イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

.lesson要素にfloat: left;で横並びにしているのが原因ですね。
floatを設定すると浮いた状態になるので、親要素の高さが0になるためです。
また、次の要素も回り込んでしまってます。

「CSS float 解除」で検索すれば解決法は見つかると思います。
今なら、display: flow-root;を使う方法がお勧めです。
下記のコードを追加してみてください。

css

1.lessons { 2 display: flow-root; 3}

さらに言えば、float: left;で横並びにすること自体古い手法です。
いまなら、FlexBox を使って横並びにするのが主流です。
こちらの方がシンプルかつ自由度か高いです。

投稿2020/12/26 05:51

hatena19

総合スコア34075

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問