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

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

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

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

HTML5

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

631閲覧

メニューの表示を修正したい

syo--

総合スコア28

CSS3

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

HTML5

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2021/02/14 02:44

編集2021/02/15 01:38

jQueryを用いたメニューの表示を練習しています スマホで閲覧した際(画面幅700px以下の時)、「ハンバーガーメニューのアイコンを押したら画面一杯にメニュー(.header nav)が表示される」という動きをつけているのですが現在メニューが最初から表示されてしまうという状況になっています 
.header navにはすでにdisplay:flex;を設定しているので、display:none;を設定すると打ち消されたりしてレイアウトが崩れてしまいます
どうにか.header nav を非表示にする方法はないでしょうか
```HTML

<!DOCTYPE html> <html lang="ja" > <head> <meta charset="utf-8"> <title>クリスタ初級</title> <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@500&display=swap" rel="stylesheet"> <link rel="stylesheet" href="css/reset.css"> <link rel="stylesheet" href="css/style.css"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <header class="header"> <h4>クリ☆スタ</h4> <nav class="header-menu"> <ul> <i class="fas fa-times close-button"></i> <li><a href="#">About</a></li> <li><a href="#">Service</a></li> <li><a href="#">Contents</a></li> </ul> </nav> <i class="fas fa-bars hamburger-button"></i> </header>
<section class="top-page"> <h1 class="site-title">Cresta Design</h1> </section>
</body> ```

CSS

1@charset "UTF-8"; 2html{font-size:62.5%;} 3*,*::before,*::after{box-sizing: border-box;} 4body{font-family: "Roboto","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo sans-serif;} 5a{text-decoration: none;} 6.header{width:100%; height:74px; display:flex; justify-content:space-between; 7align-items: center; background-color:#1B1310; border-bottom:2px solid #fff;} 8.header h4{font-size:26px; color:#fff; margin-left:120px;} 9.header ul{margin-right: 93px;} 10.header li{font-size:16px; display:inline-block; padding:0px 27px;} 11.header a{color:#fff;} 12.fas{display:none!important;} .hamburger-button{cursor:pointer;} 13.header p{color:white;} 14 15 .top-page{background:url(../img/fv-bgi@2x.jpg) no-repeat; height:740px; 16 background-size:cover; position: relative;} 17 .site-title{font-size:50px; color:#fff; font-weight:normal; 18 position:absolute; top:50%; left:50%; transform: translate(-50%, -50%); 19 padding:35px 42px; border:2px solid #fff; letter-spacing:1px;} 20 @media(max-width:700px){ 21 22 .header nav{position:fixed; top:0; background-color:black; z-index:1; width:100%; height:665px; 23 display:flex; justify-content:center; align-items:center; } 24 25 .header ul{margin-right:0px; width:100%;} 26 .header li{display:block; padding:0px; height:calc(242px/3); 27 transition:0.25s;} 28 .header li:hover{background-color:rgba(255,255,255,0.9);} 29 .header a{display:block; height:100%; display:flex; justify-content:center; align-items:center; } 30 .close-button{color:white; position:absolute; top:25px; right:15px; cursor:pointer; font-size:25px; } 31 .fas{display:block!important;} .fa-bars{color:white; font-size:25px; margin-right:15px;} 32 .header h4{margin-left:15px;} 33 .top-page{background:url(../img/fv-bgi_sp@2x.jpg) no-repeat; background-size:cover; margin-bottom:100px; 34 height:590px; 35 } 36 .site-title{font-size:30px; padding-top:30px; padding-bottom:30px;} }

jQuery

1$(function(){$(".hamburger-button").click(function(){$(".header-menu-wrapper").fadeIn();}); 2$(".close-button").click(function(){$(".header-menu-wrapper").fadeOut();}); 3}); 4

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

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

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

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

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

kei344

2021/02/17 04:04

まだ質問が「受付中」になっていますが、「ベストアンサー」を選び「解決済」にされてはいかがでしょうか。
syo--

2021/02/17 12:34

解決済みにしました ありがとうございます
guest

回答2

0

ベストアンサー

非表示にする方法はたくさんあり、これが正解ですと言えるものではないので
いくつか挙げるのでそれをヒントにしてもらえれば幸いです。

  1. .header nav ulを非表示にする
  2. .header navを囲む要素を追加して、それを非表示にする
  3. .header navを非表示にするが、表示させるときに正しく表示されるように工夫する

すべてCSSをうまく調整する必要があります。
syo--さんがどのくらいCSSを習熟しているかわかりませんで、具体的にアドバイスすることは難しいのですが
練習されているような仕組みのサイトはたくさんありますので、それらのコードを見て参考にするのが一番良いと思います。
もし追加でわからないことがあれば、質問してください。


あと質問とは関係ありませんが、.hamburger-buttonはiタグではなくbuttonタグを使うことをおすすめします。
(buttonタグにデフォルトで設定されているCSSを調整して使う必要があります)

投稿2021/02/14 06:40

mattari_panda

総合スコア429

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

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

syo--

2021/02/15 01:57

ありがとうございます! 2.の方法を試しました header-menuを囲むようにdivクラスでheader-menu-wrapperを追加しdisplay:none;を指定してみたところ、最初からメニューが表示されるという不具合は消えました しかし、header h4に覆いかぶされず、メニューが画面一杯に広がらないという状況になってしまいました これを直す方法を知っていましたら、教えていただきたいです  buttonタグに関するご忠告もありがとうございます 留意させていただきます
guest

0

html

1 <header class="header"> 2 <h4>クリ☆スタ</h4> 3 <nav class="header-menu">

この中にもう一つdivを入れて、それをdisplay:noneにすれば良いのではないでしょうか。
h4からを非表示にしたいのならその上に入れ、それは最初から表示したいならその下に入れるとよいです。

投稿2021/02/14 06:39

編集2021/02/14 06:42
mari.rinn

総合スコア296

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

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

syo--

2021/02/15 12:24

この方法でやりました!ありがとうございます
mari.rinn

2021/02/17 01:00

mattari_panda様へのお返事を拝見しました。 divをnavの上につけたことで発生した問題は、今までは表示・非表示領域の親がnavだったものが、親はつけたdivに変わったからなので、navに当てていたcssで、問題に関係あるものはdivの方のcssに移してみてください。
syo--

2021/02/17 12:36

そんな理由があったのですね 了解しました! 移してみます わかりやすくありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問