CSS3总结——选择器

基本选择器

子元素选择器(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属性


这里写图片描述


假设我们有一个元素:

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


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

a:after {
  content:attr(title);
       color:#f00;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值