
URL用のテキストに枠線をつけました。通常はポインタを当てると下線がでると思いますが、最初に
a{
text-decoretion: none;
}
でもって下線を消しました。
次に
a hover{
border-style: solid;
padding: 5px;
}
によって枠線を作りましたところ、ポインタを当てると枠線はでるのですが、<li>のテキストが5pxほどずれてしまいます。
cssで
header ul li{
float: left;
padding: 0 70px 0 0;
}
こんな感じになら設定しており、float: left;で左詰めにしているせいでポインタを当てて枠線をが出た時に枠線分だけ右にずれるのが原因ではないかななどと思っていますが、兎にも角にも分かる方がいらっしゃいましたらすみませんが教えてください。
No.2ベストアンサー
- 回答日時:
a要素は行内(インライン)要素です。
この行内要素ブロック要素の区別はHTML/CSSで重要なので覚えておくこと。HTML4.01
7.5.3 ブロックレベル要素と行内要素( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
CSS2.1
9.2.1 ブロックレベル要素とブロックボックス( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
9.2.2インラインレベル要素とインラインボックス( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
※ a要素をボックスにする。(display:inline-block)
※ ボックスモデルの寸法はpadding辺の内側になる。
hover時にborderやpaddingを指定するとずれるのであらかじめ透明色(transparent)で指定しておく。
結果・・・
header ul{
text-align:center;/* 中央配置floatは使わない */
width:100%;/* 適当な幅に */
margin:0 auto;padding:0;
}
header ul li{
list-style:none;
display:inline-block;
position:relative;
width:20%;/* 適当な幅に */
padding:5px;
}
header ul li+li{
margin-left:70px;/* 二つ目以降は70px左をあける */
}
header ul li a{
text-decoration:none;
display:block;
width:100%;height:100%;/* 直近のstatic以外の親ブロック(li)に対して */
border-bottom:solid 2px transparent;
}
header ul li a:hover{
border-color:red;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- HTML・CSS <!DOCTYPE html> <html> <head> <meta charset="utf-8 2 2023/01/05 01:04
- HTML・CSS 吹き出し 下記の吹き出しのスタイルシートについて 下記のスタイルシートは左側にアイコンがでる使用にな 1 2022/11/12 17:55
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
css初心者 フレックスボックス...
-
<div>と<div>の間の10px程の...
-
投稿フォームの整列
-
ネガティブマージン
-
ホームページの幅について・・・
-
footer を横幅いっぱいに広げる...
-
cssで枠の中に複数の罫線を引く...
-
メディアクエリ スマホ対応のサ...
-
widthやheightの数値に単位(px...
-
CSSで背景画像を一番下にもって...
-
li 黒丸含んで移動する方法
-
文字の色を上下で変えるには?
-
CSSで背景色を下まで表示させたい
-
<li>の先頭に出るスペースの埋...
-
テキストを画面の真ん中に配置...
-
CSSを使い、ページの一番下に文...
-
borderについて2つの質問
-
画像と一緒にスライドするリン...
-
iframe 内の画像を自動縮小させ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
CSSがなぜかfont-sizeだけ効か...
-
form input テキストを上下中央...
-
【CSS】ヘッダーの高さが不明の...
-
画像イメージの上下左右、欲し...
-
css初心者 フレックスボックス...
-
余分な縦スクロールバーが出て...
-
W3Cのソースコードの検証サービ...
-
表示倍率を変えるとレイアウト...
-
safariでの横並びリスト(List...
-
<div>と<div>の間の10px程の...
-
border-style:solidで文字がずれる
-
入力フォームとセレクトボック...
-
div内に外部のurlを表示させたい
-
divの中にspanを右寄せにするに...
-
dl,dt,ddタグでdtに対して、row...
-
divで囲まれたpaddingの指定を...
-
footer を横幅いっぱいに広げる...
-
CSSで指定した背景画像にリンク...
おすすめ情報