困っています。お願いします。
このソースのレイアウトとしましては、
dl1、dl2、dl3と横に並んでいます。
各dtに画像、ddにテキストです。
このカタチが2行続いています。
3行目は、三列の一番左にdl7が置かれるかたちです。
全体としては、
dl1 dl2 dl3
dl4 dl5 dl6
dl7
という感じです。
dl1~dl7まで全て、同じサイズの画像とddにテキストが入っています。
問題はレイアウトではなく、リンクです。
dl1~dl7のdtの中の画像には全てリンクがはれるのですが、
dd部分の一部テキストにはリンクがはれません。
リンクがはれるのは、dl5、dl6、dl7です。
後はリンクを設定しても、リンクがはれない状態です。
いろいろ試してみたのですが、原因がわかりません。
一つ思うことは、dl1、dl2、dl3、dl4の下にはdl4、dl5、dl6があるわけなので、何か下にあるとリンクが効かないのかなあとも思います。
どなたか、教えて頂きたいです。
分かりづらい説明で申し訳ないのですが、宜しくお願い致します。
<dl id="dl1">
<dt id="dt1">
<a href="#"><img src="img/image1.jpg" /></a>
</dt>
<dd class="dd1">
<a href="#">ああああ</a>
</dd>
</dl>
<dl id="dl2">
<dt id="dt2">
<a href="#"><img src="img/image1.jpg" /></a>
</dt>
<dd class="dd1">
<a href="#">いいいい</a>
</dd>
</dl>
このカタチをdl7まで繰り返し、htmlに記述します。
次にcssです。
#dl1
{
position: relative;
width: 170px;
height: 170px;
padding: 10px 10px 0px 35px;
margin: 0px 0px 0px 0px;
float: left;
}
#dt1 a img
{
text-decoration: none;
border-style: none;
}
#dt1 a:hover img
{
visibility: hidden;
text-decoration: none;
border-style: none;
}
#dt1 a
{
display: block;
width: 170px;
height: 170px;
background-position:left top;
background-repeat:no-repeat;
text-decoration: none;
}
#dt1 a:hover
{
background-image: url(img/image1-2.jpg);
text-decoration: none;
}
こちらも同様に、dt7まで繰り返しcssを指定。
cssの中身は、画像にホバーしたら、画像が切り替わるようになっています。
次に、テキストのdd部分のcssです。
こちらはクラス指定で、dl1~dl7までの各dd使用。
.dd1
{
width: 170px;
height: 40px;
margin: 0px;
color: #ffffff;
font-size: 12px;
line-height: 16px;
padding: 0;
}
.dd1 a
{
padding: 0;
margin: 0;
text-decoration: none;
color: #ffffff;
}
.dd1 a:hover
{
text-decoration: underline;
color: #ffffff;
}
長々と失礼いたしました。
No.1ベストアンサー
- 回答日時:
なにかものすごく無駄な羅列・・・
CSS-カスケーディング(継承)スタイルシートそのものを理解できてないような・・デザインだけのためのidやclassを書くのはだめ。HTMLの<font>などが否定されているのと同じ理由。
<ol class="Imagelist">
<li>
<dl>
<dt><a href=""><img></a></dt>
<dd></dd>
</dl>
</li>
<li>
<dl>
<dt></dt>
<dd></dd>
</dl>
</li>
・・・・
<li>
<dl>
<dt></dt>
<dd></dd>
</dl>
</li>
</ol>
CSS
ol.Imagelist{
display:block;
width:600px; /*できれば%指定
color: #ffffff;
font-size: 12px;
}
ol.ImageList li{
display: block;
float: left;
width: 170px;
height: 40px;
padding: 0px;
margin: 0px;
line-height: 16px;
}
ol.ImageList li dl dd{}
ol.ImageList li dl dt img{}
ol.ImageList li dl a{}
とでもして、CSSなしで動作確認すること。その上でCSSでデザインしていきますが、CSSのCSSたる所以の継承や詳細度、優先順位をきちんと理解していれば、解決するはず。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS HTMLのdlとul どちらが正しいと思いますか 3 2023/02/23 11:20
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- 数学 dl と 、 Δl はどのように違いますか? 2 2022/11/30 15:48
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
CSS3で角丸写真にシャドーを付...
-
CSSがなぜかfont-sizeだけ効か...
-
css初心者 フレックスボックス...
-
画像イメージの上下左右、欲し...
-
ウェブページの上下に暗幕を表...
-
widthやheightの数値に単位(px...
-
div入れ子、親でmarginを設定す...
-
CSSで背景画像を一番下にもって...
-
スマホ画面で長い文章が、左端...
-
css&html テキストの前に三角...
-
ネガティブマージン
-
CSS/HTML で画像 2枚重ねた上に...
-
MACのスタイルシート対応
-
width:100%ではみ出す
-
CSSで指定した背景画像にリンク...
-
cssを使用し文字の均等割付(指...
-
checkboxの大きさは変えられま...
-
左右の高さを揃えたいんですが
-
CSSでボックスの位置をずらすCS...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
画像イメージの上下左右、欲し...
-
css初心者 フレックスボックス...
-
表示倍率を変えるとレイアウト...
-
CSSがなぜかfont-sizeだけ効か...
-
CSS、width100%でもできる余白
-
W3Cのソースコードの検証サービ...
-
CSS:animation開始位置の設定
-
CSSで指定した背景画像にリンク...
-
余分な縦スクロールバーが出て...
-
<div>と<div>の間の10px程の...
-
【CSS】ヘッダーの高さが不明の...
-
CSSでボックスのheightが0になる
-
スクロールボックスを中央に配...
-
li 黒丸含んで移動する方法
-
border-style:solidで文字がずれる
-
Media Queries 4 で 非推奨とな...
-
【HTML&CSS】フッター下部の余...
-
初心者html・CSS ウィンドウを...
おすすめ情報