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

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

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

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

HTML5

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

Q&A

解決済

2回答

2437閲覧

オンマウス時下線

ryohasegawa

総合スコア437

CSS3

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

HTML5

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

0グッド

0クリップ

投稿2016/10/08 14:01

編集2016/10/08 14:43

オンマウス時に下線が入るようにしたのですが、横100%で表示されません。
どうすればいいですか?
イメージ説明

html

1<li class="item alt1"> 2 <a href="../index.html" target="_top" >ホーム </a> 3</li> 4<li class="item alt1"> 5 <a href="#" target="_top" > ブログ </a> 6</li>

css

1/* オンマウス時下線追加 */ 2/* 通常時(マウスカーソルがのっていない時)のデザイン */ 3.item{ 4 border-bottom: none; /* 装飾なし */ 5} 6 7/* オンマウス(hover)時 */ 8.item:hover{ 9 border-bottom-width:2px; 10 border-bottom-color:#F00; 11 border-bottom-style: solid; 12}

全CSSです。

css

1body{ 2 background: #FFF; 3 margin:0; 4} 5 6.nav{ 7 /* 上部の隙間調節 */ 8 margin-top:23px; 9} 10ol,ul{ 11 /* 文字の前に付く点をなくす */ 12 list-style:none ; 13} 14a{ 15 /* 下線を消す */ 16 text-decoration:none; 17} 18li{ 19 /* 周りの空間を調節 */ 20 margin:5px; 21} 22.item{ 23 24 /* 文字をセンタリングする */ 25 text-align:center 26} 27.wap{ 28 position: relative; 29 overflow: hidden; 30} 31.wap ul { 32 position: relative; 33 left: 50%; 34 float: left; 35} 36.wap ul li { 37 position: relative; 38 left: -50%; 39 float: left; 40} 41 42 43.alt1{ 44 border-right-width:1px; 45 border-right-color:#A49D9D; 46 border-right-style: solid; 47} 48 49 50 51/* オンマウス時下線追加 */ 52/* 通常時(マウスカーソルがのっていない時)のデザイン */ 53.item{ 54 border-bottom: none; /* 装飾なし */ 55} 56 57/* オンマウス(hover)時 */ 58.item:hover{ 59 border-bottom-width:3px; 60 border-bottom-color:#F00; 61 border-bottom-style: solid; 62}

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

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

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

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

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

guest

回答2

0

ベストアンサー

ここまでの流れからすると、li.itemdisplay:inline-block;になってますよね?
だとしたら、

HTML

1<li class="item alt1"> 2 <a href="../index.html" target="_top" >ホーム </a> 3</li><!-- 4--><li class="item alt1"> 5 <a href="#" target="_top" > ブログ </a> 6</li>

このように、</li><li>の間にコメントを挟んでみてください。
display:inline-block;で横並びにした場合、ソースコード上の改行文字が半角スペースになって画面に現れてしまうので、それがli同士の間のちょっとしたすき間になってしまうのです。)

もし、li.itemをdisplay:inline-block;にしていないのにすき間が空くのでしたら、
別のところに原因があると思うので、そのリストのCSSを省略せずに全部掲載してみてください。

投稿2016/10/08 14:22

aKusano

総合スコア3763

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

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

ryohasegawa

2016/10/08 14:43

CSSを全部記載します。
aKusano

2016/10/08 14:52

li{ /* 周りの空間を調節 */ margin:5px; } これじゃないですか? margin:5px;は上下左右に5pxの余白を作ります。 左右隣り合ったliのそれぞれにmargin:5px;がついているので、 liとliの間には10pxの余白が設定されていることになります。 当然、オンマウス時の下線は途切れた形になりますよね? なのでliから左右のmarginを取れば良いかと。
ryohasegawa

2016/10/08 15:05

そうでした。ありがとうございました。
guest

0

見たところ<li class="item alt1">ブロック間に隙間ができてしまってるのが問題かと思います。

<li class="item alt1">の横並びにする方法はどんな手段を使っていますか? display:inline-blockで並べる際、改行コードが半角スペースとして扱われてしまうため 隙間ができてしまう事があります。

■CSSで隙間を無くす方法
※liタグにletter-spacing: -.40em;を指定
li内のaタグにletter-spacing: nomal;で行間をもとに戻す。

■float:leftで横並びさせる方法
※子要素がfloatすると親要素が内部の高さを取れなくなるので、親要素へのclearfix処理が必要です。

投稿2016/10/08 14:23

T6App

総合スコア16

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問