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

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

ただいまの
回答率

88.92%

はてなブログのデザインで、マウスホバーで反応するプルダウンメニューを作成したいです。

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 148

Dr.K

score 41

はてなブログのデザインで、マウスホバーで反応するプルダウンメニューを作成したいです。

<div id="top-editarea-inner"></div>
<div id="gnav" class="default-nav">
 <div class="container">
  <div class="col12">
   <nav id="menu">
    <ul id="menubar" class="global-nav">
     <li class="header-menu"><a href="#">ニュース</a></li>
     <li class="header-menu"><a href="#">ブログについて</a></li>
     <li class="header-menu"><a href="#">ギャラリー</a></li>
     <li class="header-menu"><a href="#">旅行</a>
     <ul class="sub-menu">
        <li><a href="#"></a>A</li>
        <li><a href="#"></a>B</li>
        <li><a href="#"></a>C</li>
        <li><a href="#"></a>D</li>
     </ul>
    </li>
<li class="header-menu"><a href="#">留学</a>
     <ul class="sub-menu">
        <li><a href="#"></a></li>
        <li><a href="#"></a></li>
        <li><a href="#"></a></li>
        <li><a href="#"></a></li>
     </ul>
    </li>
<li class="header-menu"><a href="#">中国語</a>
     <ul class="sub-menu">
        <li><a href="#"></a></li>
        <li><a href="#"></a></li>
        <li><a href="#"></a></li>
        <li><a href="#"></a></li>
     </ul>
    </li>
    <li class="header-menu"><a href="#">その他</a>
     <ul class="sub-menu">
        <li><a href="#"></a></li>
        <li><a href="#"></a></li>
        <li><a href="#"></a></li>
        <li><a href="#"></a></li>
     </ul>
    </li>
    <li class="header-menu"><a href="#">お問い合わせ</a>
     <ul class="sub-menu">
        <li><a href="#"></a></li>
        <li><a href="#"></a></li>
        <li><a href="#"></a></li>
        <li><a href="#"></a></li>
     </ul>
    </li>
  </ul>
 </nav>
</div>
</div>
</div>

</div>
/* <system section="theme" selected="26006613389136749"> */
@import url("https://github.com/Kazuhiro-ch/hateblog/blob/master/.editorconfig");
/* </system> */

/* <system section="background" selected="pixel-01"> */
body{ background-image: url('/images/theme/backgrounds/2014/pixel-01.png'); background-repeat: repeat; background-attachment: scroll; background-position: 0 0; background-size: 188px 178px; } @media (-webkit-min-device-pixel-ratio: 2) { body {background-image: url('/images/theme/backgrounds/2014/pixel-01@2x.png');} }
/* </system> */

#top-title{
  display:block;
    position:relative;
    padding: 0;
    color: #000;
    text-decoration:none;
    margin:0;
    bottom:100px;
    text-align: center;
    font-family: "游ゴシック";
    font-weight: 900;
    margin-top:200px; 
}

#toptitle{
    text-align: center;
    font-size:7rem;
}

#top-title p{
     font-size:3rem;
}

.pickup1 .pickup-link {
    background-image: url("https://f.hatena.ne.jp/China-tushin/20200701202504");
}
.pickup2 .pickup-link {
    background-image: url(https://cdn-ak.f.st-hatena.com/images/fotolife/C/China-tushin/20200701/20200701202941.png);
}
.pickup3 .pickup-link {
    background-image: url("https://cdn-ak.f.st-hatena.com/images/fotolife/C/China-tushin/20200701/20200701202534.png");
}

h2{
  padding: 0.4em 0.5em;/*文字の上下 左右の余白*/
  color: #494949;/*文字色*/
  background: #f4f4f4;/*背景色*/
  border-left: solid 5px #7db4e6;/*左線*/
  border-bottom: solid 3px #d7d7d7;/*下線*/
}

h3 {
  position: relative;
  padding-left: 25px;
}

h3:before {
  position: absolute;
  content: '';
  bottom: -3px;
  left: 0;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 15px transparent;
  border-bottom: solid 15px rgb(119, 195, 223);
}

h3:after {
  position: absolute;
  content: '';
  bottom: -3px;
  left: 10px;
  width: 100%;
  border-bottom: solid 3px rgb(119, 195, 223);
}

h4 {
  color: #010079;
  text-shadow: 0 0 5px white;
  border-left: solid 7px #010079;
  background: -webkit-repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px,#e9f4ff 3px, #e9f4ff 7px);
  background: repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px,#e9f4ff 3px, #e9f4ff 7px);
}

#point {
  position: relative;
  background: #f4f4f4;
  padding: 2px 5px 2px 20px;
  font-size: 20px;
  color: #474747;
  border-radius: 0 10px 10px 0;
}

