
画像にマウスポインタをのせると画像が拡大される機能を備えた
画像の表を作りたいです。
テーブルの各セルに入る画像の配置を縦横両方中央揃えにしたいです。
CSSのマージンで調整しましたが、セルによって微妙に配置がずれてしまいました。
あと、画像は拡大されるのですが、拡大されていない画像が前面に出てきてしまいます。
各セルの画像の縦横中央揃え、画像が正しく拡大される方法を教えて下さい。
下記は自分が入力したHTMLとCSSです。それをFirefoxで表示したものを添付しました。
アドバイスをお願いいたします。
~~~ HTML ~~~
<link rel="stylesheet"type="text/css" href="a.css">
<table border="1" width="500" cellpadding="5" bordercolor="#333333" />
<tr>
<th bgcolor="#FFA07A">あいう
<th bgcolor="#FFA07A">えおか
<th bgcolor="#FFA07A">きくけ
</tr>
<tr>
<td><a class="thumbnail" href="画像.jpg"><img src="画像.jpg" width="130" height="170" alt="" /></a></td>
<td><a class="thumbnail" href="画像.jpg"><img src="画像.jpg" width="130" height="170" alt="" /></a></td>
<td><a class="thumbnail" href="画像.jpg"><img src="画像.jpg" width="130" height="170" alt="" /></a></td>
</tr>
<tr>
<td align="left">ああああああああああああああああ</td>
<td align="left">いいいいいいいいいいいいいいい</td>
<td align="left">うううううううううううううううう</td>
</tr>
</table>
<br>
<br>
<table border="1" width="500" cellpadding="5" bordercolor="#333333" />
<tr>
<th bgcolor="#FFA07A">こさし
<th bgcolor="#FFA07A">すせそ
<th bgcolor="#FFA07A">なにぬ
</tr>
<tr>
<td><a class="thumbnail" href="画像.jpg"><img src="画像.jpg" width="130" height="170" alt="" /></a></td>
<td><a class="thumbnail" href="画像.jpg"><img src="画像.jpg" width="130" height="170" alt="" /></a></td>
<td><a class="thumbnail" href="画像.jpg"><img src="画像.jpg" width="130" height="170" alt="" /></a></td>
</tr>
<tr>
<td align="left">ええええええええええええええええええええええ</td>
<td align="left">おおおおおおおおおおおおおおおおおおおお</td>
<td align="left">かかかかかかかかかかかかかかかかかか</td>
</tr>
</table>
~~~ CSS ~~~
a.thumbnail {
display: block;
float: left;
}
a.thumbnail img{
position: relative;
}
a.thumbnail,
a.thumbnail img{
width: 130px;
height: 170px;
margin: 0px 0px 0px 5px;
}
a.thumbnail:hover {
border: none;
cursor: default;
}
a.thumbnail:hover img {
width: auto;
height: auto;
}

