
No.2ベストアンサー
- 回答日時:
初心者の方だと思います。
最初の最初にしっかり身につけて置いていただきたいのは、HTMLは文書構造を記述するもので、スタイルシートはそれをどのように表現(プレゼンテーション)するかを指定するものです。HTML5の勧告を目前にした今、とても重要な考え方です。
いわゆるtableを文書の整形の為だけに用いてはならない。はそのひとつにしか過ぎません。
>2カラムのレイアウトのページを作成しています。
>左にメニューを持ってきたいため、アイコン画像を縦に4つ並べたいです。
>現在は
><p><img src="画像ファイル.jpg" /></p>
>↑これを4つ書いています。
とは考えないのです。ここをクリアできると、HTMLもスタイルシートも簡単になり、また本当にすばらしいデザインへの道も開けます。原則に忠実になるとデザイン性が失われると、曲解される人がいますが実際は逆です。
【引用】____________ここから
スタイルシートはこれらの問題を解決すると同時に、HTMLにおける制限されたプレゼンテーション機構に取ってかわる。スタイルシートでは、行間の設定やインデントの設定、テキスト色や背景色、フォントのサイズとスタイル、その他様々なプロパティの設定が簡単にできる。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Style Sheets in HTML documents (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より
前置きが長くなりましたが、次のように考えられるようになった最初のステップは卒業です。
★4項目程度の目次と本文からなるページがあります。
★これを、右側に画像として項目を立てに配置して、その左に本文を並べたい
結果は同じですが、過程がまったく異なりますね。
具体的には、
「HTMLでリストとして目次をマークアップしてあるのだが、それを本文の左にたてに画像ボタンのように表示したい」と考えます。
すなわち
<div class="section"><!-- 本文を示すclass名 -->
<div class="section" id="section1">
<h1>見だし</h1>
<p>記事</p>
</div>
<div class="section" id="section2">
<h1>見だし</h1>
<p>記事</p>
</div>
<div class="section" id="section3">
<h1>見だし</h1>
<p>記事</p>
</div>
<div class="section" id="section4">
<h1>見だし</h1>
<p>記事</p>
</div>
<div id="contentTable">
<ol>
<li><a href="section1">セクション1</a></li>
<li><a href="section2">セクション2</a></li>
<li><a href="section3">セクション3</a></li>
<li><a href="section4">セクション4</a></li>
</ol>
</div>
</div><!-- 本文終わり -->
とマークアップされているとすると・・・これなら簡単でしょう。
スタイルシートで
div.section{position:relative;}
#contentTable{position:absolute;top0;left:0;width:20%;text-align:center;}
div.section div.section{margin-left:21%;}
#contentTable ol,#contentTable ol li{list-style:none;display:block;margin:0;padding:0;}
#contentTable ol li{background-color:yellow;position:relative;}
#contentTable ol li+li{margin-top:10px;}
とします。
画像は指定していませんが、「セクション1」などの文字の代わりに<img src="***" width="180" height="20" alt="セクション1">とかにして、
#contentTable ol li img{display:block;width:100%;height:auto;}
とすると、ウィンドウ幅に関係なく、常に本文の20%幅の画像が表示されるでしょう。
1999年当時の古いHTMLの書き方とは、すこし違うと思いますが、逆にとても楽になるはずです。HTMLはそのままで、ボタンを横に並べたり、プルダウンで細かい項目を出したり、リンク先の写真を登場させたりなどが、HTMLを書き換えなくてもできるようになります。
No.1
- 回答日時:
スタイルシートに
ul{
list-style-type:none;
margin:0px;
padding:0px;
}
li{
margin:0px;
padding:0px;
}
HTMLに
<ul>
<li><img src='./a.png' alt='a'></li>
<li><img src='./b.png' alt='b'></li>
<li><img src='./c.png' alt='c'></li>
<li><img src='./d.png' alt='d'></li>
</ul>
こんな感じでどうでしょうか。
画像の間隔はmarginの値で調節できます。
例なのでリストのタグ全体にスタイルシートが効いていますが、実際にはclass指定するとかしてください。
ただ、この場合隙間無く画像が並ぶはずなのですが、私の環境では隙間が開いてしまったので、もう少し突き詰めてみないといけないですが・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
番号付きリスト(<Ol><Li>・・...
-
html/cssの、navを2段にする...
-
「・」(黒い点)を非表示にした...
-
レスポンシブWebデザインでリン...
-
HTML5のfooterに見出しを付けて...
-
divタグ内のコンテンツが重なっ...
-
ulタグやliタグの中でbrタグ...
-
リストのナンバータグがFirefox...
-
タグの完全消去
-
html <ul></ul>の並びで一行空...
-
cssの display: flex;で横並び...
-
フォームボタンがフッターにあ...
-
複数行にまたがる括弧を表示し...
-
親ページ側からインラインフレ...
-
<li>で改行する横並びのメニュー
-
リストマーカーをボックス内に...
-
li 3列表示
-
html <li>の中の文字一部に色を...
-
ulとliで囲った文字の一部を変...
-
表の文字サイズ変更ボタンにつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リストマーカーをボックス内に...
-
liタグの中に<p>タグやら<dl>を...
-
ulタグやliタグの中でbrタグ...
-
divタグ内のコンテンツが重なっ...
-
html/cssの、navを2段にする...
-
list-style-type部分だけ大きく...
-
複数行にまたがる括弧を表示し...
-
html <li>の中の文字一部に色を...
-
ページを開いているときのリン...
-
番号付きリスト(<Ol><Li>・・...
-
リストを2つに分割して、それぞ...
-
リストの左余白の削除方法
-
html <ul></ul>の並びで一行空...
-
<li>タグの数が増えすぎたので...
-
<ul><li></li></ul>にするメリ...
-
css 横並びのナビゲーションバ...
-
htmlの<ol>タグで、数字などを...
-
<li>で改行する横並びのメニュー
-
ページ内リンク!?のしかた
-
イメージマップと画像のスライ...
おすすめ情報