欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CSS3总结——选择器

程序员文章站 2024-01-31 23:27:40
...

基本选择器

子元素选择器(IE8+)

语法:

父元素 > 子元素


相邻兄弟元素选择器(IE8+)

语法:

元素 + 兄弟相邻元素


通用兄弟元素选择器(IE8+)

语法:

元素 ~ 后面所有兄弟相邻元素


群组选择器

将具有相同样式的元素分组在一起,使用“”隔开

语法:
元素1 元素2 …元素n



属性选择器

对带有指定属性的HTML元素设置样式。

使用CSS3属性选择器,你可以只指定元素的某个属性

或者你还可以同时指定元素的某个属性和其相对的属性值


Element [ attribute](IE8+)

为带有attribute属性的Element元素设置样式

实例:

有href属性的,a元素设置样式

a[href] { text-decoration: none};


Element [ attribute=”value”](IE8+)

attribute=”value”属性的Element元素设置样式

实例:

href属性等于#的,a元素设置样式

a[href="#"] { text-decoration: none};


Element [ attribute~=”value”](IE8+)

为attribute属性包含“value”单词的元素设置样式

实例:

class 包含two这个单词 的,都会被选到。

下面这两个a标签都会被选中。

CSS
a[class~="two"]{ color: #eee; }

HTML
<a class="one two">
<a class="two three">


Element [ attribute^=”value”](IE8+)

为attribute属性以“value”开头的元素设置样式

实例:

href属性以#开头的,a元素设置样式

下面这两个a标签都会被选中。

CSS
a[href^="#"] { text-decoration: none};

HTML
<a href="#1">
<a href="#2">


Element [ attribute$=”value”](IE8+)

为attribute属性以”value”结尾的元素设置样式


Element [ attribute*=”value”](IE8+)

为attribute属性包含“value”字符串的所有元素设置样式


补充:

~= && *=

~=:选中的是单词,与前面的词用空格分开的

*=:选中的是字符串

实例:

比如<img title='yes this' /> ,~=this 可以选中;

<img title='thisistrue' /> , *=this 可以选中。


Element [ attribute|=”value”](IE8+)

为attribute属性为“value”或以“value —”开头的所有元素

实例:

CSS
a [href|="countDown"]

HTML
<a href="countDown">
<a href="countDown-1">



伪类选择器


动态伪类

这些伪类并不存在于HTML中,只有当用户和网页元素交互的时候才能体现出来。


锚点伪类

:link (超链接默认样式)

:visited (访问过的链接样式)


用户行为伪类

:hover

:focus(光标进入文本框时)

:active(被选中的时候)


UI元素状态伪类


:enabled (input可用) (IE9+)

:disabled (input不可用) (IE9+)

:checked (复选框被选中) 仅有Opera可用


CSS3结构伪类


Element:first-child (IE8+)

选择 父元素中的首个子元素是 Element的元素

需要满足2个条件:

父元素中的首个子元素;
恰好这个元素又是Element。


实例:

第一个div整个选中,第二个div里的2-1会被选中。

第一个div是相对于父元素body的首个div元素;2-1是相对于父元素div的首个div元素。

CSS
div:first-child{ color:#fff ;}

HTML
<body>
    <div>
        <div>1-1</div>
        <div>1-2</div>
    </div>
    <div>
        <div>2-1</div>
        <div>2-2</div>
    </div>
</body>


Element:last-child (IE8+)

选择 父元素中的最后一个子元素是 Element的元素

需要满足2个条件:

父元素中的最后一个子元素;
恰好这个元素又是Element。


Element:nth-child(N) (IE9+)

从1开始

选中父元素下的“第N个Element子元素”。

需要满足2个条件:

父元素中的第N个子元素;
恰好这个元素又是Element。


扩展用法:


选择全部子元素

Element:nth-child(n) (IE9+)

选中所有父元素下的Element子元素


选择偶数

Element:nth-child(2n) (IE9+)

Element:nth-child(even) (IE9+)

从1开始

选中所有父元素下的 偶数 Element子元素


选择奇数

Element:nth-child(2n+1) (IE9+)

Element:nth-child(odd) (IE9+)

从1开始

选中所有父元素下的 奇数 Element子元素


Element:nth-last-child(N) (IE9+)

从1开始

选中父元素下的“倒数第N个Element子元素”。

需要满足2个条件:

父元素中的倒数第N个子元素;
恰好这个元素又是Element。


Element:nth-of-type(N) (IE9+)

选中父元素下的“第N个Element元素”,特定类型


Element:nth-last-of-type(N)(IE9+)

选中父元素下的“倒数第N个Element元素”,特定类型


Element:first-of-type(IE9+)

选中父元素下的“第1个Element元素”,特定类型


Element:last-of-type(IE9+)

选中父元素下的“最后一个Element元素”,特定类型


Element:only-child(IE9+)

选中父元素下,唯一Element子元素

需要满足2个条件:

父元素中的唯一子元素;
恰好这个元素又是Element。


Element:only-of-type(IE9+)

选中父元素下,唯一Element类型的Element子元素特定类型


Element:empty(IE9+)

选中父元素下,空标签


否定选择器


Element:not(元素/选择器)(IE9+)

选中非指定元素

实例:

div:not(p)

a:not(:last-of-type)


伪元素(IE9+)

用于向某些选择器设置特殊效果。

Element::first-line (块级元素)

选中Element元素的首行文本

div::first-line {
            color: #f00;
            font-weight: bold;
}


Element::first-letter(块级元素)

选中文本首字母


Element::before

在元素前面插入新内容

特点:
1. 行级元素
2. 内容通过content写入

div::before {
            content: "我在内容的前面"
}


Element::after

在元素后面插入新内容

常用于清除浮动

header::after{
    content: '';
    display: block;
    height: 0;
    overflow: hidden;
    clear: both;
}   


扩展:

content属性


CSS3总结——选择器


假设我们有一个元素:

<a href="##" title="我是一个title属性值,我插在你的后面">我是元素</a>


可以通过”:after”和”content:attr(title)”将元素的”title”值插入到元素内容“我是元素”之后:

a:after {
  content:attr(title);
       color:#f00;
}
相关标签: css3