- ベストアンサー
CSSを利用するにあたって
ホームページをCSSを利用して作りましたが、 ある人(プロではない一般人)にCSSを利用しない方が良いと言われました。 理由は 『CSSをブラウザに対応していない人(切っている人)や CSSファイルがリンク切れする場合もある。』 と言う事らしいのです。 一般的に多くのプロの方々がCSSで作っていますし 全く心配していなかったのですが、考えたらそうかもw 質問 このような事は、多少なりともある事なのでしょうか? もしそうなら head内とかに内部style.cssとして書いたほうが良いのでしょうか? それだったらCSSの意味が少なくなるような...
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
『CSSをブラウザに対応していない人(切っている人)や CSSファイルがリンク切れする場合もある。』 これはCSSを使わない方が良いという理由にはならないです。 CSSってのは装飾を付けるためのもの、例えCSSが反映されなくても基本的には問題はおこりません。 見栄えが淡白になるだけです。 CSSが反映されない状態でおかしくなるようならCSS云々の前に HTMLが正しく書けていないって事になります。 指摘されたという事はそういう事なのかもしれません。 なお、リンク切れは起こり得ます。(なにかのタイミングでファイルの読み込みに失敗する事はあります。) また、例えば文字サイズを指定されると見づらくなる人や特定の色調じゃないと困る人はCSSを切っているかもしれません。 (その上で自作のスタイル(ユーザースタイルシート)を適用させているかもしれません。)
その他の回答 (4)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
結論から言うと、その方のアドバイスは間違っています。ウェブサイトのHTMLを作成するに当たって、信頼すべき基準はあくまで、W3Cの勧告です。 HTML4.01の仕様書には、 Better distinction between document structure and presentation, thus encouraging the use of style sheets instead of HTML presentation elements and attributes.(2.3.2 Accessibility) →文書の構造とプレゼンテーション(見栄え)を要素や属性で指定する代わりにスタイルシートの使用を奨励する。 ・・邦訳はHTML 4.01 Specification (ja)/ http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/cover.html と明言してあります。 具体的に指摘すると ★「CSSをブラウザに対応していない人(切っている人)や」については、HTMLでデザインすること自体にいえる事で、そもそもCSSがなくても、きちんと意味が通じるHTMLを書けばいささかも問題になるはずはありません。もし、スタイルシートを使用せずに書かれていたら、そのHTMLが訪問者にとって読みにくしからとサイト指定のCSSを切って、あるいは自分なりのスタイルシートを適用して閲覧することもできなくなります。 ★「CSSファイルがリンク切れする場合も」について言えば、極めて例外的な場合で、HTMLからリンクしているファイルはスタイルシートだけでなくjavascriptや画像もあります。 ★「head内とかに内部style.cssとして書いたほうが良いのでしょうか?」については、一概に言えませんが、基本的には複数のページで共通するプレゼンテーションは別途記述し、そのページだけに適用されるスタイルシートはそのページの<head></head>内に、さらに、特定の要素だけに適用させたい場合は<要素の属性>として記述するのが良いでしょう。 私は、外部スタイルシートを主に使用しますが、その場合でも <link rel="stylesheet" type="text/css" href="[基本的なCSSのURI]" /> <link rel="stylesheet" type="text/css" media="screen" title="標準" href="[サイトすべてに共通CSSのURI]" /> <link rel="stylesheet" type="text/css" media="screen" title="標準" href="[テーマ毎のデザインCSSのURI]" /> <link rel="stylesheet" type="text/css" media="screen" title="標準" href="[テーマ毎の色指定CSSのURI]" /> という風に、固定スタイルシート/複数の優先スタイルシート/代替スタイルシート、および印刷用スタイルシートを置いています。 そうすることで、HTMLの仕様書/CSSの仕様書/アクセスビリティに関する仕様など、可能な限りW3Cに準拠したものを作成するようにしています。いわゆる【ウェブ標準】 次期IEも、ついに【ウェブ標準】に準拠します。自信を持ってHTMLで文書構造を記述し、プレゼンテーションはスタイルシートで行ってください。 貴方が作成したHTML、およびその方が作成したHTMLを下記参照URI--Another HTML-lint gatewayでテストしてみてください。
お礼
CSSは、外部で1つのテキストでにしています。 リンク切れや沢山あると管理が難しいのでw 文法チェックは、アンカーターゲット部分で注意されましたがほかは、問題ありませんでした。 CSSでのリンク切れは、通常は、無いと考えた方が良いのですね?
こんにちは。 まず、僕はCSSの使用を控える必要は無いと思います。 対応していない人、切っている人というのはごくわずかで、個人がホームページを作る限り、ほとんど気にする必要が無いからです。 また僕の知る限り、CSSのリンクが突然切れたりする事はありません。 CSSがきちんとしていて、ファイル名がきちんと指定されていれば大丈夫です。 外部ファイル化する事によって、サイトのデザインに統一感を出せる、サイト全体のデザインの変更が容易になる、と言うのはCSSの大きな利点の一つです。 一つ一つ内部に記述する必要はありません。 HTMLは文書を記述し、CSSはそれを装飾する役割を持っています。 ですから、万が一CSSがリンク切れなどを起こしても、HTMLが文書としてしっかりしていれば、酷い見た目になる事は無いはずです。 HTMLの構造をしっかりさせた上でCSSを使うのが理想、個人のホームページなのだから"ある人"の言っていた様な事は気にする必要は無い、と言うのが結論です。 逆に、HTMLでむりやり装飾しようとする方がよくないと思います。
お礼
同感でしたが やはり言われたりすると一理あるんですよねw CSSがリンクエラーの場合とか考えてなかったので・・・ 他のサイト見ていてテキストオンリーのサイトとか、 CSSが切れてるのかな?って。心配しすぎですか?・・・
前者はブラウザにユーザーズ・スタイルシートを組み込んでる場合。 後者は外部ファイル化して読み込みエラーに成る場合。 基本的に直接でも内部でも外部でも、今やCSSはHTMLと密接に関係して無くては為らない規格ですからね。 私はCSSを使わないでコーディング出来る人なら使わなくても良いと考えてますが、実情は極めて困難でしょう。 現在のwebはCSSは必須条件の一つとして認識してる箇所も在りますからね。 CSSは拡張・修正を重ねてる状態なので、コレを完全に体現化出来るブラウザが無いと云う事から、質問者に対して云った人が拡大解釈して「使用を控えよ」と云った可能性も否定出来無いとも思う。
補足
>後者は外部ファイル化して読み込みエラーに成る場合 そのサイトと同じ階層に置いた場合でも 読み込みエラーになる事が多いのでしょうか? それとも別階層に置いた場合よりも確率的にはエラーが少ないでしょうか? どっちでも同じですか??
- yambejp
- ベストアンサー率51% (3827/7415)
ある人はおそらく「cssをつかったときにcssをきったら極端に表示が おかしくなるようなhtmlしか書けない技術の人」なのでしょう。 通常htmlは構造、cssは見た目を担当すると考えます。 仮にcssがなくても、構造がきちんとできていれば、htmlというのは 十分みやすいものでなくてはいけません。 もしそこで見にくいのであればそれは「構造がおかしい」のです。 cssがない場合を想定してhtmlを書くという心構えは必要ですね。 >head内とかに内部style.cssとして書いたほうが良いのでしょうか? これはstyleタグでcssを実現すべきかという質問でしょうか? 構造と表示をきりわけるという理由では意味があることです。 「リンク切れ」が頻繁におこるような特殊な環境の方に向けては 意味があるかもしれませんね。 (cssを切っている人にとっては同じような気がしますが・・・) もちろん外部ファイル化しておいたほうが、使いまわしがききますし、 スキンのような感覚で切り替えがきくのでcssを切り分ける意味がありますね。 ご理解いただいているとおもいますが、外部ファイル化した場合でも cssが指定できるのはheadタグ内だけですのでご留意ください。
お礼
floatの枠組みが落っこちて見た目が悪くなりましたw head内やstyleで直接書くのもどうかと思いますし... HTMLの移行型のバージョンで折角のCSSをHTMLに戻したり テーブルを使ったりするのもしっくりこないって言うか... 全てが上手く行く方法は、ないんですね(+_+) ありがとうございました。
お礼
floatの枠組みが落っこちて見た目が悪くなりましたw リンク切れのリスクは、大きいですがhead内に書くのも... 悩みどころです。 ありがとうございました。