覚えておきたいCSSセレクター30種類_html/css_WEB-ITnose
あなたは `id`、`class`、`descendant` セレクターについて読んで、それらをすべて使用しているかもしれませんが、より柔軟性の高いメソッドを選択するという間違いを犯しています。この記事で説明されているセレクターのほとんどは CSS3 標準に準拠しているため、対応するブラウザーの最新バージョンでのみ有効になることを念頭に置いてください。
1.
より高度なセレクターを確認する前に、よく知られているクリア セレクターをダウンロードすることを知っておく必要があります。アスタリスクは、ページ上のすべての要素を選択します。多くの開発者は、「マージン」と「パディング」をクリアするためにこれを使用します。もちろん練習時に使用することもできますが、本番環境で使用することはお勧めしません。ブラウザに不要なものがたくさん追加されます。
`*` は、要素のすべての子要素を選択するために使用することもできます。
- CSS コード
- #container * {
- border: 1px Solid black
デモ
互換性
- IE6+
- Firefox
- Chrome
Opera
2.
CSS コード
ID で要素を見つけるには、セレクターで `#` を使用します。誰もが通常この方法でそれを使用しますが、使用するときは依然として細心の注意が必要です。 自問する必要があります: この要素を見つけるには、この要素に ID を割り当てる必要がありますか?
デモ
互換性
- IE6+
- Chrome
- Safari
- Opera
.error {
色: 赤
}
Safari Opera
4. CSSコード
- li a {
- テキスト装飾: なし
- }
次によく使用されるのは、`descendant` セレクターです。要素の検索をより具体的にしたい場合は、これを使用できます。たとえば、すべての「a」要素をターゲットにする必要はなく、「li」タグの下にある「a」タグだけをターゲットにする必要がある場合はどうすればよいでしょうか。現時点では、「descendant」セレクターを使用する必要があります。
専門家のヒント: セレクターが `X Y Z A B.error` のように見える場合は、やり方が間違っています。本当に多くの要素を変更する必要があるかどうかを常に思い出してください。
デモ
互換性
Opera
a { 色: 赤 }
ul { マージン左: 0ページ上のすべてのタグを見つけたい場合は、`id` や 'class' を使用する代わりに、タイプ セレクターを直接使用するのが簡単です。
デモ互換性- IE6+
- Firefox
Opera
6。
Css代码
- a:link {color:red;}
- a:visited {color: purple;}
我们使用`:link`这个伪类来定位所有还没有被访问过的链接。
另外,我们也使用`:visited`来定位所有已经被访问过的链接。
DEMO
兼容性
7. X+Y
Css代码
- ul + p {
- color: red;
- }
这个叫相邻选择器。它指挥选中指定元素的直接后继元素。上面那个例子就是选中了所有`ul`标签后面的第一段,并将它们的颜色都设置为红色。
DEMO
兼容性
8. X>Y
Css代码
- div#container > ul {
- border: 1px solid black;
- }
`X Y`和`X > Y`的差别就是后面这个指挥选择它的直接子元素。看下面的例子:
Css代码
- List Item
- Child
- List Item
- List Item
- List Item
`#container > は、`id` を 'container' として持つ `div` の下にあるすべての直接の `ul` 要素のみを選択します。最初の `li` の下に `ul` 要素は配置されません。
いくつかの理由から、子ノードを使用してセレクターを結合すると、パフォーマンスに多くの利点があります。実際、JavaScript で「css」セレクターを使用する場合は、これを強くお勧めします。
デモ
互換性
9.
ul ~ p { 色: 赤
}
- 兄弟ノードの組み合わせセレクターは `X+Y` に非常に似ていますが、それほど厳密ではありません。 `ul + p` セレクターは、指定された要素の直後にある要素のみを選択します。このセレクターは、ターゲット要素に続くすべての一致する要素を選択します。
- デモ 互換性
- IE7+
Chrome
Safari
Opera
これは属性セレクターと呼ばれ、上記の例では、title 属性を持つ要素のみが選択されます。この属性を持たないアンカー タグは、このコードでは変更されません。次に、より具体的にフィルタリングしたい場合はどうすればよいかをもう一度考えてみましょう。それは…
互換性
IE7+- Firefox
- Chrome
- Safari
11
値を二重引用符で囲んでいることに注意してください。次に、JavaScript を使用する場合は二重引用符を使用します。可能であれば、標準の CSS3 セレクターを使用してください。
これは機能しますが、このリンクではなく、同様のリンクの場合は、正規表現を使用する必要があります。 デモ
IE7+
- Firefox
- Chrome
- Safari
- Opera
12
CSSコード
a[ href*="strongme"] {
IE7+
Firefox
Chrome
Safari- Opera
- 13
a[ href^="http"] {
背景: url(path/to/external/icon.png) 繰り返しなし:
一部のサイトでは、アンカー タグの横に外部リンク アイコンが表示されています。このようなデザインは、別の Web サイトにリダイレクトされることを明確に示します。
カラット記号を使用して簡単に行うことができます。通常、正規表現で先頭を識別するために使用されます。アンカー属性 `href` 内で `http` で始まるタグを見つけたい場合は、上記と同様のコードを使用できます。
http:// を検索しなかったことに注意してください。https:// が含まれていないため、検索する必要はありません。
それでは、画像を指すすべてのアンカー タグを見つけたい場合はどうすればよいでしょうか?次に、「&」文字を使用してみましょう。
デモ
互換性
14
CSSコード
a [href$=".jpg"] {
- カラー: red;
- }
デモ
互換性
IE7+
15
CSSコード
a [data-filetype="image"] {
カラー: red;- }
- 項目 8 に戻り、すべての画像タイプ `png`、`jpeg`、'jpg'、'gif' を選択するにはどうすればよいですか?複数のセレクターを使用できます。以下をご覧ください:
CSS コード
a[href$=".jpg"]、
a[href$=".jpeg"]、- a[href$=".png"]、
- a[href$=".gif"] {
- color: red;
- }
- しかし、このように書くのは非常に苦痛であり、効率は非常に低くなります。もう 1 つの方法は、カスタム属性を使用することです。各アンカーポイントに属性「data-filetype」を追加して、このリンクが指す画像のタイプを指定できます。
CSS コード
a[data-filetype="image"] {
color: red- }
- デモ
IE7+
Firefox
}
a[data-info~="image"] {
border: 1px ソリッドブラック
这里没啥内容,就是一个了 List。
Css代码
- ul {
- width: 200px;
- background: #292929;
- color: white;
- list-style: none;
- padding-left: 0;
- }
- li {
- padding: 10px;
- border-bottom: 1px solid black;
- border-top: 1px solid #3c3c3c;
- }
上面的代码将设置背景色,移除浏览器默认的内边距,为每个`li`设置边框以凸显一定的深度。
DEMO
兼容性
28. X:only-child
Css代码
- div p:only-child {
- color: red;
- }
说实话,你会发现你几乎都不会用到这个伪类。然而,它是可用的,有会需要它的。
它允许你获取到那些只有一个子标签的父标签。就像上面那段代码,只有一个段落标签的`div`才被着色。
Css代码
My paragraph here.
Two paragraphs total.
Two paragraphs total.
上面例子中,第二个`div`不会被选中。一旦第一个`div`有了多个子段落,那这个就不再起作用了。
DEMO
兼容性
29. X:only-of-type
Css代码
- li:only-of-type {
- font-weight: bold;
- }
结构性伪类可以用的很聪明。它会定位某标签只有一个子标签的目标。设想你想获取到只有一个子标签的`ul`标签?
使用`ul li`会选中所有`li`标签。这时候就要使用`only-of-type`了。
Css代码
- ul > li:only-of-type {
- font-weight: bold;
- }
DEMO
兼容性
30. X:first-of-type `first-of-type`伪类可以选择指定标签的第一个兄弟标签。
测试
Css代码
My paragraph here.
- List Item 1
- List Item 2
- List Item 3
- List Item 4
リスト項目 2 を取り出してください。すでに取り出している場合、または諦めている場合は、続けてください。
解決策 1
方法はたくさんありますが、より便利な方法をいくつか見てみましょう。 1 つ目は「first-of-type」です。
CSS コード
- ul:first-of-type > li:nth-child(2) {
- font-weight: 太字
- }
最初のものを見つける「ウル」タグを見つけてから、直接の子タグ `li` を見つけてから、2 番目の子ノードを見つけます。
解決策 2 もう 1 つの解決策は、近接セレクターです。
この場合、「p」の下で直接の「ul」タグを見つけてから、その最後の直接の子タグを見つけます。
解決策 3 これらのセレクターを試してみましょう。見てみましょう:
CSS コード
- ul:first-of-type li:nth-last-child(1) {
- font-weight: 太字
- }
取得it first ページ上の最初の `ul` タグに移動し、次に最後の子タグを見つけます。
デモ
互換性
結論
ブラウザのバージョンを妥協したい場合は、 IE6 などの場合は、これらの新しいものを使用します。セレクターを使用する場合は注意が必要です。ただし、IE6 がこれらの新しいスキルの学習を妨げないようにしてください。そうなると、あなたは自分自身に対して残酷になってしまいます。 [互換性リスト](http://www.quirksmode.org/css/contents.html) を必ず確認するか、[Dean Edward の優れた IE9.js スクリプト](http://code.google.com/p / ie7-js/) を使用して、ブラウザーでこれらの機能を使用できるようにします。
2 番目に、jQuery を使用する場合は、ネイティブ CSS3 セレクターを使用するようにしてください。もしかしたら、コードの実行速度が速くなるかもしれません。これにより、セレクター エンジンはセレクター自身の代わりにブラウザーのネイティブ パーサーを使用できるようになります。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。
