
No.2ベストアンサー
- 回答日時:
サンプルで書いてみました。
画像ではないのと、ちょっと無理やりなんですが参考までに・・・;
/*--CSS--*/
.nav ul{
list-style:none;
padding:0;
margin:0;
}
.nav li{
border:solid 2px #0000ff;
display:inline;
width:100px;
margin-left:-5px;
}
/*--HTML--*/
<div class="nav">
<ul>
<li>あああ</li>
<li>いいい</li>
<li>ううう</li>
<li>えええ</li>
<li>おおお</li>
</ul>
</div>
liのdisplay:inline;で横に並びます。
が、display:inline;だけだと画像と画像の間に余白ができると思うので
margin-left:-5px;を入れました。
pxは全然変えておkです。
それと
もし横並びの指定をしていて縦に並ぶといいますか、、、表示が崩れる場合
例えば
/*--CSS--*/
.wrap{
width:200px;
}
.nav ul{
list-style:none;
padding:0;
margin:0;
}
.nav li{
border:solid 2px #0000ff;
display:inline;
width:100px;
margin-left:-5px;
}
/*--HTML--*/
<div class="wrap">
<div class="nav">
<ul>
<li>あああ</li>
<li>いいい</li>
<li>ううう</li>
<li>えええ</li>
<li>おおお</li>
</ul>
</div>
</div>
これをすると崩れるので
直すにはwrapのwidthを広く指定したら表示崩れにはならなくなります。
以上
変なところがあったら指摘してください・・・;
No.3
- 回答日時:
ウェブデザイン学習者じゃないみたいだから、ざっくりポイントだけ説明するよ。
そもそも ul タグと li タグは、箇条書きのためのタグだから、そのまま、
<ul id="menu">
<li>項目</li>
<li>項目</li>
<li>項目</li>
</ul>
と書いたら、それぞれの『項目』の左に●が追加されて、縦にならぶよね。
これは、li タグが元々持っている、出力(表示とか印刷ね)のときのスタイルなんだ。
ちなみに li のこのスタイルは display: という CSS の属性で、値は list-item だよ。
つまりこれを CSS で換えてあげれば OK。
<style type="text/css">
#menu > li {
display:block; /* ← シンプルな長方形を表すスタイル */
width:130px; /* ← 画像の幅を px で指定するところ */
height:25px; /* ← 画像の高さを px で指定するところ */
/* ↓ 次の li を次の行に出力(表示とか印刷ね)しないで、この li タグのすぐ右に出力 */
float:left;
/* ↓この例を見やすくするためのだけ設定だから、実際はいらない */
border:solid 1px gray;margin-right:-1px;padding:0.2em 0.5em;
</style>
以下は、各属性の簡単な説明ね。
display:block;
width を指定しないと、親のブロック要素(※1)の幅いっぱいに広がる。
(※1)タグがウェブブラウザに読み込まれると要素になる。
width:,height:
要素の幅と高さを強制する。
float:left;
これ、すごくわかりにくいんだけど、↓こんな感じ。
継続する全ての要素に以下の性質を付与する。
このブロック要素の高さが 0 だとみなす。
このブロック要素の幅の分だけ、x 座標を右に移動する。
この右への移動は、このブロック要素の高さまで続けるか、または、
clear:both; を付与された ブロック要素が現れるまで続ける。
で、↓のようになるとおもう。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>li で メニュー</title>
<style type="text/css">
#menu { margin:0; padding:0; }
#menu > li {
display:block;
float:left;
}
#menu > li, #menu > li img {
width:130px;
height:25px;
}
#content { clear:both; }
</style>
</head>
<body>
<div id="header">
<p>なにかヘッダを書くところ</p>
<ul id="menu">
<li><a href="page1.html" title="page1.html のタイトル"><img src="img/page1.png" alt="画像の説明"/></a></li>
<li><a href="page2.html" title="page2.html のタイトル"><img src="img/page2.png" alt="画像の説明"/></a></li>
<li><a href="page3.html" title="page3.html のタイトル"><img src="img/page3.png" alt="画像の説明"/></a></li>
<li><a href="page4.html" title="page4.html のタイトル"><img src="img/page4.png" alt="画像の説明"/></a></li>
</ul><!-- #menu -->
</div><!-- #header -->
<div id="content">
<!-- ↓この style は例を見やすくするためだけの設定だから、実際はいらない -->
<p style="padding:10em 1em;">何かコンテンツをかくところ</p>
</div><!-- #content -->
<div id="footer">
<p>なにかフッターを書くところ</p>
</div><!-- #footer -->
</body>
</html>
No.1
- 回答日時:
つい先日
TABLEの高さを固定したいのですが… - HTML - 教えて!goo ( http://oshiete.goo.ne.jp/qa/6781310.html )
で書いたもの。
No.10のCSSを、No7-No.8のHTMLと組み合わせる。
#siteMap{position:absolute;top:0;width:100%;left:0;margin:0;padding:0;}
#siteMap ul,#siteMap li{display:block;list-style:none;margin:0;padding:0;line-height:14px;}
#siteMap ul li{width:18%;float:left;padding:2px;margin:0 2px;}
#siteMap ul li a{display:block;height:100%;width:100%;text-decoration:none;text-align:center;background-color:white;}
#siteMap ul li a:hover{background-color:Yellow;}
あるいは
IE6,IE7だとメニューが写真の裏に表示される - HTML - 教えて!goo ( http://oshiete.goo.ne.jp/qa/6723422.html )
ポイントは、ulをblockにしてabsoluteでページ最上部などに置き、その中にliをやはりブロック(ただし小さなもの)にして、ul内でfloatさせる。このとき、aもブロックにしてheight、widthを100%にして、text-decorationをなしにしておくと良い。
<div class="nav">
<ul>
<li><a href=""></a></li>
だと
div.nav ul,div.nav ul li,div.nav ul li a{display:block;list-style:none;height:12px;}
div.nav ul{position:absolute;top:0;left:0;width:100%;}
div.nav ul li{width:20%;float:left;}
div.nav ul li a{width:100%;height:100%;}
これだけが、基本、あとはline-height、背景色、枠、a:hoverなど動的な擬似クラスを指定する。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(動画サービス) VLCメディアプレーヤーについて 1 2022/11/29 14:19
- WordPress(ワードプレス) ワードプレスで、左寄せ画像と文字を横並びにせず、画像の下に文字を表示される方法を教えてください 1 2022/04/24 11:06
- Excel(エクセル) VBAでユークリッド距離を用いて1番近い物を表示 表 裏 縦 横 高さ 縦 横 高さ 名前 1 45 9 2022/10/23 16:52
- HTML・CSS リストの並べ替え 1 2022/09/13 15:27
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- その他(ブラウザ) webサイトに表示する画像の向きを変える(左右に回す)方法 3 2023/01/20 08:28
- その他(ブラウザ) Vivaldiの、この部分を消したいのですが、どうしたらよいですか? 1 2023/02/13 18:28
- その他(Microsoft Office) Microsoft Edgeの「ニュースと関心事項」についてお聞きします。 3 2023/05/22 12:08
- Word(ワード) Word2013 縦書き上下二段の表、改行を続けると次ページに情報が表示されるようにしたい 3 2022/06/16 09:24
- その他(Microsoft Office) エクセルでの作成データをモニター画面内に収めたい。 1 2022/04/23 11:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リストの入れ子について
-
css 横並びのナビゲーションバ...
-
イメージマップと画像のスライ...
-
タブメニューでカレントタブを...
-
CSS初心者です。至急お願いしま...
-
複数の文字を一度に置換ってで...
-
<li>で改行する横並びのメニュー
-
HTMLについて
-
ieでのみCSSのcontentが効かない
-
CSS 画像横に改行があるテキス...
-
CSS SPRITEについて教えて下さい。
-
<div>と<div>の隙間を無くす方法
-
見出しタグについて
-
liタグのコピペ
-
display:table;を多段表示させたい
-
固定メニューの更新
-
初心者です。<ol>タグについて
-
横ナビ li 隙間をなくす
-
テンプレート配布サイトさんか...
-
ホームページの質問。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html/cssの、navを2段にする...
-
リストマーカーをボックス内に...
-
liタグの中に<p>タグやら<dl>を...
-
ulタグやliタグの中でbrタグ...
-
複数行にまたがる括弧を表示し...
-
html <ul></ul>の並びで一行空...
-
ulとliで囲った文字の一部を変...
-
HTMLで組織図を作成する方法
-
list-style-type部分だけ大きく...
-
htmlの<ol>タグで、数字などを...
-
テーブル内のプルダウンの下に...
-
html <li>の中の文字一部に色を...
-
<ul><li></li></ul>にするメリ...
-
番号付きリスト(<Ol><Li>・・...
-
divタグ内のコンテンツが重なっ...
-
リストの数字のフォントサイズ...
-
レスポンシブWebデザインでリン...
-
背景色を行ごとに変えるには?
-
Dreamweaverで、ul要素の下に写...
-
ページを開いているときのリン...
おすすめ情報