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

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

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

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

CSS

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

Q&A

解決済

1回答

445閲覧

CSSの擬似要素を使って動く下線を出したいです

i_tkk

総合スコア11

HTML

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

CSS

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

0グッド

0クリップ

投稿2018/06/14 07:53

編集2018/06/14 08:19

前提・実現したいこと

HTML・CSSの初心者です。
グローバルナビを作成してます。
"あああ"の下にCSSで動く下線を出したいのですが出てきません。
ご教授お願いいたします。

html

1<header class="header"> 2<div class="header__inner"> 3<p class="header__logo"><a href=""></a></p> 4<nav class="header__gnav"> 5<ul class="header__gnavList"> 6<li class="header__gnavItem"> 7<a href="" class=""><span>あああ</span></a></li> 8<li class="header__gnavItem"> 9<a href="" class=""><span>あああ</span></a></li> 10<li class="header__gnavItem"> 11<a href="" class=""><span>あああ</span></a></li> 12</ul> 13</nav> 14</div> 15</header>

css

1.header { 2position: fixed; 3top: 0; 4left: 0; 5width: 100%; 6padding: 0 40px; 7background: #fff; 8font-weight: 600; 9box-sizing: border-box; 10box-shadow: 0 1px 1px rgba(0,0,0,.1); 11z-index: 1000; 12} 13 14.header__inner { 15display: table; 16table-layout: fixed; 17width: 100%; 18height: auto; 19} 20 21.header__gnav, .header__logo { 22display: table-cell; 23line-height: 1; 24vertical-align: middle; 25} 26 27.header__logo { 28width: 130px; 29background-position: left center; 30background-repeat: no-repeat; 31background-image: url(img/※※※.svg); 32background-size: 130px auto; 33} 34 35.header__gnav { 36position:relative; 37padding-right: 80px; 38text-align: right; 39box-sizing: border-box; 40} 41 42.header__gnavList { 43position: relative; 44display: flex; 45justify-content: flex-end; 46align-items: center; 47} 48 49.header__gnavItem{ 50position: relative; 51display: inline-block; 52vertical-align: middle; 53font-size: 1.5rem; 54} 55 56.header__gnavItem a { 57display: flex; 58align-items: center; 59height: 80px; 60padding: 0 32px; 61color: #1a1a1a; 62} 63 64 65.header__gnavItem >a:after{ 66position: absolute; 67display: block; 68content: ""; 69bottom: 0; 70left: 0; 71width: 0; 72height: 4px; 73background: #EC6C00; 74-moz-transition: all 0.3s ease; 75-o-transition: all 0.3s ease; 76-webkit-transition: all 0.3s ease; 77transition: all 0.3s ease; 78}

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

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

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

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

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

m.ts10806

2018/06/14 07:57

再現確認の際に【CSS】のようにコード内にコードではないものがあるとコピペ後に消したりしなければならないのでコードブロックから出してもらえると助かります。
i_tkk

2018/06/14 08:08

早速のご返答ありがとうございます。すみません、コードブロックのことがよくわかっておらず...
i_tkk

2018/06/14 08:11 編集

:hoverと:afterそれぞれ記入するということでしょうか?
m.ts10806

2018/06/14 08:17

コードを```で囲ってますよね。それがコードブロックです。コードが見やすくなりコピーボタンもつきます。言語名は中に書くのではなくコードブロック冒頭のに```css ```html のようにすると言語に即したハイライトがかかり、更に読みやすくなります
i_tkk

2018/06/14 08:20

編集しました、これで大丈夫でしょうか?
kei344

2018/06/14 08:26

「動く下線」はどうやったら動く想定ですか?ご自身で試された物を追記してください。
m.ts10806

2018/06/14 08:32 編集

仕様的には右記のようになっているので何かしらかます必要があるのでは、という意味です。 https://developer.mozilla.org/ja/docs/Web/CSS/transition >それぞれの状態は :hover や :active のような疑似クラスで定義するか、 JavaScript を使用して動的に設定します。
guest

回答1

0

ベストアンサー

ホバーで動く場合。

CSS

1/* 追加 */ 2.header__gnavItem >a:hover::after{ 3width: 100%; 4} 5```**動くサンプル:**[https://jsfiddle.net/fLhgrauj/](https://jsfiddle.net/fLhgrauj/)

投稿2018/06/14 08:28

kei344

総合スコア69407

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

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

i_tkk

2018/06/15 00:10 編集

不在にしておりました。大変申し訳ありません。ご提示くださったコードに変更したところ、希望通りの動きになりました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問