CSS3的first-child选择器实战代码
这篇文章主要介绍了CSS3的first-child选择器实战攻略,包括first-child和:first-of-child的区别以及针对IE兼容问题的讲解,需要的朋友可以参考下
CSS 中的 :first-child Selector 可以选择到特定元素的第一组物件(同一个 parent)
HTML
<ul> <li>1</li> <li>2</li> <li>3</li> </ul> <hr> <ul> <li>1</li> <li>2</li> <li>3</li> </ul>
CSS
// 只套用编号 1 的 li li:first-child { color: green; }
first-child和:first-of-child的区别
假如我们有这样的一段HTML代码:
<p> <p>第1个元素</p> <h1>第2个元素</h1> <span>第3个元素</span> <span>第4个元素</span> </p>
CSS选择器:
我们要查找其中的元素,如果使用下面的定义方法——
p:first-child 匹配到的是p元素,因为p元素是p的第一个子元素;
h1:first-child 匹配不到任何元素,因为在这里h1是p的第二个子元素,而不是第一个;
span:first-child 匹配不到任何元素,因为在这里两个span元素都不是p的第一个子元素;
:first-child 匹配到的是p元素,因为在这里p的第一个子元素就是p。
上面应用的样式,有两个是匹配不到的,但是别慌张,CSS中还定义了:first-of-child伪类,请看他的用法和讲解:
p:first-of-type 匹配到的是p元素,因为p是p的所有为p的子元素中的第一个,事实上这里也只有一个为p的子元素;
h1:first-of-type 匹配到的是h1元素,因为h1是p的所有为h1的子元素中的第一个,事实上这里也只有一个为h1的子元素;
span:first-of-type 匹配到的是第三个子元素span。这里p有两个为span的子元素,匹配到的是第一个。
:first-of-type 匹配到的是p元素
总结:
:first-child 匹配的是某父元素的第一个子元素,可以说是结构上的第一个子元素。
:first-of-type 匹配的是该类型的第一个,类型是指什么呢,就是冒号前面匹配到的东西,比如 p:first-of-type,就是指所有p元素中的第一个。这里不再限制是第一个子元素了,只要是该类型元素的第一个就行了,当然这些元素的范围都是 属于同一级的,也就是同辈的。
同样类型的选择器 :last-child 和 :last-of-type、:nth-child(n) 和 :nth-of-type(n) 也可以这样去理解。
IE的兼容型问题
先看如下一段代码,HTML部分:
<ul class="example"> <li>aa</li> <li>bb</li> <li>cc</li> <li>dd</li> </ul>
CSS部分:
.example li{float:left;margin-left:10px;}
如果需要将第一个li的margin-left设为0px,则可以通过下面这个方法实现:
.example li{float:left;margin-left:10px;} .example li:first-child{margin-left:0;}
然而,IE6不支持:child-first方法,因此我们需要使用表达式从来实现IE6也支持:child-first,代码如下:
.example li{float:left; margin-left:10px; _margin-left:expression(this.previousSibling==null?'0px':'10px');} .example li:first-child{margin-left:0;}
当然,我们也可以给第一个li添加一个class来重新定义margin-left,如果说是静态页面这样做还可以,如果说程序需要循环输出li的话使用child-first会好些,至少可以使程序少做一条判断。
Atas ialah kandungan terperinci CSS3的first-child选择器实战代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Sekiranya anda baru -baru ini mula bekerja dengan GraphQL, atau mengkaji semula kebaikan dan keburukannya, anda tidak akan ragu -ragu mendengar perkara seperti "Graphql tidak menyokong caching" atau

API Peralihan Svelte menyediakan cara untuk menghidupkan komponen apabila mereka memasuki atau meninggalkan dokumen, termasuk peralihan svelte adat.

Berapa banyak masa yang anda habiskan untuk merancang persembahan kandungan untuk laman web anda? Semasa anda menulis catatan blog baru atau membuat halaman baru, adakah anda memikirkan

Dengan pendakian harga bitcoin baru -baru ini lebih dari 20k $ USD, dan baru -baru ini melanggar 30k, saya fikir ia patut mengambil menyelam yang mendalam kembali ke dalam mewujudkan Ethereum

Artikel ini membincangkan menggunakan CSS untuk kesan teks seperti bayang -bayang dan kecerunan, mengoptimumkannya untuk prestasi, dan meningkatkan pengalaman pengguna. Ia juga menyenaraikan sumber untuk pemula. (159 aksara)

Perintah NPM menjalankan pelbagai tugas untuk anda, sama ada sebagai satu-satunya atau proses berjalan terus untuk perkara seperti memulakan pelayan atau menyusun kod.

Tidak kira tahap tahap anda sebagai pemaju, tugas yang kami selesaikan -sama ada besar atau kecil -membuat kesan besar dalam pertumbuhan peribadi dan profesional kami.

Saya hanya berbual dengan Eric Meyer pada hari yang lain dan saya teringat cerita Eric Meyer dari tahun -tahun pembentukan saya. Saya menulis catatan blog mengenai kekhususan CSS, dan
