cssスタイルの詳細と上書き順序
21647 ワード
文書ディレクトリ 1. 上書き順序 2. スタイルカテゴリ 2.1. ブラウザのデフォルト 2.2. インラインスタイル 2.3. 内部スタイルシート 2.4. 外部スタイルシート 3. セレクタ 3.1. 基本セレクタ 3.1.1. エレメントセレクタ 3.1.2. 属性セレクタ 3.1.2.1. 属性を含む要素を選択します. 3.1.2.2. 特定属性値に基づいて選択 3.1.2.3. クラスとid属性 3.1.3. クラスセレクタ(.class) 3.1.4. idセレクタ(#id) 3.2. セレクタパケット 3.3. 子孫セレクタ 3.3.1. 派生セレクタ 3.3.1.1. クラス派生セレクタ(.class h 1) 3.3.1.2. id派生セレクタ(#id h 1) 3.4. サブエレメントセレクタ 3.5. 隣接兄弟セレクタ 3.6. 擬似クラスセレクタ 3.6.1. アンカーダミー 3.6.2. :first-child偽類 3.6.3. :langダミー 3.7. 擬似要素 3.7.1. :before擬似要素 3.7.2. :after 3.7.3. :first-letter 3.7.4. :first-line
参考:W 3 School-CSSセレクタcssスタイルのロード順序および上書き順序
1.上書き順
ウェイト値に基づいて、ブラウザのデフォルト値をロードします.
ただし、外部スタイルシートでidセレクタとクラスセレクタで要素の色が定義されている場合など、どうすればいいかを考慮する必要があります.または、1つの要素の複数のclassに異なる要素色が設定されています.どのように表示しますか?これも上書き順序を指定する必要があります.
下は重み値:クラスセレクタ(.class)<クラス派生セレクタ(.class h 1)したがって、完全な積層優先度は、ブラウザのデフォルト<外部スタイルシート(cssファイル)<外部スタイルシートクラスセレクタ<外部スタイルシートクラス派生セレクタ<外部スタイルシートIDセレクタ<外部スタイルシートID派生セレクタ<内部スタイルシート(
12 の
じ が のスタイルの を けない 、そのClassは を し、スペースで られます. は、1つの が のclassを に し、 に された (すなわち、 )に えられます.important ! 、classでの く とは ありません
2.スタイルカテゴリ
で4 です.
2.1. ブラウザのデフォルト
なhtmlコードを き、ブラウザに するスタイルです.ブラウザの に します. のように
2.2. インラインスタイル
すなわちstyleプロパティによって されるスタイルです.
2.3. スタイルシート
2.4. スタイルシート
のcssファイルは、hrefを してラベルによって されます.
3.セレクタ
スタイルシートと スタイルシートには、 なるセレクタもあります.これらのセレクタは していないので、 に して み わせることができます.これはcssセレクタの みであり、style の を うものでもあります.
3.1. きほんセレクタ
この セレクタはCSSで されているものではなく、 セレクタに して、 が したもので、サブノードに を えない のセレクタです.
3.1.1. エレメントセレクタ
ドキュメントの は も なセレクタです. のルールはすべてのh 1 に します
3.1.2. セレクタ
3.1.2.1. ある を む を します.
3.1.2.2. の に づいて
の を つ を するだけでなく、 をさらに し、 の を つ のみを することもできます.
3.1.2.3. クラスとidプロパティ
に、idが の またはclassが の の を する は、 のように に くことができます( とポイントまたは#の にスペースがないことに し、スペースがある は セレクタになります):
3.1.3. クラスセレクタ(.class)
からhtml にclassプロパティを して します.これはcssで もよく われる です. にidセレクタはjavascriptサービスである が く、コンテキストで に たなければならないため、cssはできるだけidセレクタを せず、javascriptと な を ける.
3.1.4. idセレクタ(#id)
#で まり、html にid を して されます.idプロパティはjavascriptサービスの が く、コンテキストで に たなければならないため、cssはidセレクタを しないようにし、javascriptと な を します.
3.2. セレクタグループ
もし があるならば、すべてのh の を にします.では、 は の りです.
らかに2つ の き は たちの に っている.このようにセレクタ をカンマで る き がセレクタパケットである.
3.3. セレクタ
セレクタでは、ルールの のセレクタの に、スペースで られた2つ のセレクタが まれます.セレクタ のスペースは (combinator)です. スペース は、「...に つかった」、「...の として」、「...の として」と できますが、セレクタを から に む があります.
セレクタについては、2つの の が であってもよいという されやすい がある.
3.3.1. セレクタ
セレクタが セレクタであると じます.ただ、クラス とid の に があるかどうかはまだ かりません.だからしばらくはこう きます.
3.3.1.1. クラス セレクタ(.class h 1)
classセレクタで まり、 に の セレクタ、idセレクタ、またはクラスセレクタに き、 ん をスペースで ります.このような き がクラス セレクタです
3.3.1.2. id セレクタ(#id h 1)
クラスセレクタに ています.idセレクタで まり、 ろに の セレクタ、idセレクタ、またはクラスセレクタが き、 ん をスペースで ります.このような き がid セレクタです
3.4. サブエレメントセレクタ
エレメントセレクタ(Child selectors)は、 セレクタと して、ある の エレメントとしてのみ できます.サブエレメントは な セレクタと える
サブ の に を けることができます.これはオプションです.
h 1 サブ としてのみ するstrong を する は、 のように きます.
3.5. セレクタ
する セレクタ(Adjacent sibling selector)は、 の の の を し、 に じ があります.
セレクタは、プラス (+)、すなわち (Adjacent sibling combinator)を します.
: コネクタと に、 する コネクタの に のコネクタを けることができます.
h 1 の に される の を やす は、 のように きます.
このセレクタは、「h 1 の に れる を し、h 1 とp が の を つ」と みます.
3.6. クラスセレクタ
たとえばaラベルには、クリックされていない、クリックされている、マウスが している、アクティブな がたくさんあります....これには、 クラスセレクタを する があります.
クラスセレクタは、 として を します.
3.6.1. アンカダミークラス
3.6.2. :first-child クラス
:first-child クラスを して、 の のサブ を します. 、すなわち の の のサブ が されているに いありません. が されていない は、すべてのノードに です.
のルールは、ある の のサブ であるすべてのp を に します.2 のルールは、ある (HTMLでは、これはolまたはul に いない)の のサブ であるli のすべてを にします.
3.6.3. :lang クラス
:lang クラス:lang クラスは、 なる に なルールを する を えます. の では、langクラスは noのq に のタイプを します.
3.7. ぎじげんそ
も です. に られる:afterと:beforeの
3.7.1. :before
「:before」 は、 の の に しい を できます.
の はそれぞれ
の に を します.
3.7.2. :after
「:after」 は、 の の ろに しい を できます.
の はそれぞれ
の ろに を します.
3.7.3. :first-letter
テキストの の に なスタイルを します.
3.7.4. :first-line
テキストの の に なスタイルを します.
参考:W 3 School-CSSセレクタcssスタイルのロード順序および上書き順序
1.上書き順
ウェイト値に基づいて、ブラウザのデフォルト値をロードします.
ただし、外部スタイルシートでidセレクタとクラスセレクタで要素の色が定義されている場合など、どうすればいいかを考慮する必要があります.または、1つの要素の複数のclassに異なる要素色が設定されています.どのように表示しますか?これも上書き順序を指定する必要があります.
下は重み値:クラスセレクタ(.class)<クラス派生セレクタ(.class h 1)
ラベル のスタイル)です.< スタイルシートクラスセレクタ< スタイルシートクラス セレクタ< スタイルシートIDセレクタ< スタイルシートID セレクタ<インラインスタイル(style=))12 の
じ が のスタイルの を けない 、そのClassは を し、スペースで られます. は、1つの が のclassを に し、 に された (すなわち、 )に えられます.important ! 、classでの く とは ありません
2.スタイルカテゴリ
で4 です.
2.1. ブラウザのデフォルト
なhtmlコードを き、ブラウザに するスタイルです.ブラウザの に します. のように
<h1>123h1>
2.2. インラインスタイル
すなわちstyleプロパティによって されるスタイルです.
<h1 style='border : 1px solid;'>123h1>
2.3. スタイルシート
ラベルで されたスタイルです.<style>
h1{
background:red;
}
style>
2.4. スタイルシート
のcssファイルは、hrefを してラベルによって されます.
<link rel="stylesheet" href="/lib/share/css/share.min.css">
3.セレクタ
スタイルシートと スタイルシートには、 なるセレクタもあります.これらのセレクタは していないので、 に して み わせることができます.これはcssセレクタの みであり、style の を うものでもあります.
3.1. きほんセレクタ
この セレクタはCSSで されているものではなく、 セレクタに して、 が したもので、サブノードに を えない のセレクタです.
3.1.1. エレメントセレクタ
ドキュメントの は も なセレクタです. のルールはすべてのh 1 に します
h1{
background:red;
}
3.1.2. セレクタ
3.1.2.1. ある を む を します.
/* title */
*[title] {
color:red;
}
/* href a */
a[href]{
color: #0e2231;
}
3.1.2.2. の に づいて
の を つ を するだけでなく、 をさらに し、 の を つ のみを することもできます.
a[href="http://www.w3school.com.cn/about_us.asp"] {color: red;}
3.1.2.3. クラスとidプロパティ
に、idが の またはclassが の の を する は、 のように に くことができます( とポイントまたは#の にスペースがないことに し、スペースがある は セレクタになります):
/* class test div*/
div.test{
color: #000;
}
/* id test div*/
div#test{
color: #000;
}
3.1.3. クラスセレクタ(.class)
からhtml にclassプロパティを して します.これはcssで もよく われる です. にidセレクタはjavascriptサービスである が く、コンテキストで に たなければならないため、cssはできるだけidセレクタを せず、javascriptと な を ける.
/* class test */
.test{
background:red;
}
<div class="test">123div>
<p class="test">123div>
3.1.4. idセレクタ(#id)
#で まり、html にid を して されます.idプロパティはjavascriptサービスの が く、コンテキストで に たなければならないため、cssはidセレクタを しないようにし、javascriptと な を します.
/* class test */
#test{
background:red;
}
<div id="test">123div>
<p class="test">123div>
3.2. セレクタグループ
もし があるならば、すべてのh の を にします.では、 は の りです.
/* */
h1{
background:red;
}
h2{
background:red;
}
h3{
background:red;
}
/* */
h1,h2,h3{
background: red;
}
らかに2つ の き は たちの に っている.このようにセレクタ をカンマで る き がセレクタパケットである.
3.3. セレクタ
セレクタでは、ルールの のセレクタの に、スペースで られた2つ のセレクタが まれます.セレクタ のスペースは (combinator)です. スペース は、「...に つかった」、「...の として」、「...の として」と できますが、セレクタを から に む があります.
セレクタについては、2つの の が であってもよいという されやすい がある.
3.3.1. セレクタ
セレクタが セレクタであると じます.ただ、クラス とid の に があるかどうかはまだ かりません.だからしばらくはこう きます.
3.3.1.1. クラス セレクタ(.class h 1)
classセレクタで まり、 に の セレクタ、idセレクタ、またはクラスセレクタに き、 ん をスペースで ります.このような き がクラス セレクタです
/* class test h1 。.test */
.test h1{
background:red;
}
<div class="test">123<h1>456h1>div>
<p class="test">123div>
3.3.1.2. id セレクタ(#id h 1)
クラスセレクタに ています.idセレクタで まり、 ろに の セレクタ、idセレクタ、またはクラスセレクタが き、 ん をスペースで ります.このような き がid セレクタです
/* id test h1 。.id */
#test h1{
background:red;
}
<div #="test">123<h1>456h1>div>
<p class="test">123div>
3.4. サブエレメントセレクタ
エレメントセレクタ(Child selectors)は、 セレクタと して、ある の エレメントとしてのみ できます.サブエレメントは な セレクタと える
サブ の に を けることができます.これはオプションです.
h 1 サブ としてのみ するstrong を する は、 のように きます.
h1 > strong {color:red;}
3.5. セレクタ
する セレクタ(Adjacent sibling selector)は、 の の の を し、 に じ があります.
セレクタは、プラス (+)、すなわち (Adjacent sibling combinator)を します.
: コネクタと に、 する コネクタの に のコネクタを けることができます.
h 1 の に される の を やす は、 のように きます.
h1 + p {margin-top:50px;}
このセレクタは、「h 1 の に れる を し、h 1 とp が の を つ」と みます.
3.6. クラスセレクタ
たとえばaラベルには、クリックされていない、クリックされている、マウスが している、アクティブな がたくさんあります....これには、 クラスセレクタを する があります.
クラスセレクタは、 として を します.
3.6.1. アンカダミークラス
a:link {color: #FF0000} /* */
a:visited {color: #00FF00} /* */
a:hover {color: #FF00FF} /* */
a:active {color: #0000FF} /* */
3.6.2. :first-child クラス
:first-child クラスを して、 の のサブ を します. 、すなわち の の のサブ が されているに いありません. が されていない は、すべてのノードに です.
p:first-child {font-weight: bold;}
li:first-child {text-transform:uppercase;}
のルールは、ある の のサブ であるすべてのp を に します.2 のルールは、ある (HTMLでは、これはolまたはul に いない)の のサブ であるli のすべてを にします.
3.6.3. :lang クラス
:lang クラス:lang クラスは、 なる に なルールを する を えます. の では、langクラスは noのq に のタイプを します.
<html>
<head>
<style type="text/css">
q:lang(no)
{
quotes: "~" "~"
}
style>
head>
<body>
<p> <q lang="no"> q> p>
body>html>
3.7. ぎじげんそ
も です. に られる:afterと:beforeの
3.7.1. :before
「:before」 は、 の の に しい を できます.
の はそれぞれ
の に を します.
h1:before
{
content:url(logo.gif);
}
3.7.2. :after
「:after」 は、 の の ろに しい を できます.
の はそれぞれ
の ろに を します.
h1:after
{
content:url(logo.gif);
}
3.7.3. :first-letter
テキストの の に なスタイルを します.
3.7.4. :first-line
テキストの の に なスタイルを します.