- ベストアンサー
HTMLとCSSでのClass属性がわかりません
- HTMLとCSSでのClass属性について
- 画像の周りに線がついてしまう問題の解決方法
- HTMLとCSSで画像を挿入する方法
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
記述が間違っています。 img.icon =>iconというクラスが設定されているimg を意味しています。 ですので、 .icon img と書けばiconというクラスが設定されている何らかのタグの中にあるimgを指します。 imgであればどの場合でもborderを表示したくないのであれば、 img { border:none; }だけで十分です。
その他の回答 (3)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
<div class="icon"> <a href="リンク先"><img src="パス名"></a> </div> まず、リンクのある画像にのみ枠線を消したいわけですから、 a:link img{border:none;} で良いです。通常はユーザービリティのため、他の画像のボーダーは消さないほうがよければ、div.icon a:link img{border:none;}となります。 このセレクタは、次のような意味です。 1) classの(空白で仕切られた)値のリストのひとつにiconという文字列を含む汎用ブロックの子孫にある、 2) リンクの始点であるa要素の子孫の 3) img要素 には、枠線をつけない ページ内のすべてのリンクのある画像に枠をつけないなら、a:link img{border:none;}でよいです。a img{border:none;}でもよい。 なぜ、HTMLの要素<img src="" border="1">と書かれていても、それで枠がつかないかも知っておきましょう。 ★ブラウザ(ユーザーエージェント)がもっているスタイルシートをしらべる ★HTMLの要素に【属性として】書かれた枠線指定border=1などは、詳細度(selector's specificity)をゼロとし、すべての宣言の前に書かれているとみなす。 ★外部スタイルシート→ヘッダ内のスタイルシートと並べ替える。 ★重要度important!をしらべる ★詳細度が同じなら後から出たものを優先する。 a img{border:none;}の詳細度は[0,0,0,2] a:link img{border:none;}の詳細度は[0,0,1,2]:linkはリンクに関する擬似クラス div.icon a:link img{border:none;}の詳細度は[0,0,1,3] <img style="border:none;">なら詳細度は[1,0,0,0] ★このカスケーディング処理はCSS(カスケーディングスタイルシート)の最も重要な仕組みですから、CSSを使うなら最初に覚えておくべきです。そうすると無駄なidやclass名を使わず、しかも意図した要素にスタイルが適用できます。 →6.4 カスケード処理 ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/cascade.html#cascade )CSS2 の邦訳 →6.4 The cascade ( http://www.w3.org/TR/CSS2/cascade.html#cascade ) CSS2.1 注意)詳細度の計算はCSS2.1で変更されています。CSS2.1がウェブ標準 [参考] これが、HTMLのheader部分にあるならHTMLが <div class="header"> <h1>見出し</h2> <p><a href="[URL]"><img></p> だけでよい。無駄なものを書かない div.header p a:link img{}でよい。
- kosukejlampnet
- ベストアンサー率44% (126/282)
補足に書いてあることをしたいのであれば、セレクタを .icon img { } とすればいいですよ。
CSSのセレクタは「その要素」に作用します。 「class=icon」がついているのは?<div>であって<img>ではないですよね?でも線を消したい要素は<div>ではないですよね?そういうことです。
お礼
<div>セレクタにClass名を付けてしまってたという単純なミス?なんですね~ 初心者なので、イマイチ理解出来てないですが・・・ ちょっと頑張ってみます。 ありがとうございました
補足
img.icon =>iconというクラスが設定されているimg を意味しています ↑ スミマセン・・・初心者で、意味がわかりません(汗 例えば・・・ <div class="icon"> <a href="リンク先A"><img src="画像A"></a> <a href="リンク先B"><img src="画像B"></a> </div> <a href="リンク先C"><img src="画像C"></a> とした場合、<div>~</div>で囲まれているセレクタないの img要素の属性をコントロール出来ると思っていたのですが・・・・ (画像A,Bのみに適用し、画像Cは対象外) 根本的に理解の仕方が間違ってるのでしょうか? すみません。もう少し、手を貸してください。