ホームページ ウェブフロントエンド htmlチュートリアル CSS学習メモ(1):selector_html/css_WEB-ITnose

CSS学習メモ(1):selector_html/css_WEB-ITnose

Jun 24, 2016 am 11:20 AM

1. 要素セレクター

HTML ドキュメント要素は最も基本的なセレクター

例:

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>index</title><style type="text/css">    p {color:blue;}</style></head><body>    <p>这一段话是蓝色的。</p></body></html>
ログイン後にコピー

この例では <p> 要素のフォントの色を青に設定し、要素セレクターが機能します。ドキュメント内のすべての <p> 要素。同様に、次のように複数の要素にスタイルを同時に適用することもできます。

&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;meta charset=&quot;UTF-8&quot;&gt;&lt;title&gt;index&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;    h1,p {color:blue;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;    &lt;h1&gt;标题颜色&lt;/h1&gt;    &lt;p&gt;这一段话是蓝色的。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;
ログイン後にコピー

複数の要素にスタイルを適用する場合は、カンマで区切ります。

*ワイルドカード セレクターとして、任意の要素と一致できます。

形式: 要素|ワイルドカード

2. クラスセレクター

クラスセレクターのスタイルは、次のようなクラス属性に関連付けられている必要があります:

&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;meta charset=&quot;UTF-8&quot;&gt;&lt;title&gt;index&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;    .one {color:blue;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;    &lt;p class=&quot;one&quot;&gt;第一段。&lt;/p&gt;    &lt;p&gt;第二段&lt;/p&gt;    &lt;p class=&quot;one&quot;&gt;第三段&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;
ログイン後にコピー

Format: 。クラス名

コード 3 つの <p> 要素があり、そのうちの 2 つは class="one" というクラス属性を持っています。これらの 2 つの <p> を指定するには、<style> の .one クラス セレクターを使用します。要素。要素セレクターとは異なり、クラス セレクターは [.] で始まり、その後に指定されたクラス属性値が続きます。クラス セレクターは、複数の異なる要素に同じクラス値を指定できます。

3. マルチクラスセレクター

&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;    &lt;meta charset=&quot;UTF-8&quot;&gt;    &lt;title&gt;index&lt;/title&gt;    &lt;style type=&quot;text/css&quot;&gt;        .one {color:blue;}        .two {color:red;}        .one.two {color:green;}    &lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;p class=&quot;one two&quot;&gt;第一段。&lt;/p&gt;&lt;p class=&quot;two&quot;&gt;第二段&lt;/p&gt;&lt;p class=&quot;one&quot;&gt;第三段&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;
ログイン後にコピー

効果:

形式:.クラス名 1. クラス名 2...

マルチクラスの概念は、複数の属性値を指定できることです。クラスの場合 (<p> に class="one two" を指定した場合)、この <p> 要素の class 属性には 2 つの属性値 "one" と "two" が含まれます。 、中央にスペースを区切り文字として使用します。スタイル シートでは、[.属性値 1. 属性値 2|...] を使用して要素を指します。上記のコードでは、クラス値が「one」である要素の色に青を適用し、クラス値に「two」が含まれる要素に赤を適用し、クラス値に「one」と「」の両方が含まれる要素の色に緑を適用します。二"。スタイル シートで .one.two{color:green;} が指定されていない場合、<p class="one two">最初の段落。 </p>どんな効果があるの?答えは赤です。 .one と .two は両方とも、条件を満たす <p class="one two"> の最初の段落を指すためです。 </p> にすると、カスケードに従ってスタイルが適用されます。

4. ID セレクター

同様のセレクターは似ていますが、クラス セレクターの class 属性ではなく id 属性に一致します。クラス セレクターとは異なり、ID セレクターは HTML ドキュメント内で 1 回だけ使用されますが、指定された id 属性値は多くのブラウザーで複数回出現する可能性がありますが、これは誤りであり、JavaScript で getElementById() メソッドを使用すると不要なエラーが発生します。引き起こされる。 #elementID 属性値を通じて要素を指します。例:

&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;    &lt;meta charset=&quot;UTF-8&quot;&gt;    &lt;title&gt;index&lt;/title&gt;    &lt;style type=&quot;text/css&quot;&gt;        #p1 {color:blue;}    &lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;p id=&quot;p1&quot;&gt;第一段。&lt;/p&gt;&lt;p&gt;第二段&lt;/p&gt;&lt;p&gt;第三段&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;
ログイン後にコピー

形式: #ID 属性値

5. 属性セレクター

注: Safari、Opera およびすべての Gecko ベースのブラウザーは、IE5/Mac および IE6/Win より前は属性セレクターをサポートしていません。属性セレクター。

1. シンプルな属性セレクター

使用法: 特定の属性を持つ要素が必要な場合、属性の値は気にしません。単純な属性セレクターを使用できます。

&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;    &lt;meta charset=&quot;UTF-8&quot;&gt;    &lt;title&gt;index&lt;/title&gt;    &lt;style type=&quot;text/css&quot;&gt;        p[class] {color:blue;}         &lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;p class=&quot;one&quot;&gt;第一段。&lt;/p&gt;&lt;p class=&quot;two&quot;&gt;第二段&lt;/p&gt;&lt;p&gt;第三段&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;
ログイン後にコピー

効果:

形式: 要素|ワイルドカード [属性]

class 属性を含む <p> 要素の色が青になり、class の値が変化しないことがわかります。焦点を当てる。

次のような複数の属性に基づいて選択することもできます: a[href][title]{font-weight:bold;} //href 属性と title 属性の両方を持つ <a> 要素を太字にします。

2. 特定の属性値に基づいて選択する

上記の例は属性値に注意を払わないセレクターなので、ここでは属性値に注意を払う必要があるセレクターについて説明します。上記の例を変更してみましょう:

&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;    &lt;meta charset=&quot;UTF-8&quot;&gt;    &lt;title&gt;index&lt;/title&gt;    &lt;style type=&quot;text/css&quot;&gt;        p[class=&quot;one&quot;] {color:blue;}    &lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1 class=&quot;one&quot;&gt;123&lt;/h1&gt;&lt;p class=&quot;one&quot;&gt;第一段。&lt;/p&gt;&lt;p class=&quot;two&quot;&gt;第二段&lt;/p&gt;&lt;p&gt;第三段&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;
ログイン後にコピー

効果:

形式: element | wildcard [attribute = 属性値]

p[class="one"] が p.one と同等であることがわかります。属性セレクターを使用すると、クラス セレクターの効果を実現するだけでなく、他の属性値に基づいて要素を選択できます。

3. いくつかの属性値に基づいて選択します

属性が単語リスト (スペースで区切られている) を受け入れることができる場合は、次のような単語の 1 つに基づいて選択できます:

&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;    &lt;meta charset=&quot;UTF-8&quot;&gt;    &lt;title&gt;index&lt;/title&gt;    &lt;style type=&quot;text/css&quot;&gt;        h1[class~=&quot;box&quot;]{color:blue;}    &lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1 class=&quot;one two box&quot;&gt;123&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;
ログイン後にコピー

効果:

形式: 要素 | ワイルドカード [属性 ~ = 属性部分の値]

より高度な CSS セレクター (CSS2):

[foo^="bar"] foo 属性値が「bar」で始まるすべての要素を選択します

[foo$ ="bar"] foo 属性値が「bar」で終わるすべての要素を選択します

[foo*="bar"] foo 属性値に文字列「bar」が含まれるすべての要素を選択します

特定の属性の選択タイプ

rree

这个规则会匹配lang属性等于en或者以en-开头的所有元素,encn也不会起作用,因为不是en-开头,效果:

格式:元素|通配符[属性|="属性值"

六、后代选择器

h1 em{color:blue;}
ログイン後にコピー

可以看作对作为h1后代元素的em元素颜色改为蓝色,用代码展示就是:

&lt;h1&gt;&lt;em&gt;123&lt;/em&gt;&lt;/h1&gt;
ログイン後にコピー

需要注意的是,这里是后代元素,而不只是子元素,如下面的代码也是有效的:

&lt;h1&gt;&lt;b&gt;&lt;em&gt;123&lt;/em&gt;&lt;/b&gt;&lt;/h1&gt;
ログイン後にコピー

如果只想缩小范围,选择子元素而不是后代元素,则可以使用下面的方式:

h1 &gt; em{color:blue;}
ログイン後にコピー

选择相邻兄弟元素,如:

&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;    &lt;meta charset=&quot;UTF-8&quot;&gt;    &lt;title&gt;index&lt;/title&gt;    &lt;style type=&quot;text/css&quot;&gt;        h1+p{color:blue;}    &lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;段落1&lt;/p&gt;&lt;h1&gt;段落2&lt;/h1&gt;&lt;p&gt;段落3&lt;/p&gt;&lt;p&gt;段落3&lt;/p&gt;&lt;p&gt;段落4&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;
ログイン後にコピー

效果:

通过h1+p匹配了之前的兄弟元素是<h1>的所有符合要求的<p>元素,如果<p>元素之前元素隔着其它元素,则不符合匹配要求,但中间只隔着文本内容并不会影响匹配。

接下来我们要讲的就是更有意思伪类和伪元素了。

伪类

1.链接伪类

:link 指示作为超链接(即有一个href属性)并指向一个未访问地址的所有锚。有些链接会不正确的解释

:visited 指示作为已访问地址超链接的所有锚

例子:

&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;    &lt;meta charset=&quot;UTF-8&quot;&gt;    &lt;title&gt;index&lt;/title&gt;    &lt;style type=&quot;text/css&quot;&gt;        a:link {color:blue;}        a:visited{color:red;}    &lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;a href=&quot;#1&quot;&gt;被点击过了了&lt;/a&gt;&lt;a href=&quot;#2&quot;&gt;未被点击&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;
ログイン後にコピー

结果:

链接伪类也适用于ID选择器,如:

a#one:link{color:yellow;}
ログイン後にコピー

2.动态伪类

:focus 当前拥有输入焦点的元素

:hover 指示鼠标停留元素

:active 指示被用户输入激活的元素

例子:

&lt;!DOCTYPE html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;    &lt;meta charset=&quot;UTF-8&quot;&gt;    &lt;title&gt;index&lt;/title&gt;    &lt;style type=&quot;text/css&quot;&gt;        input:focus{background-color:black;}        a:hover {background-color:yellow;}        a:active{background-color:red;}    &lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;input type=&quot;text&quot;&gt;&lt;a href=&quot;#6&quot;&gt;例子&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;
ログイン後にコピー

无操作效果:

文本框获得焦点效果:

鼠标在文字上停留效果:

鼠标在文字上按下左键时效果:

伪元素

1.设置首字母样式

如将<p>元素中第一个字母变成红色:

p:first-letter{color:red;}
ログイン後にコピー

效果:

2.设置第一行的样式

如:

p:first-line{color:red;}
ログイン後にコピー

效果:

3.设置之前和之后元素的样式

如:

h2:before{content:&quot;&lt;&lt;&quot;;color:blue;}h2:after{content:&quot;&gt;&gt;&quot;;color:red;}
ログイン後にコピー

效果:

 

 

第一次写博客,免不了诸多错误,仅作为个人学习笔记。作为一名在校学生,希望大家多多指教。

 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

公式アカウントのキャッシュの更新の難しさ:バージョンの更新後のユーザーエクスペリエンスに影響を与える古いキャッシュを回避する方法は? 公式アカウントのキャッシュの更新の難しさ:バージョンの更新後のユーザーエクスペリエンスに影響を与える古いキャッシュを回避する方法は? Mar 04, 2025 pm 12:32 PM

公式アカウントのキャッシュの更新の難しさ:バージョンの更新後のユーザーエクスペリエンスに影響を与える古いキャッシュを回避する方法は?

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか?

WebページのPNG画像にストローク効果を効率的に追加する方法は? WebページのPNG画像にストローク効果を効率的に追加する方法は? Mar 04, 2025 pm 02:39 PM

WebページのPNG画像にストローク効果を効率的に追加する方法は?

&lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

&lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか?

IFramesを使用することのセキュリティへの影響は何ですか?また、どのようにそれらを軽減できますか? IFramesを使用することのセキュリティへの影響は何ですか?また、どのようにそれらを軽減できますか? Mar 18, 2025 pm 02:51 PM

IFramesを使用することのセキュリティへの影響は何ですか?また、どのようにそれらを軽減できますか?

HTML5&lt; meter&gt;を使用するにはどうすればよいですか 範囲内に数値データを表示する要素? HTML5&lt; meter&gt;を使用するにはどうすればよいですか 範囲内に数値データを表示する要素? Mar 12, 2025 pm 04:08 PM

HTML5&lt; meter&gt;を使用するにはどうすればよいですか 範囲内に数値データを表示する要素?

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか?

HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? Mar 12, 2025 pm 04:05 PM

HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素?

See all articles