No.1ベストアンサー
- 回答日時:
せっかくXHTMLとCSSの組み合わせなのに、HTMLのタグのattrivutesがふんだんに使われている。
すべてCSSに任せましょう。(tableや画像の属性は後方互換のため記述するが、詳細度は0なので上書き可能)私は幅が固定されるtableは使いませんが、tableの場合の書き方で説明すると下記の様になるかな?
★画像はthumbnailを使わずブラウザ上でサイズ指定をしている。</p>
★classなどは必要最小限にしましょう。ひとつ書けば済む物を何度も書かない。
シンプルが一番、後からのメンテナンスも考えましょう。
サンプルの画像は240px×180pxを想定しています。一番右端の画像だけtableからはみ出さないように隣接セレクタを使って左に寄せている。
<table border="1" width="500" class="album">
<tbody>
<tr>
<th>あいう</th><th>えおか</th><th>きくけ</th>
</tr>
<tr class="thumbnail">
<td>
<a href="./img/sample1.jpg"><img src="./img/sample1.jpg" width="120" height="90" alt="" /></a>
</td>
<td>
<a href="./img/sample2.jpg"><img src="./img/sample2.jpg" width="120" height="90" alt="" /></a>
</td>
<td>
<a href="./img/sample3.jpg"><img src="./img/sample3.jpg" width="80" height="60" alt="" /></a>
</td>
</tr>
<tr>
<td>ああああああああああああああああ</td>
<td>いいいいいいいいいいいいいいい</td>
<td>うううううううううううううううう</td>
</tr>
</tbody>
</table>
</body>
</html>
<style type="text/css">
<!--
table.album{border-collapse:collapse;}
table.album th, table.album td{width:160px;border: #333333 2px solid;padding:5px;}
table.album th{background-color:#FFA07A;}
table.album tr.thumbnail td{text-align:center;text-indent:0em;}
table.album td{text-indent:1em;}
table.album tr.thumbnail td a{display:block;position:relative;}
table.album tr.thumbnail td a img{border:none;}
table.album tr.thumbnail td a:hover img{position:absolute;width:auto;
height:auto;top:-50px;left:0px;z-index:1;}
table.album tr.thumbnail td+td+td a:hover img{left:-80px;}
-->
</style>

この回答への補足
アドバイス有難うございました。
参考にして直してみました。
画像が前面にでるようになり、配置もバッチリです。
しかし、問題が2点あります。
(1)
一番右側の画像と真ん中の画像にマウスを置いたときに表示される画像。
ブラウザのウインドウが狭いときは、この画像が途切れてしまいます。
一番右側の画像は3分の1ぐらいしか表示されません。
真ん中の写真は真ん中に、右側の写真は左側に表示させるようにしたいです。
(2)
Firefoxでの再現 :tableの枠が二重になってしまいます。
Internet Explorer 9での再現 :内側のtableの枠はしっかりしてますが、外側が細く薄いグレー色になってしまいます。
どちらのブラウザでもきちんと表示されるにはどうしたらいいのでしょうか。
(1)と(2)の解決策のアドバイスをお願いいたします。
<html>
<body>
<link rel="stylesheet"type="text/css" href="text.css">
<table border="1" width="500" class="album">
<tbody>
<tr>
<th>あいう</th><th>えおか</th><th>きくけ</th>
</tr>
<tr class="thumbnail">
<td>
<a href="./img/sample1.jpg"><img src="./img/sample1.jpg" width="90" height="100" alt="" /></a>
</td>
<td>
<a href="./img/sample2.jpg"><img src="./img/sample2.jpg" width="90" height="100" alt="" /></a>
</td>
<td>
<a href="./img/sample3.jpg"><img src="./img/sample3.jpg" width="90" height="100" alt="" /></a>
</td>
</tr>
<tr>
<td>ああああああああああああああああ</td>
<td>いいいいいいいいいいいいいいい</td>
<td>うううううううううううううううう</td>
</tr>
</tbody>
</table>
</body>
</html>
--------------------------------------------
<style type="text/css">
<!--
table.album{border-collapse:collapse;}
table.album th, table.album td{width:160px;border: #333333 2px solid;padding:5px;}
table.album th{background-color:#FFA07A;}
table.album tr.thumbnail td{text-align:center;text-indent:0em;}
table.album td{text-indent:1em;}
table.album tr.thumbnail td a{display:block;position:relative;}
table.album tr.thumbnail td a img{border:none;}
table.album tr.thumbnail td a:hover img{position:absolute;width:auto;
height:auto;top:-50px;left:0px;z-index:1;}
table.album tr.thumbnail td+td+td a:hover img{left:-80px;}
-->
</style>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
tableタグとformタグの組み合わせ
-
XHTMLに関する質問 順序が逆に...
-
テーブルの一部分のセルだけに...
-
html でのテキスト結合について
-
Netscape:画像の下に隙間が生...
-
HTMLでテーブルタグ<table>を使...
-
CSSでTRに枠線とTDに背景を指定...
-
vbscriptで時計を作りたい
-
cellpadding
-
HTMLのテーブルでそれぞれの大...
-
cssで、テーブルのtdの中の文字...
-
テーブル内のテーブルの高さを...
-
htmlのボタンを左寄席にしたい
-
テーブルタグの中にdivを含めて...
-
テーブルとテーブルの間隔について
-
CSSだけで<table>の<td>や<tr>...
-
CSSで特定のテーブルだけに...
-
tableにul,または,olを入れられ...
-
cssで、表示されるテキストによ...
-
テーブルの任意の列を非表示に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
tableタグとformタグの組み合わせ
-
html でのテキスト結合について
-
テーブルの一部分のセルだけに...
-
同じクラス名はつけないほうが...
-
cssで、テーブルのtdの中の文字...
-
htmlのボタンを左寄席にしたい
-
td要素内のdiv要素をセンタリン...
-
XHTMLに関する質問 順序が逆に...
-
Tableタグ内のspan styleが適応...
-
divで囲んだ文字が消える
-
<img>タグにCSSのclass設定可能?
-
vbscriptで時計を作りたい
-
Firefoxを使ってるのですがズー...
-
tableがbodyにはみ出る。。
-
Visual Studio で CLR 開発でデ...
-
Dreamweaver デザインビューの...
-
リストの記号を括弧付きの文字...
-
表とリスト(ulとtable)の違い...
-
Tableタグで作成した表の縮小
-
デーブルが延びる
おすすめ情報