Heim > Web-Frontend > CSS-Tutorial > Hinweise zur CSS-Auswahl

Hinweise zur CSS-Auswahl

高洛峰
Freigeben: 2016-10-14 14:39:40
Original
1052 Leute haben es durchsucht

1. Elementselektoren

Hinweise zur CSS-Auswahl

1 Löschen Sie den Selektor. Das Sternchen wählt jedes Element auf der Seite aus. Viele Entwickler verwenden es, um „Margin“ und „Padding“ zu löschen. Natürlich können Sie dies beim Üben verwenden, ich empfehle jedoch nicht, es in einer Produktionsumgebung zu verwenden. Es fügt dem Browser viele unnötige Dinge hinzu.

`*` kann auch verwendet werden, um alle untergeordneten Elemente eines Elements auszuwählen.
* {
  margin: 0;
  padding: 0;
}
Nach dem Login kopieren


Es werden alle Elemente unter „#container“ ausgewählt.

#container * {
  border: 1px solid black;
}
Nach dem Login kopieren
2. E

Wenn Sie alle Tags auf der Seite finden möchten, verwenden Sie statt „id“ oder „class“ direkt die Tag-Auswahl.

a { color: red; }
ul { margin-left: 0; }
Nach dem Login kopieren
3. .info

Dies ist ein „Klassen“-Selektor. Er unterscheidet sich vom „id“-Selektor dadurch, dass er auf mehrere Elemente abzielen kann. Sie können „class“ verwenden, wenn Sie mehrere Elemente formatieren möchten. Wenn Sie ein bestimmtes Element ändern möchten, verwenden Sie „id“, um es zu finden.

.error {
  color: red;
}
Nach dem Login kopieren
4. #footer

Verwenden Sie „#“ im Selektor, um ein Element anhand der ID zu finden.

#container {
   width: 960px;
   margin: auto;
}
Nach dem Login kopieren
2. Multi-Element-Kombinationsselektor

5. E, FHinweise zur CSS-Auswahl

entspricht allen a-Elementen und li-Elementen

a,li { color: red; }
Nach dem Login kopieren
6. E F

Entspricht nur mehreren a-Elementen nach li (einschließlich Enkelkindern)

li a {
  text-decoration: none;
}
Nach dem Login kopieren
7. E > F

Entspricht nur mehrere a-Elemente nach li (ausgenommen Enkelkinder). Der Unterschied zwischen „E F“ und „E > F“ besteht darin, dass der letztere Befehl seine direkten untergeordneten Elemente auswählt. Schauen Sie sich das folgende Beispiel an:

div#container > ul {
  border: 1px solid black;
}
Nach dem Login kopieren

`#container > ul` wählt nur alle direkten `ul`-Elemente unter dem `div` mit `id` als 'container' aus. Das „ul“-Element wird nicht unter dem ersten „li“ gefunden.

<div id="container">
<ul>
    <li> List Item</li>
    <ul>
        <li> Child </li>
    </ul>
    <li> List Item </li>
    <li> List Item </li>
    <li> List Item </li>
</ul>
</div>
Nach dem Login kopieren
8. E F

Dies wird als benachbarter Selektor bezeichnet. Es steuert die Auswahl der unmittelbaren Nachfolgerelemente des angegebenen Elements. Das obige Beispiel wählt den ersten Absatz nach allen „ul“-Tags aus und setzt deren Farbe auf Rot.

ul + p {
   color: red;
}
Nach dem Login kopieren
9. E~F

Der `ul p`-Selektor wählt nur die Elemente aus, die unmittelbar auf das angegebene Element folgen. Dieser Selektor wählt alle passenden Elemente aus, die dem Zielelement folgen.

ul ~ p {
  color: red;
}
Nach dem Login kopieren
3. Beziehungsselektor

10. E[att]Hinweise zur CSS-Auswahl

gleicht alle E-Elemente mit dem att-Attribut ab, unabhängig von ihrem Wert.

