• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:cssで定義したクラス情報をcssセレクタ内で使用)

CSSセレクタを使用してクラスを一括で適用する方法

このQ&Aのポイント
  • CSSセレクタを使用してクラスを一括で適用する方法を教えてください。
  • CSSセレクタを使用してクラスを一括で適用する方法を知りたいです。
  • CSSセレクタを使って複数の要素に一括でクラスを適用する方法を教えてください。

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

  • ベストアンサー
  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.9

No.3.8 naokitaです。 複数のページや特定箇所以外にも、 class="label"があって、 特定の箇所の大量に続くspanが想定する場所のspanを class="label"未使用で、他のclass="label"と統一したいって事ですね? 更に、.label{ } と #view span{ } とを 一箇所のみ(一発/一気)で一元管理したいんですね? ----- 今現在、2つのセレクタがあります。 .label{ } と #view span{ } この場合、当然、2つの同じ値も存在するので、 変更時は、2カ所の変更が必要だから、一元管理とはいえません。 よって、2つのセレクタを一箇所で統一設定します。 1カ所だけの変更なら、一元管理と言いますね!? >>あくまで一元管理したいんですよ。 1カ所だけの値を変更すれば、他のHTMLの .label と 特定箇所の #view span を同時に変更は出来る。 セレクタで値を定義するが、値をセレクタで定義は出来ない。 (属性セレクタを除く) だから、 セレクタと同じ値を持つセレクタを同時に定義するって事! これをCSSの「一元管理」と言う。 つまり、 .label と #view span を同時に指定し、値を統一する事。 .label , #view span{ color:blue;} ■ まずは、下部のソースを表示してから、CSSを変更しましょう。       ↑↑↑↑↑↑↑↑↑ 1、下部のソースを表示すると、「青」が見えると思います。 2、color:blue; を color:green; に一箇所変更すると、   id="view"とid="view"以外のところも変更します。 ※これが、CSSでの「一元管理」です! このソースで1カ所で「color:green;」と変更できても 一元管理では無いと言うのなら、 動的に出力するしかないです。 class名をインクルードしましょう。 但し、適応させる為に別の動的ソースが必要です。 単に、CSSと同じですが、動的に一箇所で管理出来ます。 また、更に面倒なプログラムで書けば、 ボタン選択で適応させる事も可能。 それも面倒だというなら、XML,XSLで書いて下さい。 http://ja.wikipedia.org/wiki/Extensible_Markup_Language spanで統一させる事すら必要はありませんから。 これならお望み通りの事が出来るでしょう。 ----- <html> <head> <style type="text/css"><!-- .label , #view span{ color:blue;} /* ←ここ1カ所のみ */ .red , #view span.re{ color:red;} --></style> </head> <body> <div id="test"> <h1>CSS一元管理 | 色比較</h1><hr> <h2>以下は、id="view"以外のHTML</h2> &lt;div id="<b>test</b>"&gt; <span class="label">青</span> | <span class="re">赤</span> | <span class="label">青</span> | <span class="re">赤</span> | <span class="label">青</span> &lt;/div&gt; <p>上のHTMLソースが<q><strong>146</strong>文字</q></p> </div><hr> <div id="view"> <h2>以下は、id="view"</h2> &lt;div id="<big class="re">view</big>"&gt; <span>青</span> | <span class="re">赤</span> | <span>青</span> | <span class="re">赤</span> | <span>青</span> &lt;/div&gt; <p>上のHTMLソースが<q><strong>104</strong>文字</q></p> </div><hr> <h3>一箇所の値を変更するだけで、全部適応されますが・・・</h3> <p>あとは、頭を柔軟に、貴方のHTML,CSSの書き方次第で、どうにでもなります。</p> </body> </html>

himura99
質問者

補足

ご回答ありがとうございます。 また、丁寧なサンプルまでご提示頂きありがとうございます。 さて、サンプルも確認させて頂きましたが、やはり要件を満たす事が出来ないようです。 前回の補足でも書きましたがあくまでも「.labelという宣言」があり、それを 「別のセレクタでも適用したい」という話ですので、「#view spanに同じ内容を記述」という時点でアウトなんです。 ちなみに頂いたサンプルだと「.label , #view span{ color:blue;}」をcssファイルに記載した場合、 そのcssを読んだhtmlファイルで#view spanまでも適用されてしまいますのでその点でも厳しいかと思います。 今回のご回答を確認し、私のやりたい事はcssでは不可能であると判断致しました。 長々とお付き合い頂き、誠にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (8)

  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.8

NO.3回答者のnaokitaです。 整理ではなく補足事項ではないでしょうか? 当初の質問内容からならば、前回答者さん達は正解です。 ------- ORUKA1951さんの例は、IE6を除外した子セレクタや隣接セレクタなので 質問者さんと話が合わないんじゃないのかな? それは、別として、 ------- <div id="view">というのは、IDですから ページに1カ所しか存在しないはずです。 当初の質問では、 その#viewの中のspanを <span class="label">ラベル1</span><span class="label">ラベル2</span> とするのは、非効率だから、 class="label"を書かずに、 <span>ラベル1</span><span>ラベル2</span> だけで、spanに、 { font-size:95%; color:blue; } を適応させたいって事ですよね? 誰もが、質問を読んでも、そう理解するはずです。 引っ掛かったのは、#view span{.label}の部分です。 こんな仕様は、CSSにありませんから、 回答としては、「出来ません!」となります。 そこで、 上記の条件で他の方法をCSSだけで考えると、 <div id="view">の中だけの <span>をfont-size:95%; color:blue;にするには、 #view span{ font-size:95%; color:blue;} です。 更に、他のページやセレクタをも考慮するから、 他の class="label"と#view内のspanに適応する為、 .label,#view span{ font-size:95%; color:blue;} のようにすると条件が満たされます。 ---- 他の補足を読む限りでも、  >「この宣言を、特定の要素内のspanに適用したい。」  >というのが希望している内容であります。 特定の要素というのが、 <div id="view">って事ですよね? その中の全てのspanに適応されるって事だから、 #view span{ font-size:95%; color:blue;} で問題無いです。(パソコンの新旧ブラウザなら適応されます) ---- 条件が満たされないというのであれば、 もしかして、以下の様に <span>ラベル1</span><span>ラベル2</span> その特定の要素に別の指定(赤81%)などにしたい<span>が複数あるなら、 <span>青95%</span><span>青95%</span><span>赤81%</span><span>青95%</span> のように「赤81%」のspanも存在するという状況で、 <span>青95%</span><span>青95%</span><span class="labe3">赤81%</span><span>青95%</span> として、 .label , #view span{ font-size:95%; color:blue;} #view span.labe3{ font-size:81%; color:red;} と部分的に上書き。 それでも、 <span class="labe">青95%</span><span class="labe">青95%</span><span class="labe3">赤81%</span><span class="labe">青95%</span> などと書くよりは、かなり効率的です。 この様に、主とするspanを#view span{}で割り当てれば良い事です。 ---- spanが複数あって分けたいのなら、 その#viewに無い(span以外)ような適当なタグを使えば済む。 例えば<b>を適応すれば済む話。 <b>青95%</b><b>青95%</b><span class="labe3">赤81%</span><b>青95%</b> .label , #view b{ font-size:95%; color:blue; font-weight:normal;} #view span.labe3{ font-size:81%; color:red;} ---- No.6さんの例なら、 .label , div.section span{ font-size:95%; color:blue;} No.6での補足なら、 .label , div.label span{ font-size:95%; color:blue;} .label , を追加するだけ。 ---- 全て試して違うなら、動的に出力に。

himura99
質問者

補足

えっとですね、naokitaさんもやはりORUKA1951さんと同様の解釈をされているかと思うのですが、 初めの質問でも整理した補足でも要件としましては一貫して ------------------------------------------------------------- 出来れば  #view span {   .label  } というようにcssで対象を選択して既存のクラス定義を適用したい ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ ------------------------------------------------------------- という事なのです。 例題に挙げるくらいなのですから当然上記の書き方が不可能なのは存じております。 あくまで「予め.labelといった定義を作成」しておき、「#view spanのように対象を指定してそこに .labelという定義を適用する」という方法をお聞きしたいという事です。

全文を見る
すると、全ての回答が全文表示されます。
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.7

んー? ブラウザの実装具合によるけど(具体的にはIE6とか古いのを排除するなら) .label{/*省略*/} #view span{color:red;} <div id="view" class="label"><span /><span /><span /><!-- --></div> これだとspanじゃない部分がどうって言う話だよね?確か。 .label,#view.label span,{font-size:95%;color:blue;} #view.label span{color:red;} <div id="view" class="label"><span /><span /><span /><!-- --></div> 後から書いた部分だけ上書きされるからサイズ95%の赤にならない?これで。 こういうのもやだっていうなら もうperlやphp使って独自includeスクリプト書くしかないんじゃないかな

himura99
質問者

補足

>後から書いた部分だけ上書きされるからサイズ95%の赤にならない?これで。 んー、そこだけ見るとそうはなるんですがやっぱり違うんですよね。 #view.label span{color:red;} という記述で上書きすると確かに赤字にはなりますが、他のHTML等で.labelを使用している箇所は そのままですよね。あくまで一元管理したいんですよ。

全文を見る
すると、全ての回答が全文表示されます。
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.6

>あくまで「この宣言を、特定の要素内のspanに適用したい。」というのが希望している内容であります。  ですから、それは子孫セレクタか子供セレクタをつかいます。 div.section span{font-weight:bold;}で、classの値配列にsectionをもつ【特定の】div要素内のspan要素に適用されますし、div.section>span)color:red}で、classの値配列にsectionをもつ【特定の】div要素内の直接の子供であるspan要素に適用されます。 <div class="section">  <h2>見出し</h2>  <p>なんたらかんたらは<span>重要(1)</span>である。</p>  <span>重要(2)</span> </div> で、重要(1)は太字で、重要(2)は太字でかつ赤く表示されます。

himura99
質問者

補足

ご回答ありがとうございます。 div.label span{font-weight:bold;} ("section"とありましたが"label"に合わさせてもらいます) という記述ですが、これは「この宣言を、特定の要素内のspanに適用したい。」の「この宣言」つまり .label { font-size:95%; color:blue; } を使用していませんよね?仮に.labelがdiv.label spanより先に宣言されていたとしても単なる上書きで あり要件を満たしておりません。 例えば.labelのcolorをredに変更したとき、div.label spanという宣言部に対しても変更が必要となり、 これでは.labelを宣言した意味が低減してしまいます。 ですのであくまで「この宣言」をそのまま用いたいのです。 ご回答の程宜しくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.5

補足を拝見しましたが、それを読む限りでは、No.2で説明した方法でよいはずです。 きちんと読んでますか? 最初の質問にもある >というhtmlに適用したいのですが、spanタグ全てに.labelを指定するのは見辛さからいっても 避けたいと思います。  また補足の >なので、まずセレクタで適用範囲を("#view span"のように)指定し、その範囲に用いたい >クラスを指定するというような方法が無いのかが知りたいというのが主旨です。  もしかり。 No.2の記事をしっかり読んでください。 >cssで文字装飾用の以下のクラスを作成しました。 >.label { font-size:95%; color:blue; }  これはCSSの文法を明らかに理解されていないようです。  この一文は「宣言ブロック」です。!!!  そして、.labelは全称セレクタや要素セレクタを省力した記述方法で本来は *.[class~label]と等価で、その省略形です。  意味は、class要素の値リストにlabel1をもつすべての要素に適用させるというセレクタ文字列です。 REC-CSS2 邦訳 ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/cover.html )  をしっかり読むこと。でないと何を質問しているかを伝えることすらできないです。  あなたの質問を翻訳すると  { font-size:95%; color:blue; }という宣言ブロックを、class要素の値リストにlabel1をもつ【すべての】要素に適合するように記述しました。  注)「上記クラスはspanタグに対して使う為に作成したものです。」は誤りですね。    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   すべての要素に適用されます。    spanに適用するなら     span.label1{}    ^^^^^^^^^^^^でなければなりませんね。!!  5.8.3 クラスセレクタ(Class selectors) ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/selector.html#class-html ) { font-size:95%; color:blue; }  もしこの宣言を、特定の要素内のspanに適用したい。たとえば、classのリスト値にsectionを持つdiv(無名ブロック)内のspanでしたら div[class=~label1] span{font-size:95%; color:blue;} 省略して div.label1 span{font-size:95%; color:blue;} とかけます。このときspanの前にある半角スペースは、「子孫セレクタ」を示します。言い換えると div[class=~label1]の傘下にあるすべてのspanを指定するセレクタ文字列です。 これを直接の子供だけに適用したいなら  div.label1>spanになります。 実際に、No.2で示したHTMLとCSSを試してください。  以上があなたがしたいことに対する回答です。

himura99
質問者

補足

ご回答ありがとうございます。 No.2でのご回答を私が理解していないとお思いでしょうが、ちゃんと読ませて頂いております。 その上で若干齟齬があるようなので詳細に返答させて頂きたいと思います。 まず、 >注)「上記クラスはspanタグに対して使う為に作成したものです。」は誤りですね。 これについては全く誤りではありません。あくまで「私がspanタグに対して使う」と決めて作成した クラスであり、「spanタグに適用されるように作成した」とは書いておりません。 この辺りは単純に日本語の問題なのでこれでご理解頂けるかと思います。 蛇足ですが、これが適用されるのは「class属性に"label"を指定した」要素のみであり、 仰っている「すべての要素に適用されます。」というのは相応しくないと思います。 >もしこの宣言を、特定の要素内のspanに適用したい。たとえば~ 上記ですが、仰るとおり「この宣言を、特定の要素内のspanに適用したい。」のですが、 以降のご説明およびNo.2のご回答はこの要件を満たしておりません。 なぜなら「div.label1 span{font-size:95%; color:blue;}」と直接CSSの内容を記述しているからです。 あくまで「この宣言を、特定の要素内のspanに適用したい。」というのが希望している内容であります。 つまり予め宣言した「.label」を活かせないと意味が無いのです。 以上、お手数をお掛けしておりますがご回答の程宜しくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。
  • abacabu
  • ベストアンサー率37% (250/663)
回答No.4

趣味でWEBサイトを作ってる者です。 <span>が仮にその色を変える対象しかないなら span{......}でよいかと。 もしべつにもあるなら他の回答者様のような div#view span{.....} ←質問にも特にid指定、class指定なかったので。 一応「id」と「class」の使い分けは、 「id」.....<div id="header">など他に出現しない使い方。 「class」......<p class="note emph">など複数指定する場合         p.note{color:red} p.emph{text-decoration:underline} どちらも指定出来ますがこの様な感じで特定のspanにだけidもしくはclassをしていする。 こんなかんじでどうですか? ちなみに<div id="note">→div#note{....} <div class="note">→div.note{....} となります。 知ってたらごめんなさい。

himura99
質問者

補足

ご回答ありがとうございます。 すいません、質問内容がまとまっていなかったので整理します。 .label { font-size:95%; color:blue; } 上記クラスはspanタグに対して使う為に作成したものです。このクラスは複数のhtmlファイルから 使用される事を想定しており、またhtmlファイル内でも複数の箇所で使用されます。 これをSPANタグに適用しようとすると、普通は「<span class="label">」と書きますが、spanタグは 大量にあるためこれはなるべく避けたいのです。 なので、まずセレクタで適用範囲を("#view span"のように)指定し、その範囲に用いたいクラスを 指定するというような方法が無いのかが知りたいというのが主旨です。

全文を見る
すると、全ての回答が全文表示されます。
  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.3

3回読んでやっと意味が分かりました。 それはできませんし、それができたとして、 <div id="view"> <span class="label">ラベル1</span><span class="label">ラベル2</span>~(以降大量に続く) </div> とする方が、非現実的です。 他のHTMLでも class="label"があると仮定して、 .label , #view span { font-size:95%; color:blue; } <div id="view"> <span>ラベル1</span><span>ラベル2</span>~(以降大量に続く) </div> と、HTML側は<span>にままで、CSSに , #view span を追加。

