CSSは現状グローバルなスコープですとCSS設計の教科書にあったのですが、
グローバルナなスコープとは、ほかの要素から、影響を受けてしまう、要素ということでしょうか?
初心者にもわかるように教えていただければ幸いです。
下記のグローバル変数 ローカル変数のグローバル変数のことでしょうか?
http://tacamy.hatenablog.com/entry/2012/12/30/191125
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
グローバルなスコープというのは、大まかに下記のようなことです。
同じファイル内で書き換わるのはもちろんのこと、別ファイルに記述されている場合でも書き換わってしまいます。
javascript
1// 最初に定義しても 2var sample1 = '最初の設定'; 3 4// 同じ名前で再定義して設定すると内容が書き換わる 5var sample1 = '変更後の設定';
別のファイルに下記があり、
- 上の設定
- 下の設定
の順に読み込むと、 sample1は「2つ目のファイルの設定」になります。
javascript
1var sample1 = '2つ目のファイルの設定';
CSSも同様で、最初に読み込むファイルが下記だとします。
css
1/* 最初に読み込むファイル */ 2 3.sample { 4 margin-top: 10px; 5}
次に読み込むファイルが下記だとすると、実際に適用されるのはmargin-top:20pxの方です。
css
1/* 次に読み込むファイル */ 2.sample { 3 margin-top: 20px; 4}
このような上書きされる関係をCSS単体では防止する手立てがない(書き方によって工夫することしかできない)ので、「グローバルなスコープ」と言われます。
全部グローバル変数だ、ということですね。
投稿2016/03/06 08:21
総合スコア2092
0
スコープとは大雑把に言って、定義されたものを参照できる範囲のことです。
例えば、
#id1 {}
というCSSがあったとしましょう。これはCSSの読み込んだHTMLの どこからでも 参照できます。
<span id="id1"></span>
これがグローバルスコープ、という意味です。
また、スコープ内で名前がかぶった場合、解決する方法が必要なのですが、
CSSでは基本的に読み込み順になります。後ろのCSSは見えなくなります。
実務ですとこれが問題になる場面が多々あります。
例えばAさんが
#id1 {}
というCSSを、
Bさんが
#id1 {}
というCSSをかいた場合、
どちらが適用されるかは 読み込み順依存 です。
例えばAさんのCSSが適用されてBさんが困り、Bさんが!importantを追加したりして、
今度はAさんが困って……という残念なことが起こります。
解決策は色々ありますので、気になったら調べてみてください。
投稿2016/03/06 08:29
編集2016/03/06 08:38総合スコア150
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/03/07 00:45
2016/03/07 01:26