• ベストアンサー

CSSを1ページに1枚作るのって変ですか??

変な質問ですみません。 CSSなのですが、10ページ、ページがあった場合CSSを10個作ってそれぞれ専用と考え、リンクさせるのって、これは変だと思われますか? ちょっと分かりにくいですね・・・。 1ページに対して書く1枚ページ専用のCSSファイルがあるということです!! というのは、共通部分があるページなら1つのファイル内で簡単に対応できるのですが、1ページ、1ページが全く関連付け出来ない、いわゆる共通性の無いページだと、記述が長くなると分けが分からなくなるのです・・・。 皆さんはこの様なときはどう対処されますでしょうか??ちなみにこの方法はW3C的にはどうなのでしょう??推奨されているのでしょうか? お詳しい方、宜しくお願いいたします。

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

  • ベストアンサー
回答No.10

>CSSを1ページに1枚作るのって 別に問題ないというか、それこそ自由というか意図次第・・・。 >いわゆる共通性の無いページだと、記述が長くなると分けが分からなくなるのです・・・。 別にコメントを記述しておくなり、それこそ別ファイルで説明書(メモ程度で可)を記述すれば済む事。 それ以前に内部規約でも作って、意味あるID名称,CLASS名称等とする事が大事では??? 「記述が長くなると分けが分からなくなる」のなら、個別にファイル分けしても後日になるといろいろ忘れてしまい効果が・・・。 という事で、「記述が長くなると分けが分からなくなる」事を理由としての個々の別ファイル化は不適切。 作者にとって診やすいのが「別ファイル化」であるから選んだという程度の事かと・・・。 結局、好みの問題・・・。 ポイントとしては、更新というか使い回しが困難ではないかという事ですねぇ~。 共通部分がないから別々と選択した後に、あるページを一部分を流用して他のページを更新しようとした時など、HTML はコピーしたとして CSS は既存部分との競合が心配され安易にコピーできません・・・。 また、共通化というか規則性がないみたいなので、覚えておかないといけない事が全ページ分と分量が多くなります・・・・・。 目の前に記述そのものはあっても、何がしたかったのかとか何故そうしたのかとかなどの、理由,背景はコメント等で残さない限りは記憶頼りです・・・。 後日、何故自分はここにこの様な指定をしたのだろうという疑問にぶち当たる事も・・・。 その覚えるべき対象が、全ページ共通性も考えず規則性も考えずに別ファイルにする事で回避する事で大量になるのですがぁ~。 最後に、私は完全に事前に内部規約を作成して、命名規則から何から意味が判る様にし、その内容を記述して残しています。 故に、CSS の記述を見ただけで、固有の物はそれぞどこで用いる意図かという事が判ります。 欠点は、大幅改装などを行い規約を含めて変更する時には、結構手間がかかります・・・。

404not_found
質問者

お礼

みなさん沢山のご意見有難う御座います。 少し私の表現も過剰だったと思うのですが、ようはイレギュラーなページを作る際にはどうしたらよいのかということがポイントでした。 皆さんの意見も賛否両論、 管理が行いやすいほうを取り入れればいいということでようか? 分けて便利になる方もいれば、分けたことによって管理が面倒になる方もいると思います。私もそれは実感できます。 ただ、CSSの基本概念というか知りたかったので大変参考になりました!! w3c的にも分けることが非推奨とは無いようですし、それこそ自由なのかもしれません。 皆さん本当に有難う御座いました。 私都合で申し訳ないのですが、もう少しここの場所を開放しておきます。 有難う御座いました。

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

その他の回答 (9)

回答No.9

問題ないと思います。 自分の場合、共通用CSSと各々用CSSとで ページ数分+1(共通用)で持つ場合があります。 1つのCSSファイルが極端に長くなると見づらいですし 同様の記述が複数のファイルにされているのも嫌なので この方法であれば、 共通項目は共通のCSSへ 個別項目は各々のCSSへ振り分けられます。 参考までに。

全文を見る
すると、全ての回答が全文表示されます。
  • partita
  • ベストアンサー率29% (125/427)
回答No.8

