
こんにちは、質問させてください。
現在ウェブデザインの勉強をしております。
(wordpressのテーマ作成を2~3こなし、HTML5,CSS3について
ちょっとずつ理解を深めてきた段階です)
ただ、自分のCSSをみると非常に可読性が悪く、
読み返すのも億劫な構造になってしまっております。
是非デザイン・コーディングに詳しい方に、
CSSの構造の参考となる記事や、参考ファイル、参考文献などがありましたら
教えていただけると幸いです。
(SMACSSの概要記事などは読んでみたのですが、
概要を理解したものの「じゃあ実際どうかくの」というところがボンヤリしておりまして……
できれば実際のCSSファイルを読んでみたいです)
お手数をおかけしますが、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
SMACSSは本流から外れた手法なので参考にはならないでしょう。
そもそもスタイルシートを導入する最大の目的は
★構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
です。短い文章ですからよく読んで理解しておくこと。
言っている事は、プレゼンテーションのためにHTMLは書かない。文書構造だけを記述する。スタイルシートはプレゼンテーションをになうので、HTMLの文書構造に基づいて指定していく。
例えば、下記のようなスタイルシートだといかがでしょう。
div.nav ol,div.nav ol li{
list-style:none;
margin:0; padding:0;
line-height:2em;height:2em;
text-align:center;
position:relative;
}
div.nav ol li{
display:block;
width:100%;
height:100%;
text-decoration:none;
}
div.header div.nav{
width:100%;position:relative;
}
div.header div.nav ol li{
display:inline-block;
width:20%;
}
div.section{
position:relative;
}
div.section div.nav{
position:absolute;
right:0;
width:160px; height:100%;
}
たぶん、誰が見てもなにをしようとしているかがわかるはずです。
>HTML5,CSS3についてちょっとずつ理解を深めてきた段階です。
失礼ですが、それでしたらこのような質問は出ないと思います。
HTML4.01で
『DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加する( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』とされました。プレゼンテーションのためにとは書いてない!!
しかしあなただけでなく、巷ではこれが理解されずにプレゼンテーションのためにDIV,SPAN,id,classが使われてきました。その典型がSMACSSと言っても過言ではないでしょう。
その反省から、HTML5では、『文書をよりよく構造化するために、新しい要素が追加されました。( http://standards.mitsue.co.jp/resources/w3c/TR/h … )』
【問題2】文書内に埋め込まれた「意味」が不明確( http://www.atmarkit.co.jp/ait/articles/1008/30/n … )
↑このページの上から1/4あたり
すなわち、上記スタイルシートは
nav ol,nav ol li{
・・・・・
}
nav ol li{
・・・・・
}
header nav{
・・・・・
}
header nav ol li{
・・・・・
}
section{
・・・・・
}
section nav{
・・・・・
}
となるはずです。
私はHTMLは開かなくてもスタイルシートを書けます。書けるようにHTMLを作成しているといったほうが良いでしょう。
このスタイルシートを見るだけで、あなたにも適用されるHTMLの文書構造は手に取る様に分かると思います。
結果『広汎なプラットフォームや多様なメディアでの文書提供コストを低下でき、文書の改訂も容易( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』です。
印刷用スタイルシート、スマホなど小さなscreenメディア、点字端末や携帯電話用のメディア別スタイルシートが必要になってもHTMLに手を加える必要もありません。
>CSSの構造の参考となる記事や、参考ファイル、参考文献などがありましたら
教えていただけると幸いです。
1)まず、HTML4.01の仕様書を完璧にマスターしましょう。
HTML 4.01仕様書( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
2)その際に、HTML4.01の反省を盛り込んだ
HTML5 における HTML4 からの変更点( http://standards.mitsue.co.jp/resources/w3c/TR/h … )を目を通しておくと良いでしょう。
【すこし古いです。最新版はDifferences from HTML4( http://www.w3.org/TR/html5-diff/ )】
3)その上で、CSS2.1をマスターしましょう。
Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification (ja)( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
特に、
5 セレクタ
6 プロパティ値とカスケーディング、継承の割り当て
は、完全に理解すべきです。
そのうえで、HTML5,CSS3を身につければよいです。
[実例]
ナビゲーションリストを様々にデザインしてみよう。( http://www.ichiya.com/WebService/Howto/sample/HT … )
ブラウザの[表示]メニュー→[スタイルシート]→で様々なスタイルシートを選択してみる。 --Chromeは代替スタイルシート機能はありません。
印刷プレビューで印刷時の状況を確認
画面の幅を変えてみる。
これからHTMLを学ぶのであれば、HTML4.01とCSS2は覚える必要がなくHTML5から始めればよいという話を窺ったことがあるのですが、なぜこうなったかの理解を深める為にも先にそちらを学んだ方がよさそうですね。
詳しくありがとうございます。
No.1
- 回答日時:
SMACSSて、Frameworkでは?・・・
基本は、W3Cの仕様書とか、WHATHTMLなどの仕様書を読まれた方がいいのでは?・・・
その後、SMACSSのCSSを解析すれば、どのように対応しているかが理解できるのでは?・・・
参考URL:http://chroma.hatenablog.com/entry/2013/07/22/12 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
html の divとtable の役割
-
スペースを使わず文字位置を揃...
-
複数のボタンを等間隔に、かつ...
-
div要素が重なってします
-
htmlのolやulなどlistにtitleや...
-
ブログのサイドバーが下にくる
-
HTML5のIE対策について
-
何もいじってないのに、表示崩...
-
セクションをdivで囲むと見出し...
-
ヘッダーとフッターだけ背景を...
-
ページ全体を中央に表示したい
-
<div id="container">の使いか...
-
IE・NNの独自タグについて
-
htmlの文字が縦書きになる
-
html/cssの、navを2段にする...
-
角丸画像の背景色を透明にした...
-
CSSで改行後の行間調整
-
含む含まないという概念自体の...
-
ページを開いているときのリン...
-
<div align="center">を使わず...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのolやulなどlistにtitleや...
-
複数のボタンを等間隔に、かつ...
-
HTML属性での「""」 「''」違い
-
html の divとtable の役割
-
div要素が重なってします
-
ヘッダーとフッターだけ背景を...
-
スペースを使わず文字位置を揃...
-
ブログのサイドバーが下にくる
-
1時間30分を簡単に表したいで...
-
<div id="container">の使いか...
-
min-heightとheightの違いについて
-
h1のテキストサイズよりh2の方...
-
<!-- #BeginLibraryItemとは
-
body>div{}の意味を知りたい
-
画面を縮小するとカラムが落ち...
-
divとpの使いわけ
-
hタグの右横に画像を表示
-
セクションをdivで囲むと見出し...
-
html divボックスの入れ子で中...
-
ヘッダーを左右に二分割する方...
おすすめ情報