個人的には、HTMLとCSSを適切に学び、JavaScriptについて考える前に(特にSPAについて考える前に)、それがうまく機能するようにすることをお勧めします。これが私が最近誰かのために書いた小さなガイドで、あなたの助けになるかもしれません:
したがって、CSSマスターになるために考慮し、理解しなければならないことがいくつかあります(私の意見では重要な順序で):
- セレクター
- カスケード
- 特異性
- ボックスモデル
- ポジショニング/フローティング
- HTML
セレクターを使用すると、ページ上の要素をターゲットにできますが、セレクターがないと、ほとんど何もできません(要素にスタイルルールをインラインで追加することを除けば、悪い習慣です!)。セレクターの動作とそのサポートを理解します。
次に理解すべきことは、最も重要なトピックの1つです。これにより、CSSを不必要に書きすぎないようにすることができます。カスケードです。
特異性は、特定の要素に適用されるルールを決定します。ほとんどの場合、それは回避でき、無知で進むことができますが、それを理解すると、セレクターを飼いならし、自分との軍拡競争に巻き込まれるのを防ぎ、セレクターにIDを追加して、スタイルを適用します(それが意味をなさない場合) 、あなたは特異性を理解していません、読んでください!)
私がCSSについて人々と話すときはいつでも、ほとんどの人々はフォントのスタイル、背景、そしてそのすべてのジャズを理解しています。それは単純なことだからです;-)人々がいつも問題を抱えているように見える領域は、ポジショニングとフローティングを理解することです。これらは両方ともボックスモデルに関連付けられているため、最初にそれを学習してから、ポジショニングとフローティングに移ります。
この時点で少し頭がおかしくなっても心配しないでください。かなり紛らわしい概念です。
しかし、マークアップなしのCSSとは何ですか?むしろ、優れたHTMLなしで優れたCSSを使用するのはどのような用途ですか?CSSをよく理解することは、HTMLをよく理解することだと思います。次のWebサイトには、HTMLに関する大量の情報が含まれています。
最初に学ぶには少し深すぎるかもしれないので、次の本も強くお勧めします。
どちらも、CSSを使用して優れたセマンティックマークアップとスタイルを記述し、優れた結果を作成する方法を示しています。あなたがインターネットを持っているこの時代に誰が本を必要としているのか、私は知っていますか?!これらの本は素晴らしく、100%コストに見合う価値があります。
あまりターゲットを絞っていない提案もありますが、一般的なCSS/HTML学習のための優れたリソースです。
最後に、Webの大きな強みは、すべてのWebサイトが事実上オープンソース*であり、WebサイトのすべてのCSS / HTML/JSを表示できることです。次に何か面白いものを見つけたら、Firebugを開いて、何が起こっているのかを理解し、値を変更して、それがどのような影響を与えるかを確認してください。他の人がマークアップをどのように整理するか、どのようにスタイルを設定するか、CSSを介してjavascriptにどの機能を委任するかなどを確認してください。
上記のすべてを理解した後、最先端のCSSをいじくりまわすことができます。いくつかのCSS3テクノロジーで遊ぶための便利なWebサイト:
それが私が今考えることができるすべてです!もちろん、何かをマスターするのと同じように、それはあなたがどれだけの読書をするかではなく、あなたがあなたが読んだものをどれだけ練習するかです。あなたが実際にこれらのことに苦労しているときだけ、あなたは本当に洞察を得て、あなた自身のメンタルモデルを強化するでしょう。
JavaScriptに関しては、プログラミングを知っていると仮定して(CGIとPHPについて言及している場合)、ここにあるDouglasCrockfordのビデオをいくつか見ることを心からお勧めします。
CrockfordはJavaScriptのマスターであり、いくつかの大きな進歩を担当しています(彼は、JSONを発明し、JSLintを開始しました)。YUIシアタービデオは特に素晴らしく、信じられないほど詳細です:)