几种css常用选择器实例详解

html-css019

几种css常用选择器实例详解,第1张

id选择器#id名{}, 类选择器.claaa名{}, 元素选择器div{} 子级选择器 div div{div下的所有div},属性选择 input【type=checkbox】所有type属性=checkbox的 兄弟选择器忘怎么写了 ,选择第一个子级#id名:Feist-child 选择最后一个元素是:last-child

1、类别选择器

类选择器根据类名来选择,前面以“.”来标志。

示例:

.demoDiv{

color:#FF0000

}

2、标签选择器

一个完整的HTML页面是有很多不同的标签组成,而标签选择器,则是决定哪些标签采用相应的CSS样式。

在style.css文件中对p标签样式的声明如下:

p{

font-size:12px

background:#900

color:090

}

3、ID选择器

ID 选择器可以为标有特定 ID 的 HTML 元素指定特定的样式。 根据元素ID来选择元素,具有唯一性,这意味着同一id在同一文档页面中只能出现一次。

前面以”#”号来标志,在样式里面可以这样定义:

#demoDiv{

color:#FF0000

}

4、后代选择器

后代选择器也称为包含选择器,用来选择特定元素或元素组的后代,将对父元素的选择放在前面,对子元素的选择放在后面,中间加一个空格分开。

<style>

.father.child{

color:#0000CC

}

</style>

<p class="father">

黑色

<label class="child">蓝色

<b>也是蓝色</b>

</label>

</p>

5、子选择器

请注意这个选择器与后代选择器的区别,子选择器(child selector)仅是指它的直接后代,或者你可以理解为作用于子元素的第一个后代。而后代选择器是作用于所有子后代元素。后代选择器通过空格来进行选择,而子选择器是通过“>”进行选择。

我们看下面的代码:

Example Source Code

CSS:

#links a {color:red}

#links >a {color:blue}

HTML:

<p id="links">

<a href="#">HTML中文网</a>>

<span><a href="#">CSS布局实例</a></span>

<span><a href="#">CSS教程</a></span>

</p>

6、伪类选择器

有时候还会需要用文档以外的其他条件来应用元素的样式,比如鼠标悬停等。这时候我们就需要用到伪类了。以下是链接应用的伪类定义。

a:link{

color:#999999

}

a:visited{

color:#FFFF00

}

a:hover{

color:#006600

}

/* IE不支持,用Firefox浏览可以看到效果 */

input:focus{

background:# E0F1F5

}

7、通用选择器

通用选择器用*来表示。例如:

*{

font-size: 12px

}

表示所有的元素的字体大小都是12px;同时通用选择器还可以和后代选择器组合。

8、群组选择器

当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔。如:

p, td, li {

line-height:20px

color:#c00

}

#main p, #sider span {

color:#000

line-height:26px

}

.#main p span {

color:#f60

}

.text1 h1,#sider h3,.art_title h2 {

font-weight:100

}

使用群组选择器,将会大大的简化CSS代码,将具有多个相同属性的元素,合并群组进行选择,定义同样的CSS属性,这大大的提高了编码效率,同时也减少了CSS文件的体积。

9、相邻同胞选择器

我们除了上面的子选择器与后代选择器,我们可能还希望找到兄弟两个当中的一个,如一个标题h1元素后面紧跟了两个段落p元素,我们想定位第一个段落p元素,对它应用样式。我们就可以使用相邻同胞选择器。

10、属性选择器

您可以用判断html标签的某个属性是否存在的方法来定义css。

属性选择器,是根据元素的属性来匹配的,其属性可以是标准属性也可以是自定义属性

11、伪元素选择器

所有伪元素选择器都必须放在出现该伪元素的选择器的最后面,也就是说伪元素选择器不能跟任何派生选择器。

作用:通过元素选择器可以选择页面中的所有指定元素

语法:标签名{}

作用:通过元素的class属性值选中一组元素

语法:.class属性值{}

id选择器

作用:通过元素的id属性值选中唯一的一个元素

语法:#id属性值{}

复合选择器(交集选择器)

作用:可以选中同时满足多个选择器的元素

语法:选择器1选择器2选择器N{}

选择器分组(并集选择器)

作用:通过选择器分组可以同时选中多个选择器对应的元素

语法:选择器1,选择器2,选择器N{}

通配选择器

作用:可以用来选中页面中的所有的元素

语法:*{}

元素之间的关系:

父元素:直接包含子元素的元素

子元素:直接被父元素包含的元素

祖先元素:直接或间接包含后代元素的元素,父元素也是祖先元素

后代元素:直接或间接被祖先元素包含的元素,子元素也是后代元素

兄弟元素:拥有相同父元素的元素叫做兄弟元素

作用:选中指定元素的指定后代元素

语法:祖先元素 后代元素{}

有时候,你需要选择本身没有标签,但是 仍然易于识别的网页部位,比如段落首行 或鼠标滑过的连接。CSS为他们提供一些选 择器:伪类和伪元素。

给链接定义样式:

有四个伪类可以让你根据访问者与该链接的交互方式,将链接设置成4中不同的方式。

其他:

否定伪类

否定伪类可以帮助我们选择不是其他东西的某种东西。

语法: :not(选择器){}

比如p:not(.hello)标识选择所有的p元素,但是class为hello的除外。

属性选择器可以挑选带有特殊属性的标签。

语法:

[属性名]

[属性名 = "属性值"]

[属性名 ~= "属性值"]

[属性名 ^= "属性值"]

[属性名 |= "属性值"]

[属性名 $= "属性值"]

[属性名 *= "属性值"]

作用:选中指定父元素的指定子元素

语法:父元素 >子元素

比如body >h1将选择body字标签中的所有h1标签

IE6及以下的浏览器不支持子元素选择器

其他子元素选择器

除了根据祖先父子关系,还可以根据兄弟关系查找元素。

语法:

兄弟元素 + 兄弟元素 :查找后边一个兄弟元素

兄弟元素 ~ 兄弟元素:查找后边所有的兄弟元素

在页面中使用CSS选择器选中元素时,经常都是一个元素同时被多个选择器选中。

比如:

这两个选择器都会选择h1元素,如果两个选择器设置的样式不一样那还好不会产生冲突,但是如果两个选择器设置的是同一个样式,这样h1到底要应用哪个样式呢?CSS中会默认使用权重较大的样式,下面看一下权重又是如何计算的。

不同的选择器有不同的权重值: