• 締切済み

CSSの整理方法

CSSの初心者です。 現在、「common.css」にて ***CSS内表記*** -------------------- ページ名1 -------------------- td.xxx{ color:#ffffff; font-size:10px; } ---------------------- ページ名2 ---------------------- td.yyy{ color:#ffffff; font-size:10px; } ***CSS内表記終わり*** 上記の様に1枚で整理しておりますが、 他に良い表記方法、整理方法はありますでしょうか? 1つのページ内に「td.」クラスが10個ほどあります。 ちなみに「td.」クラス内の量が10列ほど、      ページ数は現在10ページほどです。 他に書き方や、書き方の講座の良いHPがございましたら 教えて頂けますと助かります。 よろしくお願いいたします。

みんなの回答

  • abril
  • ベストアンサー率69% (388/560)
回答No.1

「1つのページ内に「td.」クラスが10個ほど」ある状態(×10ページ)なら、そろそろCSSを分割した方が管理がしやすいかもしれないですね。今後どんどんコンテンツが増えて行くかもしれないでしょうし。 色々考え方はありますが、一つのパターンとして(ファイル名は適当です): ・common.css…サイト全体のどのコンテンツにも共通するスタイル部分のみを記述。例えば、ベースとなるフォントサイズやカラー、ヘッダー/メイン/フッター/ナビのレイアウト部分など。 ・home.css…ホーム(トップページ)にのみに使用するスタイル。 ・category_a.css…カテゴリAのコンテンツのみに使用するスタイル。 ・category_b.css…カテゴリBのコンテンツのみに使用するスタイル。 といった様に。 ※あくまで一例です。サイトの構造やメンテナンス性に対する制作者の考え方で分割の仕方は色々ありますので、これが最適、というわけではないです。 CSSを効率よく分割する事で、idやclass等を減らしたり親子関係を明記しなくても済む様になったりするので、CSS内のセレクタ及びHTMLのマークアップがすっきりするというメリットも期待できます。例えば、今まで一つのファイルにまとめて記述していた時は: 【カテゴリAでのみ使用する表のセルの色】 td.category_a { background: #fcc; } 【カテゴリBでのみ使用する表のセルの色】 td.category_b { background: #ccf; } という様にclass名が被らない様に設定しなければなりませんでしたが、もしカテゴリAとカテゴリBで参照するCSSファイル自体が異なるのであれば単に: 【カテゴリAでのみ使用する表のセルの色】 td { background: #fcc; } 【カテゴリBでのみ使用する表のセルの色】 td { background: #ccf; } という様にする事も可能となるわけです。 その上で、各カテゴリのHTMLファイルから直接参照するのは、そのカテゴリに特化したCSSファイルのみにします。例えば、ホーム(トップページ)のHTMLファイルからならhome.cssのみを参照します。 しかし、そのままでは肝心のcommon.cssが参照されないので、今度はhome.cssにcommon.cssをインポートしてやります。インポートというのは、home.cssの中で、home.cssを読み込む前にcommon.cssを読み込んでおく為の記述をしておく事です。@importルールというもの適用します。common.cssとhome.cssが同一階層内にあるなら、home.cssの先頭に以下の記述(何れか一つ、どちらでも)をします。 @import "common.css"; @import url(common.css); これにより、ホーム(トップページ)のHTMLファイルに適用されるスタイルはcommon.cssを参照してからhome.cssが参照される、という事になりますのでHTMLファイル内に直接、 <link href="css/common.css" type="text/css" rel="stylesheet" media="all"> <link href="css/home.css" type="text/css" rel="stylesheet" media="all"> の順番で参照した時と同じ順番(継承)でスタイルが適用されます。 なお、必要に応じて、インポートするCSSファイルは複数指定もできますし、インポートしたCSSファイルが更に別のCSSファイルをインポートしている、という状態にもできます。まあでもそれは、サイトのコンテンツの量が巨大になりスタイルも多様性に富んで来た場合などは、そういう対応も必要になってくる場合もある…ぐらいに思っておいて下さい。 @importルールの詳細については、以下のサイトなどを参考にしてみて下さい。 http://w3g.jp/css/guide/at_rule http://www.tagindex.com/stylesheet/basic/format7.html

nyaruruu
質問者

お礼

大変丁寧で分かりやすい記述をありがとうございます。 色々な整理方法があると思いますが、 こちらで一度試してみようと思います。 @importにつきましても勉強してみようと思います。

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

関連するQ&A

  • FireFoxでCSSのボーダーが反映されません

    FireFoxでのCSS表示について教えて下さい。 現在、IEでは見れるものがFireFoxで反映されておりません。 どこかに原因があるとは思うのですが、見つからないのです。。。涙 Bodyとページ全体のCSS、及び問題箇所のCSSを記述します。 #body { margin: 0px;  width: 100%;  padding: 0px;  border: 0px;  height: auto;} #page { background-color: #ffffff;  width: 746px;  height: auto;  margin: 0px;  padding: 0px;  border-collapse:collapse;  border: 0px;  border-spacing:0px;} #page td {line-height: 120%;  font-size: 12px;  color: #000000;} #contents1 {width: 746px;  border-collapse:collapse;  border-spacing:0px;  margin:0px 0px 5px 0px;}  border: 1px solid #666633; #contents td {font-size: 12px;  line-height: 120%;  color: #000000;  padding-top: 2px;  padding-bottom: 2px;} #contents2 {width: 350px;  height: 45px;} #contents2 td { border: 1px solid #999999;  font-size: 12px;} ※contents1は外枠のみボーダーカラーをつけたいと思います。 contents2では、tdのみ枠をつけて、外枠は表示させたくありません。 (大枠の中にいくつか枠付きの行が表示される状態にしたいです) idではなくclassにする方が良いのでしょうか? CSSについては独学なので、記述もほとんどDW頼りです。 参考サイトなどご存知でしたら教えて下さい。。。 以上、よろしくお願いいたします。

    • ベストアンサー
    • CSS
  • HTML、テーブルが下に落ちます。

      様々な実験をしてみましたが上手くいきません。何が原因なのでしょうか?  ちなみにレンタルブログのFC2を利用しています。記事のページにこのタグを貼り付けてアップしてみました。  HTMLをチェックするサイトで確認しましたが非常に悪い評価でした。  どうすれば正常に表示されるのでしょうか?  また、私は2列のメニューを作成したいのですが他にテーブル以外の方法はありますでしょうか? <table bgcolor="#000000" width="80%" cellpadding="2" cellspacing="1" style="font-size:14px;" summary="top menu" > <tr> <td bgcolor="#000000" > <b style="color: #ffffff;font-size:15px;">■</b> <b style="color:#ffffff;font-size:16px;">あおうえお</b></td> <td bgcolor="#000000" > <b style="color: #ffffff;font-size:15px;">■</b> <b style="color:#ffffff;font-size:16px;">かきくけこ</b></td> </tr> <tr> <td bgcolor="#000000" > <b style="color:#ffffff;font-size:5px;">●</b> <a href="http://××" style="color:#ffffaa;" >さしすせそ</a></td> <td bgcolor="#000000" > <b style="color:#ffffff;font-size:5px;">●</b> <a href="http://××" style="color:#ffffaa;">たちつてと</a></td> </tr> <tr> <td bgcolor="#000000" > <b style="color:#ffffff;font-size:5px;">●</b> <a href="http://××" style="color:#ffffaa;">なにぬねの</a></td> <td bgcolor="#000000" > <b style="color:#ffffff;font-size:5px;">●</b> <a href="http://××" style="color:#ffffaa;">はひふへほ</a></td>  </tr> <tr> <td bgcolor="#000000" > <b style="color:#ffffff;font-size:5px;">●</b> <a href="http://××" style="color:#ffffaa;">まみむめも</a></td> <td bgcolor="#000000" > <b style="color:#ffffff;font-size:5px;">●</b> <a href="http://××" style="color:#ffffaa;">やゆよ</a></td>  </tr> <tr> <td bgcolor="#000000" > <b style="color:#ffffff;font-size:5px;">●</b> <a href="http://××" style="color:#ffffaa;">わいうえお</a></td> <td bgcolor="#000000" > <b style="color:#ffffff;font-size:5px;">●</b> <a href="http://××" style="color:#ffffaa;">テスト</a></td>  </tr> <tr> <td bgcolor="#000000" > <b style="color:#ffffff;font-size:14px;">■</b> <b style="color:#ffffff;font-size:15px;">テスト2</b></td> <td bgcolor="#000000" > <b style="color:#ffffff;font-size:5px;">●</b> <a href="http://××" style="color:#ffffaa;">テスト3</a></td>  </tr>  お手数ですがご教授をお願いします。

  • かなり困ってます!CSSが適用されません…

    WindowsXPでDreamweaverMXを使っています。 body {font-size: 12px;} .px10 {font-size: 10px;} という内容の外部スタイル「css.css」を作り、テンプレートに「css.css」を適用しました テンプレートを元にページをつくり、部分的に <td class="px10">文字列</td> といった感じで適用しました。 Dreamweaver上ではちゃんと適用されているのですが、ブラウザでみてみると文字が小さくなっていません。 bodyの12pxはブラウザ上でもちゃんと適用されています。 何がいけないのか、わかりません。どなたか解かるかたがいたらお知恵をかしてください。

    • ベストアンサー
    • HTML
  • cssでtableを指定したい

    教えてください。 cssでテーブルを指定しているのですが、別の幅のテーブルを指定したいときはどうすればよいのでしょうか。 現在はこういうふうに書いています。ちょっと汚いですが。。。 ----------------------------- #content #main p{ margin:10px 18px 25px; font-size:12px; } #content #main table { border-collapse: collapse; background-color: #FFFFFF; width: 480px; margin:0px padding; border: 0px #000000: 1px; } #content #main caption{ text-align: right; padding-right: 5px; font-size:12px; } #content #main th {     border: #999999 1px solid; font-size:12px; font-weight: normal; background-color: #D8EAFC;      padding: 5px; } #content #main td{ border-right: #999999 1px solid; border-top: #999999 1px solid; border-left: #999999 1px solid; border-bottom: #999999 1px solid; font-size:12px; text-align: left;      padding: 5px; } ----------------------------- 実際にタグを書くときは、こう書いています。 ----------------------------- <table> <tr> <th>aaaa</th> <td>5555555555555555555555555555</td> </tr> </table> ----------------------------- これをmaintable subtable というふうに幅が違うものにしたいのですが、cssにmaintableを追加して、<table class=maintable">と指定しても、maintableではなく、tableで表示されます。 こういう場合はどうすればよいのでしょうか?

    • ベストアンサー
    • XML
  • css/上部に移動させたい。参考URLあり。

    お世話になります。 http://www.sonzai.net/tama/index.html 下の車と動いているgifネコを地平線部分あたりに 上げたいのですが、css・htmlをどのように改変したら良いでしょうか? 宜しくお願いします。 【gif猫】 #tama1 { font-size: 11px; color: #FFFFFF; font-weight: normal; text-align: center; padding-bottom: 110px; padding-left: 470px; letter-spacing: 1px; } 【小窓・秘密の応接間】 #window1 { font-size: 11px; color: #FFFFFF; font-weight: normal; padding-top: 53px; padding-left: 370px; letter-spacing: 1px; } 【小窓・リンク】 #window2 { font-size: 11px; color: #FFFFFF; font-weight: normal; padding-top: 6px; padding-left: 298px; letter-spacing: 1px; } 【車】 #kuruma { font-size: 11px; color: #FFFFFF; font-weight: normal; padding-left: 68px; letter-spacing: 1px; }

    • ベストアンサー
    • HTML
  • このCSSで間違いがありますか?

    下記のCSSで上手く認識しません。 どこか間違いがありますでしょうか? お詳しい方宜しく願います。 table.cal tr td{ padding:2px; border-style:none; color:#575757; } tr.out{ margin:20px 20px 10px 20px; text-indent:0em; font-size :12px; letter-spacing:0.2em; line-height:1.5; color:#575757; } td.outs{ margin:20px 20px 10px 20px; text-indent:0em; font-size :12px; letter-spacing:0.2em; line-height:1.5; color:#575757; }

  • CSSでエラーが出ました

    CSS初心者です、宜しくお願いします。 CSS Validatorで検証した結果 文法解析エラーが発生しましたtext04 p・・・ @layout-grid-line : 1.8; text04 p・・・Parse error - Unrecognized } と結果が出ました、 以下CSS記述 .text04{ font-size : 16px; font-family: Arial,"MS Pゴシック","MS UI Gothic",Osaka,Sans-Serif; line-height : 1.8; color : #666666; background-color : #ffffff; margin-left : 0px; width : 662px; padding-left : 10px; } .text04 p{ font-size : 14px; font-family: Arial,"MS Pゴシック","MS UI Gothic",Osaka,Sans-Serif; line-height : 1.8; color : #666666; background-color : #ffffff; margin-left : 0px;  layout-grid-line : 1.8; } どなたかご指導ください、お願いします。

    • ベストアンサー
    • HTML
  • CSSを使った丸ナンバー付きテーブルの挿入

    HTMLで作成した丸ナンバー付きテーブルをスタイルシートを使って挿入しようと思っているのですが、肝心の数字の部分が真っ白になってしまいました。関係しそうなところだけ抜き出してみました。 (↓headの中に書いてある) body {background-color: white; background-image: url(dolp2.gif); color: #000000} table, td {width: 800px; border: 2px #C0C0C0 solid; border-collapse: collapse; background-color: #ffffff;} (↓body以下に書いてある) <div><Table border="0"><Tr><Td> <Table border="0" cellspacing="0" bgcolor="#009500" cellspacing="0" cellpadding="5" style="color:#ffffff;font-size:25px;font-weight:bold;width:40;filter:Alpha(opacity=100,finishopacity=0,style=2);"> <Tr><Td align="center" valign="middle"> 1 </Td></Tr></Table> </Td><Td width="350"> ===ここに文章を書いて下さい1=== </Td></Tr> <Tr><Td> <Table border="0" cellspacing="0" bgcolor="#009500" cellspacing="0" cellpadding="5" style="color:#ffffff;font-size:25px;font-weight:bold;width:40;filter:Alpha(opacity=100,finishopacity=0,style=2);"> <Tr><Td align="center" valign="middle"> 2 </Td></Tr></Table> </Td><Td width="350"> ===ここに文章を書いて下さい2=== </Td></Tr> <Tr><Td> <Table border="0" cellspacing="0" bgcolor="#009500" cellspacing="0" cellpadding="5" style="color:#ffffff;font-size:25px;font-weight:bold;width:40;filter:Alpha(opacity=100,finishopacity=0,style=2);"> <Tr><Td align="center" valign="middle"> 3 </Td></Tr></Table></div> </Td><Td width="350"> ===ここに文章を書いて下さい3=== </Td></Tr></Table> このようなタイプのものはheadやcssにあげたほうがいいのでしょうか? 最初はこのままbodyのなかに収めておこうかと思っていたのですが、上記のような事態になってしまったのでどうしたらいいのか困っています。 HTML初心者なので、なにとぞ宜しくお願いします。

    • ベストアンサー
    • HTML
  • 楽天オークション HTMLエラー

    楽天オークション商品説明文の欄にHTMLを挿入した結果「PC用説明文欄に認められていないHTMLタグ、または「<」「>」が入力されています。各入力項目ごとの利用可能なHTMLタグをご確認ください。」というエラーが出ました。 どなたか解決方法をお教えください。 <div align="center"> <table width="695" cellpadding="1px" cellspacing="1px" bgcolor="#187353"> <tr> <td align="center"><font color="#ffffff" size="+1"><strong>商品データ</strong></font></td> </tr> </table> <table width="700" cellpadding="5px" cellspacing="3px"> <tr> <td width="270" bgcolor="#30AA8E"><font color="#ffffff" size="-1"><strong>■ 参考価格</strong></font></td> <td width="270" bgcolor="#30AA8E"><font color="#ffffff" size="-1"><strong>■ 販売価格</strong></font></td> </tr> <tr> <td width="270" bgcolor="#EFEFEF"><font color="#231815" size="-1">29,800円</font></td> <td width="270" bgcolor="#EFEFEF"><font color="#231815" size="-1">24,500円</font></td> </tr> <tr> <td width="270" bgcolor="#30AA8E"><font color="#ffffff" size="-1"><strong>■ ランク</strong></font></td> <td width="270" bgcolor="#30AA8E"><font color="#ffffff" size="-1"><strong>■ 型番</strong></font></td> </tr> <tr> <td width="270" bgcolor="#EFEFEF"><font color="#231815" size="-1">N(新品・未使用品)</font></td> <td width="270" bgcolor="#EFEFEF"><font color="#231815" size="-1">J1234</font></td> </tr> <tr> <td width="270" bgcolor="#30AA8E"><font color="#ffffff" size="-1"><strong>■ 色</strong></font></td> <td width="270" bgcolor="#30AA8E"><font color="#ffffff" size="-1"><strong>■ サイズ</strong></font></td> </tr> <tr> <td width="270" bgcolor="#EFEFEF"><font color="#231815" size="-1">BLACK</font></td> <td width="270" bgcolor="#EFEFEF"><font color="#231815" size="-1">縦30cm 横10cm</font></td> </tr> <tr> <td width="270" bgcolor="#30AA8E"><font color="#ffffff" size="-1"><strong>■ 素材</strong></font></td> <td width="270" bgcolor="#30AA8E"><font color="#ffffff" size="-1"><strong>■ 付属品</strong></font></td> </tr> <tr> <td width="270" bgcolor="#EFEFEF"><font color="#231815" size="-1">レザー</font></td> <td width="270" bgcolor="#EFEFEF"><font color="#231815" size="-1">なし</font></td> </tr> <tr> <td colspan="2" bgcolor="#30AA8E"><font color="#ffffff" size="-1"><strong>■ コメント</strong></font></td> </tr> <tr> <td colspan="2" bgcolor="#EFEFEF"><font color="#231815" size="-1">小さなシミ(変色目立つ)小傷若干(角擦れ目立つが破れなし)</font></td> </tr> </table> </div> 宜しくお願い致します。

  • CSS:スタイルシートでテキストリンク

    教えてください!! 外部ファイルのスタイルシート(CSS)を使って、各ページへジャンプするテキストリンクをマウスオーバー時に太字になるように設定しています。 IE6.0では問題なく起動していますが、NS7.1,Firefox1.0では、機能していません。何か対処方法はないでしょうか? ↓私の記述は以下の通りです↓ 【外部ファイルへのリンクの記述】 <link rel="stylesheet" type="text/css" href="../menu.css" title="menu" /> 【外部ファイル内のCSSの記述】 .menu { font-family: "MS Pゴシック", Osaka; font-size: 12px; font-style: normal; line-height: 14px; color: #FFFFFF; text-decoration: none; } .menu a:link { color: #FFFFFF; text-decoration: none; } .menu a:visited { color: #FFFFFF; text-decoration: none; } .menu a:hover { color: #FFFFFF; font-weight: bold; text-decoration: none; } .menu a:active { color: #FFFFFF; font-weight: bold; text-decoration: none; }

このQ&Aのポイント
  • 障害年金と国民年金の併給はできない?国民年金を繰下げ受給するメリットとは
  • 障害年金と国民年金の併給はリスクがある?将来の国民年金額の減少に注意
  • 国民年金を65歳から受給するか、75歳まで繰下げ受給するかの選択肢
回答を見る