#point:before {
  font-family: "Font Awesome 5 Free";
  content: "\f041";
  display: inline-block;
  line-height: 40px;
  position: absolute;
  padding: 0em;
  color: white;
  background: #ff6363;
  font-weight: 900;
  width: 40px;
  text-align: center;
  height: 40px;
  line-height: 40px;
  left: -1.35em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.29);
}


#gnav{
max-width: 1500px; /* 色を付けているここを記事と同じ巾を指定 */
margin: 0 auto; /* 中央揃えになるように左右のmarginをautoに */
background-color: #81b2e2;
display:block;
font-size:100%;
}

.default-nav{
    position: relative;
    box-shadow: 0 2px 4px -3px rgba(0,0,0,0.2);
}

#gnav ul {
    display: table;
    width: 100%;
    table-layout: fixed;
    text-align:center;
}

#menu {
    max-width: 1000px; /* 記事と同じ幅 */
    margin: 0 auto;
}


ul{
list-style:none;
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}


#gnav li{
    display: table-cell;
    position: relative;
}

#gnav li a{
    display:block;
    position:relative;
    padding: 0;
    color: #fff;
    text-decoration:none;
    margin:0;
    text-align: center;
    font-family: "游ゴシック";
     font-weight: 900;
}

#gnav .global-nav >li a{
    font-size'1.5vww;
    font-weight: 900;
    line-height : 2em;
}

#gnav .global-nav >li a{
    font-size'1.5vww;
    line-height : 100em;
}

#gnav .sub-menu >li a{
    font-size'1.5vww;
    line-height : 100em;
}
.header-menu:hover .sub-menu {
  display: inline-block;
}


以上のホバー分を追加したのですが、うまくいきませんでした。
間違っていますか?

イメージ説明

#gnav ul {
    display: table;
    width: 100%;
    table-layout: fixed;
    text-align:center;
}

#menu {
    max-width: 1000px; /* 記事と同じ幅 */
    margin: 0 auto;
}

ul{
    list-style:none;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}


#gnav li a{
    display:block;
    position:relative;
    padding: 0;
    color: #fff;
    text-decoration:none;
    margin:0;
    text-align: center;
    font-family: "游ゴシック";
    font-weight: 900;
}

.header-menu{
    text-align; center;
    display: table-cell;
    padding: 0;
    color: #fff;
    text-decoration:none;
    margin:0;
    font-family: "游ゴシック";
    font-weight: 900;
}

#gnav .global-nav >li a{
    font-size'1.5vww;
    font-weight: 900;
    line-height : 2em;
}

#gnav .global-nav >li a{
    font-size'1.5vww;
    line-height : 100em;
}

#gnav .sub-menu {
  display: none;
}
#gnav .header-menu:hover .sub-menu {
  display: block;
  background-color: #c0c0c0;
}

#gnav .sub-menu >li a{
    font-size'1.5vww;
    line-height : 100em;
}
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

こんにちは。

そもそも、ホバーする以前から表示されていますので、まず、消すところから始めてみてはいかがでしょうか?

#gnav .sub-menu {
  display: none;
}
#gnav .header-menu:hover .sub-menu {
  display: inline-block;
}

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/07/04 16:30

    枠というのでしょうか?水色のサイズを現状維持したまま下にメニューを出したいのです。今は水色の部分がメニュー幅分ずれる形で拡大してしまいます。

    キャンセル

  • 2020/07/07 11:16

    うーん、ちょっとよくわからないですね。幅が変わっているように見えませんでしたが……

    キャンセル

  • 2020/07/07 11:24 編集

    あ、もしかして、高さのことかな……?


    そうだとすると、position: absolute などを使えばいいのでは?


    いずれにせよ、当初の質問からかなり脱線してるように感じています。

    キャンセル

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

  • ただいまの回答率 88.92%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • トップ
  • HTMLに関する質問
  • はてなブログのデザインで、マウスホバーで反応するプルダウンメニューを作成したいです。