私の場合は 404not_foundさんのようにCSSを別々にしたこともあります。また、別の方法を選択したこともありますそれはひとつのCSSにすべて記述することです。 当然、idやclassの名称を重複しないようにする必要がありますが、管理はそれほど大変ではありませんでした。むしろ、CSSファイルがひとつになったことで管理しやすくなったと言えるかもしれません。ただし、<head>~</head>を#includeなどで一括管理する際には、CSSを少なくする方法がベストだと思います。 また、CSSの作成については ・フォントスタイル ・フォームエレメント ・ページレイアウト ・共通属性 ・etc のように分ける方法もあります。 さらに、共通性のないページを作成するときは、<head>内にスタイルを記述することもあります。余計にCSSファイルを作りたくないからです。期間限定ページなどは特にこの方法をとります。 「W3C的には・・・?」ですが、むしろいいことだと思います。

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

CSS10ページですか・・・ははは。管理大変そう。 私の場合、どんなに内容が少なくても2枚にはなります。(IE4、MacIE4.5をはねるために)ですからあなたのやり方だと20ページのCSS・・・・おそろし~ 全く、共通性がないというのは、CSSで配置だけを指定されるからですか? BodyやLinkやH1~H6は? #6の方のように1枚にまとめきる方が理想だと思いますよ。どうしても「この記述がかぶる」場合は分けますがね。 あるサイトで38枚のHTMLに対して9枚CSSを書く羽目になったことがありますが、管理面倒でした。(TT)

全文を見る
すると、全ての回答が全文表示されます。
noname#58564
noname#58564
回答No.6

こんばんは。 変ではないにしても、一般的ではないかもしれませんね。 というのも、質問者様のおっしゃるようにそれぞれ専用のCSSファイルがある場合、CSSの内容を変更したい場合は該当するCSSファイルを見つけなければいけませんよね。 それが10ページならまだ探しやすいですが、100ページ、200ページともなると探すのが面倒です。(あくまで個人的意見ですが。) わたしは、ページ数が何枚でも大抵CSSファイルはひとつです。 CSSファイルを何個も管理するのが面倒なのでそうしています。 この指定ってどこのCSSファイルに書いたっけ?もしかして他でも同じような表現してなかったかな?もし同じような表現してたら全部探して変えなきゃ!という不安が常につきまとうので、できるだけCSSファイルをひとつにしようとしています。 といってもCSSファイルの中でページ分けはされています。 例えば01.htmlというファイルがあった場合、bodyタグ直下くらいからページ全体を覆うように<div id="01"></div>でかこってしまいます。 それに続く02.htmlは<div id="02"></div>でかこい、さらに03.htmlは<div id="03"></div>でかこうというようです。 すると一枚のCSSファイルの中でページ分けをして記述することができますよね。もちろん共通事項も書き入れます。 こうすると何か探したいときでも検索がかけやすいですし、管理がしやすいのでいつもこうしています。 独学ですので自分のやり方で正解なのかはわかりませんが、参考になれば幸いです♪

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

それでは、HTMLの外部にスタイルシートを記述する意味が無いような気がしますが、個人の自由です。 個人的にはお薦めしません。

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

「共通性の無い」ことと「記述が長くなると分けが分からなくなる」ことの関係がよく分かりません。 共通性がないなら、各ページごとに一つづつ CSS ファイルが必要になるのはしょうがないことです。しかし、それと「記述が長くなる」ことがどう関係しているのでしょうか。 共通性があってもなくても、記述が長く複雑になれば訳が分からなくなって当然だと思いますが。

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

W3C的なCSSの考え方からすると、カスケード機能(参考URL)を活用して、共通CSSと特定CSSの複数のCSSファイルによってデザインを管理するのが望ましいと思います。 私の場合、default.cssという全ページ共通のCSSファイルと、例えばpage01.htmlのためのpage01.cssといった個別のCSSファイルを用意して、HTMLファイルから二つのCSSファイルを呼び出して使っています。 まだそれほど大規模なサイトを作ってないので使ってはいませんが、コンテンツがグループ化されている場合にはgroup1.cssというようなものを作れば、より構造的な管理が可能になります。

参考URL:
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/present/styles.html
全文を見る
すると、全ての回答が全文表示されます。
noname#21843
noname#21843
回答No.2

