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

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

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

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

HTML5

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

Q&A

解決済

1回答

22292閲覧

displayをnoneにしてるのに、消えない。

退会済みユーザー

退会済みユーザー

総合スコア0

CSS3

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

HTML5

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

0グッド

1クリップ

投稿2019/03/05 13:09

使用機器:MacBook Pro13インチ
使用ブラウザ:Chrome
使用エディタ:Atom

<header>タグの中の、 ``` <span class="fa fa-bars menu-icon"></span> ```

このメニューアイコンをスマホ用(width670px以下)のみに出したいのにも関わらず、
ブラウザで見るとメニューアイコンが消えていません。
イメージ説明

こちらはProgate上級コースで、最後の模範回答をそのままコピペしたのに、何故できないのでしょうか???
(linkのCSSや、awesomeのurlは多少変えていますが。関係ないと思います。)
ちなみにProgateのプレビューではちゃんと表示されているのです...。
訳わかりません。

HTML

1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>Progate上級コース</title> 7 <link rel="stylesheet" href="css/jokyu.css"> 8 <link rel="stylesheet" href="css/jokyu_responsive.css"> 9 <!-- <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> --> 10 <link href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" rel="stylesheet"> 11 </head> 12 <body> 13 <header> 14 <div class="container"> 15 <div class="header-left"> 16 <img class="logo" src="https://prog-8.com/images/html/advanced/main_logo.png"> 17 </div> 18 <!-- ここにメニューアイコンを追加してください --> 19 <span class="fa fa-bars menu-icon"></span> 20 21 <div class="header-right"> 22 <a href="#">レッスン</a> 23 <a href="#">新規登録</a> 24 <a href="#" class="login">ログイン</a> 25 </div> 26 </div> 27 </header> 28 <div class="top-wrapper"> 29 <div class="container"> 30 <h1>LEARN TO CODE.</h1> 31 <h1>LEARN TO BE CREATIVE.</h1> 32 <p>Progateはオンラインプログラミング学習サービスです。</p> 33 <p>初心者にもやさしいスライドとレッスンで、ウェブサービスを作りながらプログラミングを学んでいきましょう。</p> 34 <div class="btn-wrapper"> 35 <a href="#" class="btn signup">新規登録はこちら</a> 36 <p>or</p> 37 <a href="#" class="btn facebook"><span class="fa fa-facebook"></span>Facebookで登録</a> 38 <a href="#" class="btn twitter"><span class="fa fa-twitter"></span>Twitterで登録</a> 39 </div> 40 </div> 41 </div> 42 <div class="lesson-wrapper"> 43 <div class="container"> 44 <div class="heading"> 45 <h2>Learn Where to Get Started!</h2> 46 </div> 47 <div class="lessons"> 48 <div class="lesson"> 49 <div class="lesson-icon"> 50 <img src="https://prog-8.com/images/html/advanced/html.png"> 51 <p>HTML & CSS</p> 52 </div> 53 <p class="text-contents">ウェブページの作成に使用される言語です。HTMLとCSSを組み合わせることで、静的なページを作り上げることができます。</p> 54 </div> 55 <div class="lesson"> 56 <div class="lesson-icon"> 57 <img src="https://prog-8.com/images/html/advanced/jQuery.png"> 58 <p>jQuery</p> 59 </div> 60 <p class="text-contents">素敵な動きを手軽に実装できるJavaScriptライブラリです。 アニメーション効果をつけたり、Ajax(エイジャックス)を使って外部ファイルを読み込んだりと色々なことができます。</p> 61 </div> 62 <div class="lesson"> 63 <div class="lesson-icon"> 64 <img src="https://prog-8.com/images/html/advanced/ruby.png"> 65 <p>Ruby</p> 66 </div> 67 <p class="text-contents">オープンソースの動的なプログラミング言語で、 シンプルさと高い生産性を備えています。大きなWebアプリケーションから小さな日用ツールまで、さまざまなソフトウェアを作ることができます。</p> 68 </div> 69 <div class="lesson"> 70 <div class="lesson-icon"> 71 <img src="https://prog-8.com/images/html/advanced/php.png"> 72 <p>PHP</p> 73 </div> 74 <p class="text-contents">HTMLだけではページの内容を変えることはできません。PHPはHTMLにプログラムを埋め込み、それを可能にします。</p> 75 </div> 76 <div class="clear"></div> 77 </div> 78 </div> 79 </div> 80 <div class="message-wrapper"> 81 <div class="container"> 82 <div class="heading"> 83 <h2>さぁ、あなたもProgateでプログラミングを学んでみませんか?</h2> 84 <h3>Let's learn to code, learn to be creative!</h3> 85 </div> 86 <span class="btn message">さっそく開発する</span> 87 </div> 88 </div> 89 <footer> 90 <div class="container"> 91 <img src="https://prog-8.com/images/html/advanced/footer_logo.png"> 92 <p>Learn to code, learn to be creative.</p> 93 </div> 94 </footer> 95 </body> 96</html> 97