himura99
質問者

補足

ご回答ありがとうございます。 すいません、質問内容がまとまっていなかったので整理します。 .label { font-size:95%; color:blue; } 上記クラスはspanタグに対して使う為に作成したものです。このクラスは複数のhtmlファイルから 使用される事を想定しており、またhtmlファイル内でも複数の箇所で使用されます。 これをSPANタグに適用しようとすると、普通は「<span class="label">」と書きますが、spanタグは 大量にあるためこれはなるべく避けたいのです。 なので、まずセレクタで適用範囲を("#view span"のように)指定し、その範囲に用いたいクラスを 指定するというような方法が無いのかが知りたいというのが主旨です。

全文を見る
すると、全ての回答が全文表示されます。
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

質問の意図がわからないのですが・・ CSSの文法上、規則集合と宣言ブロックになります  CSS2の構文と基本データ型 ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/syndata.html#q8 )  から、 #view span {   .label  } はできません。  .label という記述の意味をまず理解してください。これは HTML内の<div class="label"></div>という要素をさしますが、これは  属性セレクタ div[calss=~label]・・・class属性に空白で区切られた値にlabelを持つ要素の省略形です。div.label と、div .label は異なる。  あなたのしたいことが、#view一意セレクタ(ID selectors)内のspan要素に適用したいのでしたら div#view span という子孫セレクタでよい。直接の子供だけなら div#view>span (子供セレクタ(Child selectors))をつかう。 <div id="ABC">  <p><span>あいうえお</span><span>かきくけこ</span><span>さしすせそ</span><span>たちつてと</span></p>  <div>   <span>あいうえお</span><span>かきくけこ</span><span>さしすせそ</span>たちつてと</span>  </div> </div> CSS div#ABC p{color:red;} div#ABC p span{color:blue;} div#ABC div span{clor:green; div#ABC p>span{color:magenta;} div#ABC div span+span+span{color:purple;} div#ABC div span+span+span+span{color:yellow;} とか

himura99
質問者

補足

ご回答ありがとうございます。 すいません、質問内容がまとまっていなかったので整理します。 .label { font-size:95%; color:blue; } 上記クラスはspanタグに対して使う為に作成したものです。このクラスは複数のhtmlファイルから 使用される事を想定しており、またhtmlファイル内でも複数の箇所で使用されます。 これをSPANタグに適用しようとすると、普通は「<span class="label">」と書きますが、spanタグは 大量にあるためこれはなるべく避けたいのです。 なので、まずセレクタで適用範囲を("#view span"のように)指定し、その範囲に用いたいクラスを 指定するというような方法が無いのかが知りたいというのが主旨です。

全文を見る
すると、全ての回答が全文表示されます。
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

#view span.label,.label{} じゃ だめ?

himura99
質問者

補足

