relタグにリンクスタイルを指定したい

このQ&Aのポイント
  • 初心者なのですが、試行錯誤をしつつWEBを制作しています。jQueryのFancyboxを使って画像の表示をさせているのですが、その画像に対してリンクスタイル(マウスオーバーで画像に枠線表示)を指定したいです。
  • 具体的なコードの一部を示します。`<a rel="press_group" href="image/press_06.jpg"><img src="image/press_06.gif" width="386" height="546" alt="プレス_06" /></a>`などのような形で、画像とリンクを組み合わせています。
  • どのようにスタイルシートを書けばいいのか教えてください。Fancybox自体は正常に動いています。
回答を見る
  • ベストアンサー

relタグにリンクスタイルを指定したい

いつもお世話になっております。 初心者なのですが試行錯誤をしつつWEBを制作しています。 jQueryのFancyboxを使って画像の表示をさせているのですが、その画像に対してリンクスタイル(マウスオーバーで画像に枠線表示)を指定したいのです。 コードの一部として以下のようになっています。 <a rel="press_group" href="image/press_06.jpg"><img src="image/press_06.gif" width="386" height="546" alt="プレス_06" /></a> <a rel="press_group" href="image/press_07.jpg"><img src="image/press_07.gif" width="340" height="241" alt="プレス_07" /></a> このような場合どのようにスタイルシートを書けばいいのでしょう? Fancybox自体は正常に動いています。 何卒ご教授よろしくお願いいたします。

  • CSS
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

>普通に枠線の表示を指定するとレイアウトが崩れてしまったため、  これは、要素のサイズはpadding辺の内側とされているからです。  width:100pxと指定してあるブロックのpaddingが10px,borderが20pxだとborderの外側は、100px+2×10px+2×20pxとなるからです。  この場合border-color:transparentで透明色を指定しておかなければならないですね。 >画像の周りを全て枠線で囲みたいのですが、  だとしたら、「borderは画像(img要素)」につけなければならないですよ。IEにはバグがあってa要素すべてに枠がつきません。 a[href="image/press_06.jpg"]{ margin: -2px; } a[href="image/press_06.jpg"] img{ border: solid 2px transparent; } a[href="image/press_06.jpg"]:hover img{ border-color:red; }

shiopple
質問者

お礼

お返事が遅れてしまって申し訳ございません。 なるほど、バグがあるのですね。 ご指摘の通り修正致しましたら、すべて枠が表示されるようになりました。 ありがとうございました!

その他の回答 (2)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