【jokyu.css】

* { box-sizing: border-box; } body { margin: 0; font-family: "Hiragino Kaku Gothic ProN", sans-serif; } a { text-decoration: none; } .clear { clear: left; } .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); } /* menu-iconのCSSを貼り付けてください */ .menu-icon { color: white; float: right; font-size: 25px; padding: 21px 0; display: none; } .lesson-wrapper { padding-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; }

【jokyu_responsive.css】

/* タブレット向けレイアウト */ @media all and (max-width: 1000px) { .lesson { width: 50%; margin-bottom: 50px; } footer { text-align: center; } .top-wrapper h1 { font-size: 32px; } .heading h2 { font-size: 20px; } } /* スマホ向けレイアウト */ @media all and (max-width: 670px) { .lesson { width: 100%; } .btn { width: 100%; } .facebook { margin-bottom: 10px; } .top-wrapper { text-align: left; } /* header-rightクラスのdisplayをnoneに指定してください */ .header-right { display: none; } /* menu-iconクラスのdisplayをblockに指定してください */ .menu-icon { display: block; } .top-wrapper h1 { font-size: 24px; } .top-wrapper p { font-size: 14px; } }

具体的に何が原因でこのような問題が起こっているのでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

まずはブラウザでデバッグしてみましょう。
以下、all.cssで.faクラスに対して指定しているdisplay: inline-blockが優先されてしまっています。
ここまでわかれば自力で解決できると思うのでがんばってください!

イメージ説明

投稿2019/03/05 15:09

yu-smc

総合スコア610

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

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

退会済みユーザー

退会済みユーザー

2019/03/05 15:38 編集

まず、ありがとうございます。 おっしゃる通り、ダウンロードしたawesomeの faクラスに確かに display: inline-block ついてますね。 これですか原因...。2時間近く考え込んでいまして...。悔しいです!!(でも原因は全て自分だから逆に楽しい。0か100かの世界が気持ち良いです笑) awesomeの導入法が少しProgateと違ったからなのでしょうか。 Progateでは、 <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> ↑これで、これだと個人のブラウザではできなかった為、 <link href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" rel="stylesheet"> ↑これにしました。 これにしても、普通cssを読み込む際には、『css/』だったり、『../css』だったりと相対パスで読み込むものと理解してましたが、なんかコレ違うのですね?? この「何故違う」を突き詰めたら相当な時間かかりそう&疲れるので突き詰めていませんが...。 awesomeでダンロードした cssフォルダの faクラスのinline-block消したら解決しました。 awesomeも反映させるには、相対パスの概念無視の特別なルールがあるんでしょうか?
yu-smc

2019/03/05 15:45

CSSファイルのhref属性についてですが、上記のようなものはCDNと呼ばれ、相対パスで読み込むものとは違いサーバーにアップロードされているものを読み込んで使っています(メリットとしては表示の高速化などあります)。font-awesomeに詳しくないのでわかりませんが、おそらくversion4.5.0とversion5.6.1の差によるものでしょうか。 それから、faクラスのinline-block消しても解決できるとは思うのですが、こういう公式のCSSの場合いじくってしまうとあとで原因不明のレイアウト崩れとかにつながってしまうので、どちらかというと自分のCSSのほうを変えるほうがいいかと思っています。例えば、 .menu-icon を、 .fa.menu-icon などとすることでCSSの優先順位をより高くするとか。 以上、100%正しいとは限りませんが参考になれば幸いです。
cerfweb

2019/03/05 15:52

横から失礼します。fontawesome5にスタイルを適用するには<span></span>などで囲ってそれにクラスなどを追加すればうまくいきます。こちら(↓)にも説明されています。 https://fontawesome.com/how-to-use/on-the-web/referencing-icons/basic-use また、fontawesome自体のcssをいじるのはお勧めしません。アップデートの都度対応する必要が出てきますので。
退会済みユーザー

退会済みユーザー

2019/03/05 16:17

>公式のCSSの場合いじくってしまうとあとで原因不明のレイアウト崩れとかにつながってしまうので、どちらかというと自分のCSSのほうを変えるほうがいい >.menu-icon を、 .fa.menu-icon などとすることでCSSの優先順位をより高くする 納得しました。 cerfwebさんも「awesome自体をいじるのはオススメしない」との助言ありがとうございます。 ps. teratailは優秀な諸先輩がいて勉強になりますね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問