サイト管理のしやすさだと思います。 もし,100個のHTMLファイルがあるとして,1つのCSSファイルならば,背景色・背景画像・文字の色・リンクの色・見出しの装飾などを,1つのファイルを操作するだけで変更することができます。各ページにCSSファイルがあると,100個のCSSファイルを操作する必要があります。はじめはいいかもしれませんが,デザイン変更をするときに,とってもめんどっちいです。変更ミスがあると,サイト内でデザインがばらばらになってきます。 ページごとにデザインが違うサイトって変ですよね。普通,同一サイトなら,全てのページが統一されていて,一目で同じサイトだと分かるはずです。それならば,全てのページに同じスタイルシートを適用してもいいはずです。 私の場合,トップページに一つと他の全てのページに一つの二つのスタイルシートを使っています。

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

問題はないと思います。もともと、見た目はHTMLタグではなくてスタイルシートにてというのがW3Cの推奨ですから。 それを各ページの見た目間の統一や生産性の向上のために統一のCSSを使いましょうといっているだけなので、どう使おうが個人の自由かと。

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

関連するQ&A

  • 外部cssの記述方法について

    よろしくお願いします。 cssを外部リンクにしたくご質問をさせて頂きました。 まず、始めにフォルダの構成ですがWフォルダというのがあります。 その中に、1というフォルダがあります。 その1フォルダの中にトップページが入っています (直下に置きたくないため) そのトップページのcssを外部リンクにするために以下の記述を<head>~</head>内にしました。 <link href="1.css" rel="stylesheet" type="text/css" media="all" />  ←inde.htmlにのみ適用したいcss <link href="commonness.css" rel="stylesheet" type="text/css" media="all" /> ←全てのページに共通に適用したいcss 上記の記述で、cssファイルは1フォルダの中に保存しました。これですとcssは適用されるのですが これを1フォルダの中にcssフォルダを作成して、cssファイルを cssフォルダに保存して以下のように記述すると cssが適用されなくなってしまいます。 <link href="css/1.css" rel="stylesheet" type="text/css" media="all" /> ←inde.htmlにのみ適用したいcss <link href="css/commonness.css" rel="stylesheet" type="text/css" media="all" /> ←全てのページに共通に適用したいcss また、別のページですが、1フォルダの中にaというフォルダを作成してtest1.htmとtest2.htmlが入っております。 その際ですが、commonness.cssは共通で適用させたく、更にはtest1.htmとtest2.htmlにのみ適用させたいcssもあるのですが htmlへの記述方法がいまいち理解出来ずご質問をさせていただきました。 私は、Wというフォルダにcssというフォルダを作成して、その中に全てのcssファイルを保存しようと考えていたのですが、考え方が間違っておりますでしょうか? 共通に適用させたいページが保存してあるフォルダの中全てに、commonness.cssファイルを保存した場合、 いざ、編集する際に全てのcssを編集しなければならなく、それでは外部cssにする意味が無いと思うのですが やはり、そうでしょうか? うまく、説明が出来ないのですが、どなた様かご指導の程よろしくお願いします。

    • ベストアンサー
    • HTML
  • 一部のページにデフォルトCSSを読み込ませない方法

    一部ページにCSSを読み込ませない方法がありましたら、 ご教授ください。 例えば、 全ページに以下のCSSを共通で読み込ませてあります。 <link rel="stylesheet" type="text/css" media="screen" href="css/common.css" /> <link rel="stylesheet" type="text/css" media="screen" href="css/index.css" /> しかし、test.htmlだけ <link rel="stylesheet" type="text/css" media="screen" href="css/index.css" /> を読み込ませたくありません。 つまり、 <link rel="stylesheet" type="text/css" media="screen" href="css/common.css" /> は通常通り読み込んで、 <link rel="stylesheet" type="text/css" media="screen" href="css/index.css" />のみを 除外したいです。 * 共通のCSSは外すことはできません。 * また、CSSを新たに追加することもできません。 * head内にスクリプトを記述することができますが、スクリプトの記述で解決できますでしょうか。 自分で検索もしてみたのですが、答えに辿りつけません。 どのような方法がありますでしょうか。 何か方法がありましたら、ご教授ください。 よろしくお願いいたします。

    • 締切済み
    • CSS
  • CSSの分割とウェブサイトの表示速度 (SEO)

    . よく、【(1)HTTPのリクエストを抑えるために、複数のCSSファイルはひとつにまとめる】ということが言われますが、一方で、【(2)表示速度のためにCSSを分割する】ということが推奨されることもあります。 この2つが一見矛盾する感じで少々混乱しております。 ここで、例えば、ホームページ・記事ページ・製品ページの、3つのページが存在するウェブサイトを仮定するとします。 【質問A】 そこで、(1)については、ある一つのページにおいては、もしCSSを複数呼び出している場合には、できるだけその複数のCSSファイルをまとめた方がHTTPのリクエストが少なくなるのでよい。 そして、(2)については、各ページにおいては、ページごとにCSSファイルを分けていた方がそのページでは使わない無駄なCSSコードを読み込ませなくて済むのでよい。 ということなのでしょうか? 【質問B】 そうすると、全てのCSSファイルを一つにまとめてしまうのではなく、例えば上の3つのページに共通するCSSをcommon.css 、それぞれのページに特有なCSSをindex.css、article.css、product.css といった感じで読み込ませるようにすることは、(1)(2)の両方をある程度両立させる方法といえますでしょうか? 【質問C】 質問Bの内容を具体的に実現するには、HTMLのヘッダー部分をテンプレートパートにして、まずcommon.cssについては<head>に<link>で記述しておき、index.css、article.css、product.css についてはその下に条件分岐で記述して各ページで該当のCSSを読み込ませるという方法で問題ございませんでしょうか。 .

    • ベストアンサー
    • CSS
  • CSSの呼出方法と表示速度 (SEO)

    . HTML内で外部CSSファイルを呼び出す方法について、表示速度の面で記述を迷っ ている部分があります。 例えば、ホームページ・記事ページ・製品ページの、3つのページが存在するウ ェブサイトを仮定するとします。 そして、3つのページに共通するCSSをcommon.css それぞれのページに特有なCSS をindex.css、article.css、product.css とするとします。 【方法A】 HTMLのヘッダー部分をテンプレートパートにして、まずcommon.cssについて<link > で記述し、index.css、article.css、product.css についてはその下に条件分 岐で記述して、CSSファイルを呼び出していく 【方法B】 HTMLのヘッダー部分をテンプレートパートにせず、ホームのページのHTMLにcommon.css 及びndex.cssを<link>で2つ記述、記事ページのHTMLにcommon.css及びarticle.css を<link>で2つ記述、製品ページのHTMLにcommon.css及びproduct.cssを<link>で 2つ記述、してCSSファイルを呼び出していく。 Bの方法は管理の手間はかかることになりますが、テンプレートパートを使い条 件分岐をするAと条件分岐をしないBで、各ページで表示速度に違いは出るもの なのでしょうか .

    • ベストアンサー
    • CSS
  • CSSでのページ構築について

    CSSでのページ構築について CSSでのサイト制作に挑戦しています。 まずは、テンプレートをつかってカスタマイズしてみようとおもい、テンプレートをDLしました。 「フッタ/左メニュー/メインコンテンツ/フッタ」というブログなどでよくあるものです。 (縦三段で、真ん中が左右2つに別れている2カラム) CSSファイルは、外部読み込み形式です。 トップページを作って、いざメニューからメインページのリンクを貼ろうと思ってつまずきました。 左ページのコンテンツメニューに設定したリンクを、右側の枠内に表示したいのですが、そういった場合は、どうすれよいでしょうか。普通に右側の内容をいれたHTMLにリンクすると、全画面がそのページになってしまって、ヘッダ/左メニュー/フッタは消えて(隠れて)しまいます。 ヘッダや左メニューをそのままにしてページ数を増やしたいときは、トップページをひたすらコピーして、右側の要素部分だけを変更していくのでしょうか? でも、それだとCSSにする意味がないというか、全然楽ではないですよね。 左メニューの項目が増えた時など、全ページを修正しなければならなくなりますし。 自分なりにCSS関連のサイトを検索して調べてみたのですが、どこも「トップページをそのままコピーしているようにしかみえない」のです。 右側ページ内容のHTMLに、ヘッダやメニューも読み込ませるような設定が必要なのでしょうか? ソフトはDW CS4を使っています。 どなたか、CSSの達人さま、教えてくださいませ。 お願い致します。

  • CSSファイルの管理方法でアドバイスをください。

    私はサイト制作初心者です。 現在、ページ数がおよそ30pのサイトをレスポンシブWebデザインにて制作しております。 とりあえず制作を・・・とおもい管理のし易さを無視してたった6つのcssファイルだけで構成しているのですが、横幅毎のcssファイルがとてつもなく膨大な記述量になってきました。 各ページ毎にちょっとした演出やデザインを入れていいたら、結果すごい記述量に・・・。 <現在のcss構成イメージ> import.css  ↑base.css  ↑device_1.css(数百行)  ↑device_2.css(数百行)  ↑device_3.css(数百行)  ↑device_4.css(数百行) レスポンシブWebデザインのサイトなので、各デバイス用のcssファイルをimport.css内に@import"●●"という形で1つにまとめ、htmlファイルにはlink relでこのimport.cssだけを記述しています。 一応、全ページ共通のタグをできる限りbase.cssにまとめ、各ページ毎の個別cssファイルは作らず、デバイス毎という形で一括で記述していきました。 そうすると、あれよあれよと各デバイス毎のcssがものすごい記述量でカオスな事になってしまいました。 当然といえば当然ですが。。。 そこで、cssファイルを各ページ毎に分けるべきかどうか悩んでおります。 色々ネットで調べたのですが、『cssは分ければ分けるだけ読み込み速度が遅くなっていく!』というのを知り、さらに調べると『記述量が多くても読み込みが遅くなる』という事も知り、もう一体どうしたら良いのだろうか?とさらに悩やんでおります。 読み込み速度を優先して現状のままの構成でいくのか・・・ 管理を考えて個別にしていくのか・・・ お詳しい方々、ぜひアドバイスをください! お願いします!

    • ベストアンサー
    • CSS
  • cssが長くなってしまう。他に良い方法は?

    サイトのレイアウトをCSSで行なっているのですが、例えばノーマルなテキストの色・スタイル、リンクの色などの設定がぺージ(コンテンツ)ごとに違います。なので「pタグ内のスタイルはこれ」と絶対的に定めることが出来ません。 全ページでテンプレートを使用していて、それが既に外部CSSを1つ呼び出しています。コンテンツごとにCSSを用意するのがスマートに思えますが、そうすると外部CSSを複数指定することになります。どこかでこの方法は推奨されないと聞いたんですが、本当ですか? もしそうである場合、その1つのCSSに全ページ分のスタイルを記述することになりますが、それもまたCSSのソースがバカでかくなってしまいます。 これはどうするべきでしょうか?

  • W3Cに準拠したページ

    質問させてください。 現在W3Cに準拠したページを作成しております。 htmlやxhtmlで静的なページを作成している段階では、ソースチェッカー(another htmlを使用)でよい点数をとれるのですが、プログラムの記述(jspファイルでEC動的ページ)をした場合のソースチェックでは、プログラムの記述部分がチェッカーにひっかかってしまい、よい点数となりません。 動的ページをW3Cに沿った書き方にする方法はあるのでしょうか。 もしくは、W3Cで推奨されているのは、静的ページに特化したものなのでしょうか。 動的ページに関してのW3C注意事項、ソースの書き方などが閲覧できるページがあるのであれば、教えていただけますと幸いです。 どうぞ宜しくお願いいたします。

  • Flashで作ったメニューを含む画像を全ページ共通にしたいのですが(外部ファイル読み込み)

    カテゴリにCSSがなかったのでここに投稿させて頂きます。外部ファイルを読み込ませて全てのページで共通の画像などを表示する方法を詳しく教えて頂きたいのですが。 Flash MXでリンクをつけたメニューを作ってそれを全てのページで表示させたいのですが外部ファイルを作って読み込む方法がスマートだと検索エンジンから辿り調べてみたら書いてあるサイトを多数見つけたのですが具体的にどう記述したらいいのかわからないのですが教えて頂けないでしょうか。.jsファイルを作る事や.cssファイルを作る事など書いてありましたが具体的に中身の記述がよく分かりません。どうかよろしくお願いします。

  • css の適用について

    HP作成の勉強に、ローカル内で、htmlとcssを試しに書いてみたところ、 cssが適用されず、困っております。 外部のcssファイルを読み込む場合も、htmlの<head>や要素に<style>を追加する場合も適用されません。<head>内でlinkや属性指定の記述もしており、パスもあっています。 W3Cの検証も済んでいます。htmlとcssのコーディングも一致させています。 作成の環境は、Mac OS X version 10.9.4で、Emacsで書いています。 また、どのブラウザでも適用されていません。 他に考えられるとしたら、どのような原因で適用されないのでしょうか? 教えて頂きたいと思います。よろしく御願いします。

    • ベストアンサー
    • Mac