都道府県穴埋めゲーム

下記のようにHTMLを組んでCSSを設定しました。
表示結果が画像の通り。
しかし自分としては
●「画像」のある茶色の背景を下まで伸ばしたい。
●その「画像」をliの項目が増えても中心に来るようにしたい。
と思っています。
でも何をどうやっても実現できずに困っております。
さっと見て、さっとお分かりになる方がいらっしゃいましたら、
ご教授いただければ幸いです。
よろしくお願いいたします。

▼HTML
<div id="etcLowerLink" class="clearfix">
<p id="image"><a href="#"><img src="img/XXX.gif" alt=" width="120" height="130"></a></p>
<ul id="list">
<li>XXXXXXXXXXXXX</li>
<li>XXXXXXXXXXXXX</li>
<li>XXXXXXXXXXXXX</li>
<li>XXXXXXXXXXXXX</li>
<li>XXXXXXXXXXXXX</li>
<li>XXXXXXXXXXXXX</li>
</ul>
</div>

▼CSS
#etcLowerLink {
border: 2px dotted #433832;
width: 650px;
margin: 50px 0px 0px;
padding: 0px;
clear: both;
}
#etcLowerLink #image {
float: left;
background: #392D0D;
width: 150px;
text-align: center;
}
#etcLowerLink #list {
float: right;
margin: 12px 0px 8px;
padding: 0px;
width: 500px;
}
#etcLowerLink #list li {
background: url(../img/icon.gif) no-repeat 0px 6px;
margin: 0px 0px 3px;
padding: 0px 10px 0px 18px;
}

「背景色を下まで表示して画像を常に真ん中に」の質問画像

A 回答 (3件)

まず、基本を守ること。


HTMLにはデザイン(プレゼンテーション)に関わることは書かない。率直に文書構造だけマークアップすれば、デザインは自由自在になるはずです。将来デザインを変えるときもHTMLには手を加えなくてすみます。そして、なによりもHTMLもCSSもわかりやすくなります。
[HTML]のサンプル
・ナビゲーションの画像は要はナビゲーションの見出しですから<h2></h2>でマークアップしておけば良いですね。検索エンジンを含めどんなユーザーエージェントも理解してくれる。
・ナビゲーションは単純な順不同リスト
※タブは_に置換してあるので戻すこと。
class名は、文書構造を示すものにしてあります。
HTML5の場合はそれぞれ<div class="header"></div>⇒<header></header>になります。
増えても減っても追随します。

<body>
_<div class="header">
__<h1>タイトル</h1>
__<p>このページでは・・・・</p>
__<div class="nav">
___<h2>サイトマップ</h2>
___<ul>
____<li>アイウエオかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめも</li>
____<li>XXXXXXXXXXXXX</li>
____<li>XXXXXXXXXXXXX</li>
____<li>XXXXXXXXXXXXX</li>
____<li>XXXXXXXXXXXXX</li>
____<li>自由に項目を増やしたり減らしたり・・</li>
____<li>XXXXXXXXXXXXX</li>
____<li>XXXXXXXXXXXXX</li>
____<li>XXXXXXXXXXXXX</li>
___</ul>
__</div>
_</div>
</body>

[CSS]HTMLの文書構造に基づいて、セレクタを書いていきます。
たったこれだけで良いです。決して難しいことはしてません。

div.header div.nav{ /* headerのnav */
border:2px dotted #433832;
width: 650px;
margin: 0 auto;/* 中央配置 */
position:relative;
}
/* header内のnavの見出し */
div.header div.nav h2{/* 見出しはテキストを消して代わりに画像 */
margin:0;
background:#392D0D url(img/XXX.gif) no-repeat 50% 50%;/* 上下左右中央配置 */
height:100%;width:150px;/* 高さはnavの高さにあわせる */
position:absolute;/* 絶対配置位置や高さは(relativeな)navを基準 */
top:0;left:0;
text-indent:-100em;overflow:hidden;/* テキストは消す */
}
/* header 内のnavのul */
div.header div.nav ul{
min-height:140px;/* 最低限画像のサイズの高さは確保 */
list-style-image:url(../img/icon.gif);/* リストマーク */
margin-left:160px;
width:420px;
}

ポイント:構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
 それさえ出来ていれば、決して難しいことではありません。頑張ってね、
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございました。
参考になりましたです。
納得することばかりで勉強になりました。

お礼日時:2013/06/21 20:07

No.2です。

スタイルシート下記のほうがよいかも・・リキッドなのでスマホでも幅広でも対応可能(ウィンドウサイズを変えてみる)

div.header div.nav{
border:2px dotted #433832;
width: 60%;min-width:480px;max-width:800px;
margin: 0 auto;
position:relative;
}
div.header div.nav h2{
margin:0;
background:#392D0D url(img/XXX.gif) no-repeat 50% 50%;
height:100%;width:150px;
position:absolute;
top:0;left:0;
text-indent:-100em;overflow:hidden;
}

div.header div.nav ul{
min-height:140px;
list-style-image:url(../img/icon.gif);
margin: 10px 20px 10px 160px;
width:auto;
}
    • good
    • 0

1例です。

アレンジしてどうぞ。

<style type="text/css">
.case05 {
background:green;
width:355px;
}
.case05 img {
display: inline-block;
vertical-align: middle;
}
.case05 .txt {
display: inline-block;
vertical-align: middle;
width:250px;
background:yellow;
}
</style>

<div class="case05">
<img src="http://dummyimage.com/100x100/000/fff.gif&text=i … alt="img" height="100" width="100">
<span class="txt">テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト<br>
テキストテキストテキストテキストテキストテキストテキストテキストテキスト<br>
テキストテキストテキストテキストテキストテキスト</span>
</div>

参考URL:http://c-brains.jp/blog/wsg/11/10/13-200523.php
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございました。
参考になりましたです。

お礼日時:2013/06/21 20:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!