属性セレクタを使います。 a[rel="press_group"]:hover{} a[href="image/press_06.jpg"]:hover{} img[src="image/press_06.gif]{} img[width="386"]{} img[height="546"]{} img[alt="プレス_06"]{} だろうが、お好きなように・・ 5.8 属性セレクタ(Attribute selectors)( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/selector.html#attribute-selectors )

shiopple
質問者

補足

ご回答ありがとうございます。 添付した画像をご参照して頂きたいのですが、左端の黄色い四角の下部のみに指定したブルーの枠線が表示されます。因にスタイルの指定をしたのは左端の四角のみです。(問題が起こっている部分を赤線で囲んでいます) 画像の周りを全て枠線で囲みたいのですが、何が原因かお分かりになりますでしょうか。 CSSの方は以下のようになっています。 a[href="image/press_06.jpg"]:hover { margin: -2px; border: solid 2px #9af;} 普通に枠線の表示を指定するとレイアウトが崩れてしまったため、 http://css-eblog.com/csstricks/mouseover-border-effect.html こちらのサイトを参考にしました。

回答No.1

relタグって何ぞ? FancyBoxはリンククリック時に新しい要素を追加して表示しています。 なのでリンクタグの部分をどうしようと何も影響しません。 <div class="fancybox-wrap fancybox-desktop fancybox-type-image fancybox-opened" tabIndex="-1"> <div class="fancybox-skin"> <div class="fancybox-outer"> <div class="fancybox-inner"> <img class="fancybox-image" alt="" src="xxx"> </div> <a class="fancybox-nav fancybox-prev" title="Previous" href="javascript:;"><span></span></a> <a class="fancybox-nav fancybox-next" title="Next" href="javascript:;"><span></span></a> </div> <a class="fancybox-item fancybox-close" title="Close" href="javascript:;"></a> </div> </div> 上記のようなものが追加されるので、「fancybox-image」あたりに設定すればいいんじゃないでしょうか。

shiopple
質問者

お礼

早速のご回答ありがとうございます! rel属性ですね、失礼いたしました; ORUKA1951さんがご教授くださった方法で上手く行きそうなので、そちらで進めていきたいと思います。ありがとうございました。

関連するQ&A

  • 指定したセルに表示

    画像を触ると拡大表示されるサンプルソース(フリー)ですが、隣り合ったセルに表示させるにはどうすればよいでしょうか? 同じテーブル(セル)内では問題なく動くのですが異なるセルへの表示方法がわかりません。 (Aのセルに拡大・Bのセルにサムネイル)としたいのですが・・・よろしくお願いいたします。 <script language="JavaScript1.1"> <!-- OnMouse = new Array(); for(i = 1; i < 10; i++) { OnMouse[i] = new Image(); OnMouse[i].src = "image/a" + i + ".jpg"; } function OnMoSet1(flag, position) { document.images[position].src=OnMouse[flag].src; return false; } //--> </script> </head> <img src="image/a1.jpg" alt="onmousea-1" border=0 width="318" height="200"> <a href="#" onMouseOver="OnMoSet1(3,0)" onMouseOut="OnMoSet1(1,0)" onClick="return OnMoSet1(3,0)"> <img src="image/a2.gif" alt="onmousea-2" border=0 width="48" height="48"></a> <a href="#" onMouseOver="OnMoSet1(5,0)" onMouseOut="OnMoSet1(1,0)" onClick="return OnMoSet1(5,0)"> <img src="image/a4.gif" alt="onmousea-3" border=0 width="48" height="48"></a></bod </html>

  • ブログにリンク画像を並べて付けたいのですが、下記のタグを入れると「※ボ

    ブログにリンク画像を並べて付けたいのですが、下記のタグを入れると「※ボタンをクリックしてね」の文字と画像の間に何行かの空白が出来てしまいます。これを詰めるにはどうしたらよいでしょうか? ※ボタンをクリックしてね <TABLE><TR> <TD><a href="リンク先"><img src="images/1103fukunoki.jpg" width="134" height="86" alt="" class="pict" /></a></TD><TD> <a href="リンク先"><img src="images/1123yabusati.jpg" width="134" height="86" alt="" class="pict" /></a></TD> </TR> </TABLE>

  • セレクトボックスで、リンクバナーを表示するには

    ブログのサイドバーがかなり長いので短くしたいと考え、リンクバナーをセレクトボックスで表示したいのです。 例えば <P><a href="http://www.kyoraku.co.jp/"><img height="37" alt="kyoraku_京 楽_TOP" src="http://www.kyoraku.co.jp/img/kyoraku.gif" width="99" border="0" name="image" /> <P><a href="http://www.kyoraku.co.jp/"><img height="37" alt="kyoraku_京 楽_TOP" src="http://www.kyoraku.co.jp/img_up/ms_17.gif" width="99" /> <P><a href="http://www.kyoraku.co.jp/"><img height="37" alt="kyoraku_京 楽_TOP" src="http://www.kyoraku.co.jp/img_up/ms_19.gif" width="99" /></P> この様なリンクバナーをセレクトボックスで表示する方法はないのでしょうか。 入れたいリンクバナーは、複数です。 個別リンクの許可は取ってあります。

  • IEとFirefoxでリンクの「hover」の状態が異なります。

    IEとFirefoxでリンクの「hover」の状態が異なります。 メニューに画像を使っているのですが、IEとFirefoxでは「hover」時のbackground-colorのかかり方が異なります。 IEだと画像全体にかかるのですが、Firefoxでは画像の下の方だけにしか色がつきません。 画像をテキストに変更すると、テキスト全体にきちんとかかります。 画像に問題があるのでしょうか? どうすれば解決するのか教えてください。 以下にメニューのソースを載せておきます。 (HTML) <table width="100%" height="40" cellspacing="0"> <tr> <td width="100" ><a href="page1.html"><img src="menu1.gif" border="0" alt=""></a></td> <td width="100" ><a href="page2.html"><img src="menu2.gif" border="0" alt=""></a></td> <td width="100" ><a href="page3.html"><img src="menu3.gif" border="0" alt=""></a></td> <td width="100" ><a href="page4.html"><img src="menu4.gif" border="0" alt=""></a></td> <td width="100" ><a href="page5.html"><img src="menu5.gif" border="0" alt=""></a></td> <td width="100" ><a href="page6.html"><img src="menu6.gif" border="0" alt=""></a></td> <td width="100" ><a href="page7.html"><img src="menu7.gif" border="0" alt=""></a></td> </tr> </table> (CSS) a:hover { background-color: #000000;} どうぞよろしくお願いします。

    • ベストアンサー
    • HTML
  • fancyboxにイメージマップを付けたい

    早急に解決しなければいけない問題なのですが、どうしてもわからず途方にくれています。 どなたか助けていただけませんでしょうか。 fancyboxで表示したイメージ画像にイメージマップを付け、リンクを飛ばしたいと思っています。 https://gist.github.com/2972293 上記のサイトを参考にして一時は上手く行ったのですが、 いくつかの画像にそれぞれ個別のリンクを設定しようとしたところ、同じリンク先にしか飛ばない事に気付きました。 #Mapを増やせばいいのかなと思ったのですが(#Map2や#Map3など) 自分で書いても上手くいきませんでした。 どうすれば複数の画像に別々のリンク先を設定するようにできるでしょうか。 ご回答宜しくお願いします。 一応自分で書いたhtmlを載せておきます。 ----------------------------- <script type="text/javascript"> $(function() { $(".fancybox").fancybox({ padding:0, margin:0, onComplete: function() { $('#fancybox-img').attr('usemap', '#Map'); } }); }); </script> <a href="images/test.jpg" class="fancybox"><img src="images/test.jpg" alt="イメージ" width="138" height="111" /></a> <map name="Map" id="Map"> <area shape="rect" coords="317,347,547,364" href="http://yahoo.co.jp/" target="_blank" /></map> <a href="images/test2.jpg" class="fancybox"><img src="images/test2.jpg" alt="イメージ" width="138" height="111" /></a> <map name="Map" id="Map"> <area shape="rect" coords="317,347,547,364" href="http://google.co.jp/" target="_blank" /></map>

  • テーブル幅を完全に指定したい

    テーブル幅の指定方法を教えてください。 以下のような記述のテーブルを何列も羅列して 表を作ろうと思っています。 alt="小A"~alt="小D" のところは 項目ごとのアイコン画像が入り、その項目に該当するものが無い場合は空白となるような表です。 実際にブラウザで表示してみると、widthの設定はしているのに、空白をつくると 若干ですが横幅が変わってしまい、表として並べたときにそのズレが目立ちます。 何がいけないのか、お知恵を拝借できませんでしょうか。 宜しくお願い致します。 以下、その表の一部である テーブルになります。 <table bordercolor="#ffffff" width="520" height="80" align="center" cellspacing="3"> <tr><td bgcolor="#ffcccc"> <table> <tr> <td width="100" bgcolor="#ffcccc" align="center" valign="middle"> <a href="★" target="_blank"><img src="■.gif" width="80" height="60" border="0" class="pict"/></a> </td> <td width="260" align="left" valign="center"> あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよ </td> <td valign="center"> <img alt="中" src="■.gif" width="80" height="60" class="pict" /> </td> <td width="25"><a href="★" target="_blank"><img alt="小A" src="■.gif" width="25" height="60" class="pict" /></a></td> <td width="25"><a href="★" target="_blank"><img alt="小B" src="■.gif" width="25" height="60" class="pict" /></a></td> <td width="25"><a href="★" target="_blank"><img alt="小C" src="■.gif" width="25" height="60" class="pict" /></a></td> <td width="25"><a href="★" target="_blank"><img alt="小D" src="■.gif" width="25" height="60" class="pict" /></a></a></td> </tr> </table></td></tr></table>

    • ベストアンサー
    • HTML
  • 1つの画像オンマウスで3つの画像を切り替えたい!

    現在、下記のような感じで一つの画像オンマウスでその画像を含む3つの画像が切り替わるようにしています。 ---------------------------------- <a href="#" onMouseOver="11111.src='a.gif';22222.src='b.gif';33333.src='c.gif'" onMouseOut="11111.src='a_01.gif';22222.src='b_01.gif';33333.src='c_03.gif'"><img src="aaaaaa.gif" alt="" width="94" height="32" border="0" name="11111" /></a> <img src="b_01.gif" alt="" width="572" height="50" name="22222" /> <img src="c_01.gif" alt="" width="96" height="32" border="0" name="33333" /> ---------------------------------- IE6だと、きちんと表示されるのですが、 Firefoxだと表示がおかしくなります。 改善方法はありませんでしょうか? 助けてください!

  • tableの作成方法について

    よろしくお願いします。 表を以下のように作成しました。 表の横のラインに罫線を引きたいのですが記述方法が分かりません。 表の周りにはcssで記述して2pxの罫線を引いてあります。 どなた様か、ご指導の程よろしくお願いします <table> <tr> <td rowspan="3" class="b"><img src="img/wg.jpg" alt="パソコンノウハウ" width="190" height="250" /></td> <td class="c"><img src="img/txt21.gif" alt="" width="168" height="24" /><br /> </td> </tr> <tr> <td class="d"><img src="img/9.gif" alt="パソコンノウハウ" width="41" height="63" /> <img src="img/ten.gif" alt="パソコンノウハウ" width="21" height="63" /><img src="img/8.gif" alt="パソコンノウハウ" width="41" height="63" /> <img src="img/0.gif" alt="パソコンノウハウ" width="41" height="63" /><img src="img/0.gif" alt="パソコンノウハウ" width="41" height="63" /> <img src="img/en.gif" alt="パソコンノウハウ" width="131" height="63" /></td> </tr> <tr> <td class="e"><a href="http://www."><img src="img/enter_off.gif" alt="" width="349" height="83" /></a></td> </tr> ----------------------------------------------------------------ここに横の罫線を引きたいのですが記述方法が分かりません。 <tr> <td rowspan="3" class="b"><img src="img/wg.jpg" alt="パソコンノウハウ" width="190" height="250" /></td> <td class="c"><img src="img/txt22.gif" alt="" width="103" height="23" /><br /> </td> </tr> <tr> <td class="d"><img src="img/1.gif" alt="パソコンノウハウ" width="41" height="63" /><img src="img/0.gif" alt="パソコンノウハウ" width="41" height="63" /> <img src="img/ten.gif" alt="パソコンノウハウ" width="21" height="63" /><img src="img/8.gif" alt="パソコンノウハウ" width="41" height="63" /> <img src="img/0.gif" alt="パソコンノウハウ" width="41" height="63" /><img src="img/0.gif" alt="パソコンノウハウ" width="41" height="63" /> <img src="img/en.gif" alt="パソコンノウハウ" width="131" height="63" /> </td> </tr> <tr> <td class="e"><a href="http://"><img src="img/enter_off.gif" alt="" width="349" height="83" /></a></td> </tr> </table>

    • ベストアンサー
    • HTML
  • css 背景画像(1つ)とリンク付き画像(複数)を中心に表示したい。(

    css 背景画像(1つ)とリンク付き画像(複数)を中心に表示したい。(超初心者です。) 現在、Kompozerをつかってホームページを作成しています。 添付画像のような配置にしたいので、いろいろなサイトを参照したのですがどうしてもうまくいきません。 現在のソースは以下のようになっており、ブラウザで表示すると背景画像が表示されません。 あまりにも知識がなく、不快な思いをさせてしまったら申し訳ございません。 ご指導いただければうれしいです。 よろしくお願いします。 *ソース <html><head> <meta content="text/html; charset=Shift_JIS" http-equiv="content-type"> <title>ページタイトル</title> <style type="text/css"> </style> </head><body> <div style="text-align: center;" background-image:="" url **.jpg ;width:450px;height:450px;=""><br> <br> <img style="width: 137px; height: 137px;" alt="" src="**.gif" border="0"><br> <br><p style="text-align: center;"> <a href="**.html"><img style="border: 0px solid ; width: 92px; height: 230px;" alt="" src="**.jpg"></a><a href="**.html"><img style="border: 0px solid ; width: 92px; height: 230px;" alt="" src="**.jpg"></a><img style="width: 92px; height: 230px;" alt="" src="**.jpg"><a href="**.html"><img style="border: 0px solid ; width: 92px; height: 230px;" alt="" src="**.jpg"></a><br></p> </div> </body></html>

    • ベストアンサー
    • HTML
  • CSSレイアウトの配置ずれについて

    本を見ながらHTMLとCSSを作成したのですが、どのブラウザで見てもclass指定した"slideItems"の位置が右にズレてしまいます。解決方法わかる方、教えてください。 以下、htmlとcssです。 html↓ <body> <div id="newBook"> <div class="item"> <ul id="slideItems"> <li><a href="#"/><img src="img/IMG_0162.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム1</h4> <p>コメント1</p> </li> <li><a href="#"/><img src="img/IMG_0135.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム2</h4> <p>コメント2</p> </li> <li><a href="#"/><img src="img/IMG_0164.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム3</h4> <p>コメント3</p> </li> <li><a href="#"/><img src="img/IMG_0140.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム4</h4> <p>コメント1</p> </li> <li><a href="#"/><img src="img/IMG_0171.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム5</h4> <p>コメント1</p> </li> <!--2ページ--> <li><a href="#"/><img src="img/IMG_0162.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム1</h4> <p>コメント1</p> </li> <li><a href="#"/><img src="img/IMG_0135.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム2</h4> <p>コメント2</p> </li> <li><a href="#"/><img src="img/IMG_0164.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム3</h4> <p>コメント3</p> </li> <li><a href="#"/><img src="img/IMG_0140.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム4</h4> <p>コメント1</p> </li> <li><a href="#"/><img src="img/IMG_0171.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム5</h4> <p>コメント1</p> </li> <!--3ページ--> <li><a href="#"/><img src="img/IMG_0162.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム1</h4> <p>コメント1</p> </li> <li><a href="#"/><img src="img/IMG_0135.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム2</h4> <p>コメント2</p> </li> <li><a href="#"/><img src="img/IMG_0164.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム3</h4> <p>コメント3</p> </li> <li><a href="#"/><img src="img/IMG_0140.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム4</h4> <p>コメント1</p> </li> <li><a href="#"/><img src="img/IMG_0171.jpg" alt="サンプル画像" width="50" height="63" /> <h4>サンプルアイテム5</h4> <p>コメント1</p> </li> </ul> </div> <div class="leftBtn"> <a href="javascript:startmove('left');"><img src="img/prev.gif" alt="左へ" width="25" height"25" border="0" /></a></div> <div class="rightBtn"> <a href="javascript:startmove('right');"><img src="img/prev_r.gif" alt="左へ" width="25" height"25" border="0" /></a> </div> </div> </body> css↓ #newBook { margin: 30px; position: relative; } .item { height: 115px; width: 500px; padding: 10px 0px; overflow: hidden; position: absolute; left: 40px; top: 0px; } .leftBtn,.rightBtn { text-align: left; width: 40px; position: absolute; top: 0px; } .leftBtn { text-align: left; left: 0px; } .rightBtn { text-align: right; left: 540px; } .item ul { width: 1500px; position: absolute; left: 0px; top: 0px; } .item li { background-color: #999999; height: 100px; width: 100px; list-style-type: none; padding: 10px 0px 5px; float: left; text-align: center; } #slideItems { position: absolute; left: 0px; top: 0px; }

専門家に質問してみよう