ご回答ありがとうございます。 すいません、質問内容がまとまっていなかったので整理します。 .label { font-size:95%; color:blue; } 上記クラスはspanタグに対して使う為に作成したものです。このクラスは複数のhtmlファイルから 使用される事を想定しており、またhtmlファイル内でも複数の箇所で使用されます。 これをSPANタグに適用しようとすると、普通は「<span class="label">」と書きますが、spanタグは 大量にあるためこれはなるべく避けたいのです。 なので、まずセレクタで適用範囲を("#view span"のように)指定し、その範囲に用いたいクラスを 指定するというような方法が無いのかが知りたいというのが主旨です。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 文章のマークアップについて

    <p><span class="red">「今日は寒いね」</span><br>  彼はそう言って笑った。</p> <p><span class="blue">「あ…、雪だ」</span></p> ↑このような使い方は誤り…。 かと言って <div class="red">「今日は寒いね」</div>  彼はそう言って笑った。<br>  ←この部分だけCSSで指定したフォントスタイルが適用されない。 <div class="blue">あ…、雪だ」</div> <div class="red">「今日は寒いね」</div> <div> 彼はそう言って笑った。<div> <br> <div class="blue">「そうだね」<div> ↑これでは少しこの会話が続いた時に「div病(?)」テキストに書いてありました。 全て同じフォントスタイルを使い且つ1行空けたい場合はどうマークアップすれば良いのでしょうか。 HTML初心者のweb作家です。 タグと具体例を示して頂けるとありがたいです。

    • ベストアンサー
    • HTML
  • CSSの子孫セレクタの使い方について

    CSSでsatelliteクラスの中に含まれるP要素のフォントサイズを一段階小さくしたいのですが、 div#satellite p{ font-size: small; } と書いても反映されません。 どのように書けばよろしいのでしょうか。 回答お願いします。

    • ベストアンサー
    • CSS
  • Dreamweaver8でCSSをつかったときのズレについて

    Dreamweaver8をつかっていて、 CSSでレイアウトをし、コンテンツの中にもdivやspanを頻繁につかっているのですが、Dreamweaver8内のデザインビューだとデザインがずれてしまっているのに、プレビューすると全くずれていません。 タグ上でやることが多いので、おそらく間違っていないとは思うのですが、ソフト上のデザインビューで見たときも、ブラウザでみたときのように正常にする方法はないのでしょうか?

    • ベストアンサー
    • HTML
  • 外部CSSからクラスを呼び出すとき

    CSSスタイルシート初心者です。 ネットショップを運営しているのですが、ほぼ同じレイアウトの商品紹介ページが多数あるため、外部CSSファイルを読み込ませて統一したいと思っています。 H1などのHTMLタグはちゃんと外部ファイルで設定して読み込ませることができるのですが・・・、 .text01{ text-align : left; margin-left : 10px; font-size : 14px; } 上記のように自分が作ったクラスをHTMLソースの中でどのように呼び出してよいのかいまいちわかりません。 本を読んでいると埋め込み方は、<div class="text01">・・・</div>のような感じで<div>でくくって記述するように書いてあるのですが、外部CSSの場合もこのような形で記述してよいのでしょうか? ホームページビルダーを使っていて、上記のように指定すると、CSSがテキストに適用はされるのですが、なぜか上記で表示した部分が赤色でエラーになっていることを示してしまいます。 何か文法的に誤っている所があるのでしょうか? どなたか是非アドバイスを宜しくお願い致します。

  • CSSで定義していないclass指定を削除したい

    CSSで定義していないクラスを、HTML内に多数記述しているのですが、それを簡単に特定出来る方法はありますでしょうか。 例をあげますと、 [HTML] <div class="test01">XXXXXXXXXX</div> [CSS] .test000 { font-size: 18px; } みたいな状態で、HTMLで呼び出しているclass名がCSSで定義していないのです。 CSSとHTMLを照らし合わせ、1個づつ確認するのが確実だとは思うのですが、1000ページ程度あり目視確認は現実的ではないので、、、。 アプリケーションはDreamweaverをつかっています。 どなたか方法をご存知の方がいらっしゃいましたら、宜しくお願いします。

  • CSSの使い方の流儀?

    先日業者にホームページの作成を依頼したところ、 子孫セレクタを駆使したCSSを使ったページが できあがってきたのですが・・・ たとえばこんな感じ <div id="header">   <div class="block1">     <span>・・・・・・</span>     ・・・・・・・   </div>   <span>・・・・・・</span>   ・・・・・・・ </div> <div id="contents">   <div class="block2">     <span>・・・・・・</span>     ・・・・・・・   </div>   <span>・・・・・・</span>   ・・・・・・・ </div> これに対して CSSでこんなスタイルが設定されています(セレクタ部のみ抜粋) #header .block1 #header .block1 span #header span #contents .block2 #contents .block2 span #contents span 私だったらわざわざ複雑な子孫セレクタを使わずに、 個々にクラスかIDを設定すると思うのですが・・・ また、ただ画像が貼ってあるだけと思ったら、 CSSでspanの背景画像として貼ってあったり、 ただの仕切り線と思ったら、 やはりdivのボーダーラインを使っていたり・・・ こういう作りって一般的なのでしょうか? あるいは、何か利点があるのでしょうか? ブログのカスタマイズなどだと、元のHTMLを自分で直せない場合が多いので、 こういうコトをすることが良くある、というのはわかるのですが・・・ あまりにHTMLのタグの構造とCSSが密接に絡んでいて、 ほんの一文追加しようとしただけで苦労していまして・・・ なんでこういう書き方なのかな・・・と、 不思議に思っています。。

  • CSSで、わからないところがあります

    CSSを独学で勉強していますがあるところでソースをもらったのですがこういうのがありました。 CSSのはフォルダを作っています。 default.css import.css style.css の3つです。 内容は下に書いています。 default.cssには @charset "UTF-8"; body { margin: 0; padding: 0; background-color:#FFFFFF; text-align:left; } import.cssには @charset "UTF-8"; /* CSS Document */ @import "default.css"; @import "style.css"; style.css これは他のCSSと同じように沢山書いています。 @charset "UTF-8"; /* CSS Document */ * { font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MS Pゴシック'; font-size: 14px; line-height: 1.6em; } 以下続く 質問1 なぜ3つも必要のなのでしょうか?style.css1つにまとめてもいいのではないでしょうか? 質問2 style.cssの * { font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MS Pゴシック'; font-size: 14px; line-height: 1.6em; } これはアスタリスク*に対して指定しているのでしょうか? 質問3 HTML側にはShift_JISとなっていますが、CSSは@charset "UTF-8";となっており、これって間違いではないのでしょうか? ネットで調べたら、文字化けの要因になると書いていました。 これはあっているのでしょうか? HTML側 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> 質問4 <div id="header" style="background-image:url(img/header.jpg);"> <div id="a"> <div id="b"> <h1 id="a">猫の気持ち</h1> <div id="c"> <span class="blue big3 b">猫の気持ち</span> </div> というソースがありました。 <span class="blue big3 b">猫の気持ち</span> の中の、blue big3 bというの指定が見当たりません。 blue big3 b という各自の指定はCSSでされています。 3つを合わせて指定することができるのでしょうか? それともこれってタグですか? <span class="">って、 色、サイズ、太さをこのように指定するとこのようになるのでしょうか? 確かに色は青で太字でしたbig3は不明ですが・・・ 初心者並の質問ですみません。 よろしくお願いします。 CSSの簡単なサイトを見てもやはりよく分からないのです。

    • ベストアンサー
    • HTML
  • CSSのタグについて

    今CSSを勉強中の者です。一つ質問させて下さい。 とあるサイトで --------------------------------------------- <div id="album"> <ul> <li><a id="photo" href="#">  <em><img src="album/img/photo.jpg" /></em>    <span>写真1</span></a></li> </ul> </div> --------------------------------------------- とHXTML表記があり、CSSの設定は下記のようになっていました。 (※一部抜粋) --------------------------------------------- div#album ul li a em, div#album ul li a span  {  display: none;  } --------------------------------------------- そこで質問です。<em>や<span>のタグを単独で使った 事がなく、どうしてこの二つのタグが使われているの かがわかりません。 特にemはフォントサイズの指定ではないのでしょうか? それともCSSで効果の設定をするために無理に入れて いるだけなのでしょうか。 勉強中の為に訳の分からない質問なのかも知れませんが どなたか分かりやすく教えて頂けますと幸いです。

  • CSSについて

    CSSについて質問させてください。 CSSをタグの中に直接書き込む場合 <div style="color:#ffa500; font-size:20pt; font-weight:bold; text-decoration:underline;"> このような場合のstyle="部分は、styleタグと呼んで いいのでしょうか? divタグの中に記述しているので、styleプロパティと 呼ぶのでしょうか? CSSのリファレンスにはstyleプロパティはありません。 ということは、やっぱりdivタグのstyleプロパティで CSSを指定していると考えるのでしょうか?

  • CSSでクラス内にクラスを横並びに配置したい

    CSSでクラスを使用してレイアウトしているのですが、 クラス内に小さなクラスを二つ横並びに配置したいのですが改段落されてしまいます。 IDだと可能なのですがクラスではできません。 クラスにしたい理由は、同じdivタグを1ページに30個以上使用したいためです。