
現在cssの勉強をしています。
簡単そうなページを組みなおしたりしながら覚えているのですが、毎回画像置換の方法になやみます。何も考えなければ、text-indent:-9999;などでやってしまうのですが、色々なサイトで問題視されているようにあまり好きではありません。かといって、アンカータグの中身を何もかかずにdisplay:block;とするのもへんな感じがしますし…空spanも…って思います。なんだか気持ち悪いですし、構文的にも正しいといえないと思います。そもそもSEOスパムになるのかとか、そういう部分は置いといて、これが一番しっくりくる!ってやり方ありましたら教えていただけますでしょうか?
「これが正式な方法です」っていうのはないと思いますが、少しでも問題点の少ない書き方を知りたいです。よろしくお願いします。
No.6ベストアンサー
- 回答日時:
結論としては今のところcssでロールオーバーには完全対応できていないのでjavascriptを使う方が無難ということになるように思います。
画像置換を使う理由は大抵css spriteを利用したい時だと思いますが、これはかなり大規模なサイトでないとやる意味ないので。googleみたいにSEOなんて無視して負荷を下げたい時に使うテクニックですよ。
ですが、どうしてもやりたいのであればie6以上で対応可能なlist-item-imageを利用した画像置換がオススメです。
spanをhtmlに追加する必要が出てくることもありますが、空にはなりません。
全部の確認はできていませんが、スクリーンリーダー等にもいくつかは対応していたはずです。
将来的にはoperaが実装しているようにcontentで置換できるようになるかもしれません。alt属性の代替みたいなのもcssで指定できるとかならないとか。
あと追記ですが、a要素内のimg要素のalt属性はちゃんとキャッシュされますよ。この場合のSEOは大抵yahoo!対策だと思いますが、アンカー外のalt属性も一応キャッシュされているようです。ただし、基本的に文章と同じくらい優先度が低くなるため、あまり重要視されていないのでしょう。
回答ありがとうございます。
詳しく解説していただきどうもありがとうございます。cssだと完全に対応することは無理なんですね。IE6を切り捨てることはちょっとできませんが、list-item-imageに関して調べてみたいと思います
色々ととても参考になりました。ありがとうございます。
No.5
- 回答日時:
ずばりこれでしょう。
<html>
<head>
<title></title>
<style type="text/css">
<!--
a {
display:block;
width:100px;
height:50px;
}
a:link {
background:url(http://k.yimg.jp/images/top/sp/logo.gif);
}
a:hover {
background:url(http://www.goo.ne.jp/img2/logo/gh_logo2.gif);
}
-->
</style>
</head>
<body>
<a href="#"></a>
</body>
</html>
回答ありがとうございます。
実際僕もtext-indentの他にこのやり方も使うことあるのですが、a要素の中身が空っぽというのがどうも気になってしまうのです。
どうもありがとうございました。
No.4
- 回答日時:
IE以外ではこんな感じ?
<style>
a img.hide{
display:none;
}
a:hover img{
display:none;
}
a:hover img.hide{
display:inline;
}
</style>
<a href="#">
<img src="1.jpg"><img src="2.jpg" class="hide">
</a>
あとはIEに例外処理をいれればいいでしょう
No.3
- 回答日時:
質問は友人にしているのではありません。
何も知らない人に、質問するのですから、状況を説明し、何をしたいのか具体的に書いて頂かなければ良い回答は得られないと思います。
何となく質問の意図は分かりますが、まだ判りません。
想像を働かすと、画像でボタンを作成したが、画像だけだとスタイルシートが有効で無い場合、何も表示されない。スタイルシートが有効で無い場合は、テキストを表示させたい。
今までは、text-indent:-9999; を利用していたが、これで良いのかと言う疑問を感じている。他に、良い方法は無いか?
と言う内容でしょうか。
上記の質問に関して、自分ならボタンは枠だけにして、「リンク」等の表記はテキストにします。テキストじゃダメなんですか?
後は、visibility: hidden; 等はどうでしょうか、もし SEO を意識するのでば text-indent:-9999; と同じかも知れません。
No.1
- 回答日時:
>毎回画像置換の方法になやみます。
何も考えなければ、text-indent:-9999;などでやってしまうのですが基本、画像置換をしなければならないデザインに問題が有りませんか?
もし、全て画像で有れば、そのまま画像を配置すればよいだけでは?
なぜ、画像をわざわざ置換するのでしょうか、質問の意図が伝わっていないと思います。
>、アンカータグの中身を何もかかずにdisplay:block;とするのもへんな感じがしますし…空spanも…って思います。
この意味も分かりません。
この回答への補足
説明不足ですみません。ロールオーバーの事で悩んでいます。重要なことを書いていなかったようで申し訳ありませんでした。
display:block;や空spanもロールオーバーをするためのものです。
たとえば、width:100px; height:50px;の画像が一枚あったとして、ちょうど半分上が最初に表示されている画像。ちょうど半分下が、hoverしたときに変化する。こんな場合のhtml&cssの書き方を教えていただければと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSSでサイトの背景に画像を組み込みたいのですが反映されません 2 2022/11/22 16:21
- HTML・CSS リンクバナーのHTMLタグ。画像を変えたり、設置位置を変えるとバナー貼付け側はどう見える? 2 2023/02/01 12:01
- HTML・CSS 分数が正常に表示されない。 6 2022/05/09 18:53
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- HTML・CSS CSS上での計算を行うためのルールについて教えてください。 3 2022/08/15 14:43
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- デジタルカメラ 一眼レフ撮影画像の上端の一部が明るいです 2 2023/08/20 11:44
- TOEFL・TOEIC・英語検定 2014年に購入した英文法書でTOIEC対策をしてもよいか? 1 2023/01/08 11:41
- JavaScript HTML&CSS Javascriptによる動的テーブル 1 2023/03/27 19:51
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クリックしても、リンクに飛ば...
-
alt属性はつけるべきか
-
画像に触れたらテキストがでる...
-
アフィリエイトの画像表示について
-
オンマウスで特定の画像だけ1ピ...
-
透過GIFが表示されないんで...
-
HPビルダーでカーソルをのせる...
-
元々あるファビコンが消えない
-
画像クリックで別の画像
-
HTMLでホームページ作成(画像...
-
期間ごとに画像表示を切り替え...
-
アクセスカウンタのタグはどこ...
-
インラインフレーム内のページ...
-
ボタンを押したままにする。
-
HTMLにQRコードを挿入する方法
-
バナーの貼り方とバナーにリン...
-
WEBサイトの一部コンテンツがス...
-
正規表現でリンクタグを削除す...
-
onmouseoverに複数の命令を書き...
-
カーソルを合わせてイメージの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ボタンを押したままにする。
-
クリックしても、リンクに飛ば...
-
スライドショーの上にロゴマー...
-
IMGタグでTIFF画像を表示
-
クリッカブルMAP領域が分かる様...
-
背景が透明なリンクボタンで、...
-
バナーの貼り方とバナーにリン...
-
拡張子無しで画像を表示したいです
-
pngやjsの後ろの英数字の意味は...
-
WEBサイトの一部コンテンツがス...
-
カーソルが画像に触れたら文字...
-
期間ごとに画像表示を切り替え...
-
画像クリックでクリップボード...
-
HTMLにQRコードを挿入する方法
-
アルバムをめくるように、画像...
-
複数のボタンで1つのエリアに...
-
form以外でのpostってできますか?
-
areaタグのマウスオーバー時に枠線
-
タイトルバーに画像を入れるHTM...
-
[twip]から[pixel]への変換
おすすめ情報