
恥ずかしながら、最近ようやく『同一idは一つのページ内で複数用いるべきではない』の意図するところが分かってきました。これまで、この事を理解していなかったがために、
aaa ←文字色:青、背景色:黄
bbb ←文字色:緑、背景色:黄
ccc ←文字色:青、背景色:赤
ddd ←文字色:緑、背景色:赤
といった表現を実現するために、
---CSSファイル内の記述---
.blue{color:blue;}
.green{color:green;}
#bg_yellow{background-color:yellow;}
#bg_red{background-color:red;}
---HTMLファイル内の記述----
<div class="blue" id="bg_yellow">aaa</div>
<div class="green" id="bg_yellow">bbb</div>
<div class="blue" id="bg_red">ccc</div>
<div class="green" id="bg_red">ddd</div>
というようなソースをよく書いておりました。この場合、idの意味を理解して、解決するには、例えば下の3通りの方法があるように思います。
(1)IDを4つ作成し、1つずつ適用する
---CSSファイル内の記述---
#blue_bg_yellow{color:blue;background-color:yellow;}
#green_bg_yellow{color:green;background-color:yellow;}
#blue_bg_red{color:blue;background-color:red;}
#green_bg_red{color:green;background-color:red;}
---HTMLファイル内の記述----
<div id="blue_bg_yellow">aaa</div>
<div id="green_bg_yellow">bbb</div>
<div id="blue_bg_red">ccc</div>
<div id="green_bg_red">ddd</div>
(2)クラスを4つ作成し、1つずつ適用する
---CSSファイル内の記述---
(1)の『#』を『.』にする
---HTMLファイル内の記述----
(1)の『id』を『class』にする
(3)クラスを4つ作成し、2つずつ適用する
---CSSファイル内の記述---
.blue{color:blue;}
.green{color:green;}
.bg_yellow{background-color:yellow;}
.bg_red{background-color:red;}
---HTMLファイル内の記述----
<div class="blue bg_yellow">aaa</div>
<div class="green bg_yellow">bbb</div>
<div class="blue bg_red">ccc</div>
<div class="green bg_red">ddd</div>
今回の例では、数も少なく、どれでもそれほど変わらない感じですが、この(3)の書き方には、どれほどのブラウザが対応しているのでしょうか?
個人的に使用しております
・Firefox 2.0
・Internet Explorer 6.0
では動作するのですが、それ以外のブラウザでの動作に関してご存知の方は、ぜひ教えて下さい。(特にMacは持っていませんので、Macのブラウザの情報は非常にありがたいです)
ある程度のブラウザで動作するようなら、
.b,strong{font-weight:bold;}
.i,em{font-style:italic;}
.u,ins{text-decoration:underline;}
.s,del{text-decoration:line-through;}
.u_s{text-decoration:underline line-through;}
のように、よく使いそうな表現をまとめたスタイルシートを作ろうかな、などと考えております。打ち消しながら下線引く事なんかはまずないとは思いますが、これは例えばの話です。
長文を最後までお読みいただきありがとうございました。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
一部のJavaScriptのライブラリを使うときに、
スタイルシートが半角スペースで区切っていくつも指定できる、というルールを考慮していないものがありますので、
そういうのを使う場合に不具合が出ます。
スクリプトを使わずにスタイルシートだけなら、たぶん大丈夫だと思います。
> 打ち消しながら下線引く事なんかはまずないとは思いますが
特別な必要がなければ <span class="s u"> でいいと思います。
1文字のクラス名(クラスセレクタ)についてはわかりません。
省略しすぎてわかりにくくなる、ということかも知れませんが。
アンダースコアは使えませんので、
underscorePlusStrikeなど、大文字を混ぜてみてはいかがでしょうか。
No.2
- 回答日時:
#1さんと同意見で、classを複数利用しておりますが問題なし。
後半の .b,strong .i,em .u,ins .u_s
は間違いです。一文字指定もいけません。
「.b」はクラスで? 「strong」は<strong>でそのまま?
何故わざわざclass指定するのでしょうか?
それなら
<p class="bol">クラスで太字</p>
-------------------------
.bol { font-weight:bold }
No.1
- 回答日時:
classを複数書けないブラウザというのは聞いたことがないので、
安心して使って構わないと思いますよ。
(class名にアンダーバー「 _ 」が使えないブラウザはありますが)
なお、あくまで例だとは思いますが、
class="blue i u_s"とか、スタイルを直接連想させる名称はあまりよろしくありません。
http://www.kanzaki.com/docs/html/htminfo17.html# …
こちらの「クラス名の考え方」という部分。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTML要素のid/class名の長さに...
-
個別にリンクの色を変える方法
-
CSS内で使われる山括弧の意味が...
-
idの中のid指定
-
cssでハイパーリンクの線を...
-
クリッカブルマップにツールチ...
-
リンク文字の 一部だけ色を変...
-
[HTML] selectの線を非表示に...
-
htmlの文字が縦書きになる
-
含む含まないという概念自体の...
-
複数のボタンを等間隔に、かつ...
-
ulタグやliタグの中でbrタグ...
-
リストマーカーをボックス内に...
-
ドロップダウンメニューが隠れ...
-
htmlのolやulなどlistにtitleや...
-
<li>タグの数が増えすぎたので...
-
ボタンをセル内一杯に表示させ...
-
cnt <= (others => '0'); の意...
-
html/cssの、navを2段にする...
-
画面を縮小するとカラムが落ち...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのid属性って必要なの?
-
個別にリンクの色を変える方法
-
idの中のid指定
-
liリストタグの背景色に色がつ...
-
サイトにjQueryが使用されてい...
-
HTML要素のid/class名の長さに...
-
CSSのクラス名・ID名の指定でワ...
-
a要素の色を複数使い分ける方法
-
FC2掲示板をトピック一覧表示型...
-
スタイルシートについて
-
CSSに同じclass名がいっぱい‥。...
-
brにクラスをつけてcssでdispla...
-
webデザイン 疑問点
-
CSS 記事内link色変更方法
-
親エレメントに含まれる子エレ...
-
cssでIEとFIREFOX(とchrome)の...
-
CSS内で使われる山括弧の意味が...
-
css:positionの挙動について
-
スタイルシートのドットが#に...
-
dreamweaverのコード画面で波線。
おすすめ情報