<style>
a[class]{color:#f00;}
</style>
</head>
<body>
<ul>
    <li><a href="?" class="external">外部链接</a></li>
    <li><a href="?">内部链接</a></li>
    <li><a href="?" class="external">外部链接</a></li>
    <li><a href="?">内部链接</a></li>
</ul>
</body>
Nach dem Login kopieren

上面的这个例子中,只会选择有class属性的元素。那些没有此属性的将不会被这个代码修饰。

11. E[att=val]

匹配所有att属性等于"val"的E元素

a[class="external"]{color:#f00;}
Nach dem Login kopieren

上面这片代码将会把`class`属性值为`external`的标签设置为红色,而其他标签则不受影响。

12. E[att~=val]

匹配所有att属性具有多个空格分隔的值、其中一个值等于"val"的E元素

<style>
a[class~="external"]{color:#f00;}
</style>
</head>
<body>
<ul>
    <li><a href="?" class="external txt">外部链接</a></li>
    <li><a href="?" class="txt">内部链接</a></li>
    <li><a href="?" class="external txt">外部链接</a></li>
    <li><a href="?" class="txt">内部链接</a></li>
</ul>
</body>
Nach dem Login kopieren

这个`~`符号可以定位那些某属性值是空格分隔多值的标签(因此只有外部链接是红色字体)。

13. E[att|=val]

选择具有att属性且属性值为以val开头并用连接符"-"分隔的字符串的E元素。

<style>
li[class|="test3"]{color:#f00;}
</style>
</head>
<body>
<ul>
    <li class="test1-abc">列表项目1</li>
    <li class="test2-abc">列表项目2</li>
    <li class="test3-abc">列表项目3</li>
    <li class="test4-abc">列表项目4</li>
    <li class="test5-abc">列表项目5</li>
    <li class="test6-abc">列表项目6</li>
</ul>
</body>
Nach dem Login kopieren

因此只有项目3为红色。

14. E[att^="val"]

选择具有att属性且属性值为以val开头的字符串的E元素。

<body>
<ul>
    <li class="abc">列表项目1</li>
    <li class="acb">列表项目2</li>
    <li class="bac">列表项目3</li>
    <li class="bca">列表项目4</li>
    <li class="cab">列表项目5</li>
    <li class="cba">列表项目6</li>
</ul>
</body>
Nach dem Login kopieren
li[class^="a"]{color:#f00;}
Nach dem Login kopieren

选择具有class属性且属性值为以a开头的字符串的E元素(因此只有项目1、2为红色)。

15. E[att$="val"]

匹配所有att属性以"val"结尾的元素

li[class$="a"]{color:#f00;}
Nach dem Login kopieren

选择具有class属性且属性值为以a结尾的字符串的E元素(项目4、6为红色)。

16. E[att*="val"]

匹配所有att属性包含"val"字符串的元素

li[class*="a"]{color:#f00;}
Nach dem Login kopieren

因为class的属性中都含有字母a所以结果均为红色。

四、伪类选择器

Hinweise zur CSS-Auswahl

17. E:link

设置超链接a在未被访问前的样式。

<ul>
    <li><a href="?" class="external">外部链接</a></li>
    <li><a href="?">内部链接</a></li>
    <li><a href="?" class="external">外部链接</a></li>
    <li><a href="?">内部链接</a></li>
</ul>
Nach dem Login kopieren
a:link{color:#03c;}
.external:link{color:#f00;}
Nach dem Login kopieren

运行结果:外部链接为红色;内部链接为蓝色

18. E:visited

设置超链接a在其链接地址已被访问过时的样式。

19. E:hover

设置元素在其鼠标悬停时的样式。

20. E:active

设置元素在被用户激活(在鼠标点击与释放之间发生的事件)时的样式。

21. E:first-child

匹配父元素的第一个子元素E。

<body>
<ul>
    <li>test1</li>
    <li>test2</li>
    <li>test3</li>
    <li>test4</li>
    <li>test5</li>
</ul>
</body>
Nach dem Login kopieren
li:first-child{color:#f00;}
Nach dem Login kopieren

结果只有列表第一条信息test1为红色

22. E:last-child

匹配父元素的最后一个子元素E。

li:last-child{color:#f00;}
Nach dem Login kopieren

结果只有列表最后一条信息test5为红色

23. E:only-child

匹配父元素仅有的一个子元素E。

<ul>
    <li>test1</li>
</ul>
<ul>
   <li>test2</li>
    <li>test3</li>
    <li>test4</li>
</ul>
Nach dem Login kopieren
li:only-child{color:#f00;}
Nach dem Login kopieren

结果只有列表test1为红色

24. E:nth-child(n)

匹配父元素的第n个子元素E。

li:nth-child(3){color:#f00;}
Nach dem Login kopieren

结果只有列表test3为红色

25. E:nth-last-child(n)

匹配父元素的倒数第n个子元素E。

li:nth-last-child(3){color:#f00;}
Nach dem Login kopieren

结果只有列表test3为红色

26. E:first-of-type

匹配同类型中的第一个同级兄弟元素E。

<div class="test">
    <div><b>我是一个div元素</b></div>
    <p>这是段落1</p>
    <p>这是段落2</p>
    <p>这是段落3</p>
    <p>这是段落4</p>
    <p>这是段落5</p>
</div>
Nach dem Login kopieren
p:first-of-type{color:#f00;}
Nach dem Login kopieren

结果只有这是段落1为红色。

27. E:last-of-type

匹配同类型中的最后一个同级兄弟元素E。

p:last-of-type{color:#f00;}
Nach dem Login kopieren

结果只有这是段落5为红色。

28. E:only-of-type

匹配同类型中的唯一的一个同级兄弟元素E。

b:only-of-type{color:f00;}
Nach dem Login kopieren

结果只有我是一个div元素为红色。

29. E:nth-of-type(n)

匹配同类型中的第n个同级兄弟元素E,n 可以代表数字也可以代表字母。

p:nth-of-type(2){color:#f00;}
Nach dem Login kopieren

结果只有这是段落2为红色。

n为odd时表示奇数;n为even表示偶数;

p:nth-of-type(odd){color:#f00;}
Nach dem Login kopieren

结果:段落1、3、5显示为红色。

p:nth-of-type(even){color:#f00;}
Nach dem Login kopieren

结果:段落2、4显示为红色。

30. E:nth-last-of-type(n)

匹配同类型中的倒数第n个同级兄弟元素E,n 可以代表数字也可以代表字母。。

p:nth-last-of-type(2){color:#f00;}
Nach dem Login kopieren

结果:段落4显示为红色。

n为odd时表示奇数;n为even表示偶数;

p:nth-last-of-type(odd){color:#f00;}
Nach dem Login kopieren

结果:段落1、3、5显示为红色。

p:nth-last-of-type(even){color:#f00;}
Nach dem Login kopieren

结果:段落2、4显示为红色。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage