ナビゲーション表示のCSSについて質問させて下さい。
本を参考に以下のようなソースを試しているのですが、各メニューの幅を統一するためにはどうしたらいいのでしょうか?
試しにと、width: 200px;として、li内に設定したりしていますが、変わる気配がありません。
/*css*/
ul{
list-style: none;
text-align: center;
margin: 30px 0px;
color: #fff;
}
li{
display: inline;
white-space: nowrap;
}
li a{
text-decoration: none;
padding: 10px 10px;
color: #fff;
background: transparent;
background: #f60;
}
li a:hover {
color: #fff;
background: #fc0;
}
~html~
<ul>
<li><a href="A.html">項目A</a></li>
<li><a href="B.html">項目B</a></li>
<li><a href="C.html">項目C</a></li>
<li><a href="D.html">項目D</a></li>
<li><a href="E.html">項目E</a></li>
</ul>
お恥ずかしい質問かと思いますが、アドバイスのほど頂戴できたら幸いです。
お忙しいなか恐縮ですが宜しくお願い申し上げます。
No.1ベストアンサー
- 回答日時:
display:inlineにしたものにwidthは効きません。
代わりにaにdisplay:blockを指定してください。
liをinlineにするってことは横並びメニューですよね?
aにさらにfloat:leftをしてやりましょう。
・ulとliに適当に幅をつけました。
・ulに初期値で(ブラウザが)paddingを取るので消しておきます。
・widthとpaddingを同時に指定するとIE6でバグが起こるので、横の余白は指定しないでください。text-align:center;にするだけ。
・floatさせるとulの高さがなくなってしまうので、ulにheightを指定し、aのline-heightを同じ値にしてください。これで縦の余白を取ります。
<style type="text/css">
<!--
body{margin: 0px;padding: 0px;}
ul{
list-style: none;
width:700px;/*140x5*/
height:2em;
margin: 30px 0px;
padding:0;
color: #fff;
}
li{
display: inline;
white-space: nowrap;
}
li a{
float:left;
display:block;
width:140px;
line-height:2em;
text-align: center;
text-decoration: none;
color: #fff;
background: transparent;
background: #f60;
}
li a:hover {
color: #fff;
background: #fc0;
}
-->
</style>
</head>
<body>
<ul>
<li><a href="A.html">項目A</a></li>
<li><a href="B.html">項目B</a></li>
<li><a href="C.html">項目C</a></li>
<li><a href="D.html">項目D</a></li>
<li><a href="E.html">項目E</a></li>
</ul>
</body>
</html>
zeffさま
はじめまして。早速のアドバイス、ご丁寧な対応をありがとうございます。
改めてスタイルシートって奥が深いな・・と思いました。勉強になりました。ありがとうございます。
No.2
- 回答日時:
CSSにいくつか基本的なミスがあります。
color: #fff; /* 一部のブラウザは16進数は二桁出ないとだめ。あるいはrgb()で */
background: #f60; /* これは、#F06000かrgb()で */
inline要素にはボックスとして寸法を指定できません。
9.2.1 ブロック要素とブロックボックス (
http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )
次のように設定します。
<ul> これをブロック要素にしてmarginとpadding、
| および全体のサイズを決定する
| 注) list-styleをnoneにする。(IEはbockにしても
| このプロパティが残っている)
| 注) ブラウザによってデフォルトのmargin,padding値
| が異なる。ulではなくliに持っている場合もある。
| そのため、一括して指定するほうが効率的
| 注) 内包するブロックにfloatさせるためrelativeかabsolute
|
|-- <li>これもブロック要素にしてfloatをかける。
| | 注) floatは親コンテナブロックがstatic以外であること
| | 注) ここでもmargin,paddingは明示的に指定すること
| |
| |-- <a href="A.html">項目A</a>
| 注) ブロック内でリンクを有効にするならこれもblockにする
|
|-- <li> 以下同様
|-- |-- <a href="B.html">項目B</a>
具体的なソースの例
HTML
<ul class="nav"><!-- HTML5ではnav要素が導入されるはず -->
<li><a href="A.html">項目A</a></li>
<li><a href="B.html">項目B</a></li>
<li><a href="C.html">項目C</a></li>
<li><a href="D.html">項目D</a></li>
<li><a href="E.html">項目E</a></li>
</ul>
CSS:最もシンプルでブラウザに依存しない。
firefox,Opera,safari,GoogleChrome,InternetExplorer
ul.nav,ul.nav li{display:block;margin:0px;padding:0px;border:solid 0px blue;list-style:none;}
ul.nav{width:100%;height:40px;line-height:40px;position:relative;text-align:center;}
ul.nav li{width:20%;float:left;}
ul.nav li a{display:block;width:99%;height:100%;margin-left:1%;background-color:white;text-decoration:none;}
ul.nav li a:link{background-color:rgb(180,180,180);}
ul.nav li a:visited{background-color:rgb(112,112,112);}
ul.nav li a:focus,ul.nav li a:hover{background-color:rgb(255,180,0);}
ul.nav li a:active{background-color:rgb(255,255,0);}
ORUKA1951さま
はじめまして。ご親切な対応をありがとうございます。
見るべきところとか、考えさせられました。勉強になります。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
html/cssの、navを2段にする...
-
htmlの<ol>タグで、数字などを...
-
リストの数字のフォントサイズ...
-
list-style-type部分だけ大きく...
-
リストマーカーをボックス内に...
-
ulタグやliタグの中でbrタグ...
-
jQuery-もっと見るボタンをスマ...
-
ulとliで囲った文字の一部を変...
-
liタグの中に<p>タグやら<dl>を...
-
header部分とnaviの位置の調整...
-
【CSS】メニュー上部に固定させ...
-
CSS li float 2列組み
-
HTMLで組織図を作成する方法
-
複数行にまたがる括弧を表示し...
-
テーブル内のプルダウンの下に...
-
スマホの実機でレイアウトが崩...
-
横並びのリストで左端がはみ出る
-
<table>の高さ固定。情報増加時...
-
html <ul></ul>の並びで一行空...
-
html <li>の中の文字一部に色を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リストマーカーをボックス内に...
-
ulタグやliタグの中でbrタグ...
-
liタグの中に<p>タグやら<dl>を...
-
html/cssの、navを2段にする...
-
リストの数字のフォントサイズ...
-
<ul>~</ul>が二つ続くと間に改...
-
HTMLで組織図を作成する方法
-
<ul><li></li></ul>にするメリ...
-
レスポンシブWebデザインでリン...
-
番号付きリスト(<Ol><Li>・・...
-
<table>の高さ固定。情報増加時...
-
ol要素の番号とリスト項目の離...
-
htmlの<ol>タグで、数字などを...
-
html <ul></ul>の並びで一行空...
-
divタグ内のコンテンツが重なっ...
-
ulとliで囲った文字の一部を変...
-
HTML5のfooterに見出しを付けて...
-
文法チェックの<A>と</A>の間が...
-
jQuery-もっと見るボタンをスマ...
-
テーブル内のプルダウンの下に...
おすすめ情報