前戏

前面我们说过CSS规则由选择器和声明组成,我们要给标签设置属性,那我们就要找到对应的标签,CSS选择器可以帮我们找到我们需要的标签

css选择器有:

标签选择器

类选择器

ID选择器

全局选择器

群组选择器

后代选择器

标签选择器

标签选择器前面我们用过,它是以HTML标签作为选择器

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<style>
p{color:red}
h1,div{color:blue}
</style>
</head>
<body>
<h1>h1标签</h1>
<div>css选择器</div>
<p>标签选择器</p>
<p>类选择器</p>
<p>ID选择器</p>
</body>
</html>

注意:有多个标签之间用,隔开

类选择器

同一个元素可以设置多个类,之间用空格隔开

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<style>
.p1{color:red}
.p2,.p3{color:blue} </style>
</head>
<body>
<h1 class="p1">h1标签</h1>
<div>css选择器</div>
<p class="p1">标签选择器</p>
<p class="p2">类选择器</p>
<p class="p3">ID选择器</p>
</body>
</html>

注意:多个类时用,隔开

如果我们只想给p标签下的class=p1的设置怎么办?

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<style>
p.p1{color:red} </style>
</head>
<body>
<h1 class="p1">h1标签</h1>
<div>css选择器</div>
<p class="p1">标签选择器</p>
<p class="p2">类选择器</p>
<p class="p3">ID选择器</p>
</body>
</html>

在类选择器前面加上标签名就可以了

ID选择器

id选择器和类选择器差不多,类选择器用的是点,id选择器用的是#

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<style>
#i1{color: green} </style>
</head>
<body>
<p id="i1">标签选择器</p>
<p id="i2">类选择器</p>
<p id="i3">ID选择器</p>
</body>
</html>

群组选择器

群组选择器其实我们在标签选择器的时候已经使用过了,就是把多个标签用逗号隔开,当然,群组选择器不只可以用做标签,也可以用做类选择器,id选择器

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<style>
#i1,#i2,#i3,.h1{color: red} </style>
</head>
<body>
<h1 class="h1">我是h1</h1>
<p id="i1">标签选择器</p>
<p id="i2">类选择器</p>
<p id="i3">ID选择器</p>
</body>
</html>

这样,页面上所有的字体都成了红色

全局选择器

全局选择器就是给所有标签设置一个样式,一般用做清除标签默认的样式

我们来将上面的群组选择器换成全局选择器

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<style>
*{color: red} </style>
</head>
<body>
<h1 class="h1">我是h1</h1>
<p id="i1">标签选择器</p>
<p id="i2">类选择器</p>
<p id="i3">ID选择器</p>
</body>
</html>

后代选择器

使用后代选择器,之间用空格隔开

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<style>
p em {color: red} </style>
</head>
<body>
<h1 class="h1"><em>明天</em>我是h1</h1>
<p ><em>今天</em>标签选择器</p>
<p id="i2">类选择器</p>
<p id="i3">ID选择器</p>
</body>
</html>

这样写我们就给p标签下面的em标签加上了颜色

后代选择器可以写多层

伪类选择器

链接伪类

链接也就是a标签,有四种状态:激活状态,已访问状态,未访问状态,和鼠标悬停状态

伪类hover和active

上面的四种状态的:link和:visited是a标签专用的,而:hover和:active其他标签也可以使用

:hover用与访问的鼠标经过某个元素时

:active用于一个元素被激活时(既按下鼠标之后松开鼠标之前的时间)

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<style>
a:link{color: blue}/*未访问状态*/
a:visited{color: gray}/*已访问状态*/
a:hover{color:red}/*鼠标悬浮状态*/
a:active{color: green}/*鼠标激活状态*/
p:hover{color:red}
p:active{color: green} </style>
</head>
<body>
<a href="https://cn.bing.com/">必应</a>
<p id="i2">类选择器</p> </body>
</html>
链接伪类的顺序

:link>:visited>:hover>:active

说明:

  a:hover必须置于a:link和a:visited之后才有效

  a:active必须置于a:hover之后才有效

CSS优先级

同一样式表中:

1.权值相同,就近原则(离被设置元素越近优先级越高)

2.权值不同,根据权值来判断css样式,哪种权值高,就使用哪种样式

选择器权值

标签选择器,权值为1

类选择器和伪类,权值为10

id选择器,权值为100

通配符选择器,权值为0

行内样式,权值为1000

权值规则

统计不同选择器的个数

每类选择器的个数乘以相应的权值

把所有的值想加得出选择器的权值

!important规则

可调整样式规则的优先级

添加在样式规则之后,中间用空格隔开

CSS样式命名

采用英文字母,数字以及”-“和”_“命名

以小写字母开头,不能以数字、”-“,"_"开头

命名形式:单字,连字符,下划线和驼峰

css--css选择器,伪类的更多相关文章

  1. 前端 CSS的选择器 伪类选择器

    伪类选择器 常用的几种伪类选择器. 伪类选择器一般会用在超链接a标签中 没有访问的超链接a标签样式: a:link { color: blue; } <!DOCTYPE html> < ...

  2. 前端 CSS的选择器 伪类选择器 CSS3 nth-child()

    first-child 选中第一个标签 应用CSS样式 <!DOCTYPE html> <html lang="en"> <head> < ...

  3. python 全栈开发,Day47(行级块级标签,高级选择器,属性选择器,伪类选择器,伪元素选择器,css的继承性和层叠性,层叠性权重相同处理,盒模型,padding,border,margin)

    一.HTML中的行级标签和块级标签 块级标签 常见的块级标签:div,p,h1-h6,ul,li,dl,dt,dd 1.独占一行,不和其他元素待在同一行2.能设置宽高3.如果不设置宽高,默认为body ...

  4. CSS 基础知识点 样式 选择器 伪类

    CSS 基础知识点汇集 版权声明:这篇博客是别人写的,大神博客地址 : https://www.cnblogs.com/Mtime/p/5184685.html 1.CSS 简介 CSS 指层叠样式表 ...

  5. CSS属性、伪类选择器,CSS3选择器

    CSS1时IE6是部分支持,伟大的IE6!CSS2时IE6部分支持,伟大的IE6依旧是部分支持!CCS3盛行CSS4也已经提上日程的现在,IE6完全不支持.IE6你该走了,我们会永远记住你的功绩的!I ...

  6. CSS Pseudo-classes(伪类)

    CSS Pseudo-classes(伪类) CSS伪类是用来添加一些选择器的特殊效果. 一.语法 伪类的语法: selector:pseudo-class {property:value;} CSS ...

  7. CSS 选择器之基本选择器 属性选择器 伪类选择器

    CSS 选择器 常见的选择器列表图 CSS选择器笔记 基本选择器 通配符选择器(*) 元素选择器(E) 类选择器(.className)    所有浏览器都支持类选择器,但多类选择器(.classNa ...

  8. css 为元素选择器,css目标状态伪类,结构化选择器,多媒体选择器,清除表默认样式、属性选择器

    伪元素选择器 :before 和 :after 添加的位置 :before --- 第一个子节点 :after --- 最后一个子节点 特点 1.默认是 inline 元素 2.必须包含 conten ...

  9. CSS选择器之伪类选择器(伪元素)

    selection [CSS4]应用于文档中被用户高亮的部分(比如使用鼠标或其他选择设备选中的部分).(IE8及以下不支持)(火狐-moz-selection) first-line 选择每个 < ...

  10. CSS选择器之伪类选择器(交互)

    :link 选取未访问链接 :active 选取活动链接(单击某链接,未松开鼠标时). :visited 选取已被访问的链接. :target 链接指定的目标 :hover 当鼠标浮在元素上方时. : ...

随机推荐

  1. Vue Router的配置

    1.beforeEnter function requireAuth (route, redirect, next) { if (!auth.loggedIn()) { redirect({ path ...

  2. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 03. 服务注册和管道

    ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 03. 服务注册和管道 语雀: https://www.yuque.com/yuejiangliu/dotnet/ ...

  3. C++语言中的static关键字的作用是什么?

    在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变.在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问.它是一个本地的全局变量.在模块 ...

  4. python __builtins__ int类 (36)

    36.'int', 用于将一个字符串或数字转换为整型 class int(object) | int(x=0) -> integer | int(x, base=10) -> intege ...

  5. P5163 WD与地图(整体二分+权值线段树)

    传送门 细节要人命.jpg 这题思路太新奇了--首先不难发现可以倒着做变成加边,但是它还需要我们资瓷加边的同时维护强连通分量.显然加边之后暴力跑是不行的 然后有一个想法,对于一条边\((u,v)\), ...

  6. web移动端下拉加载数据简单实现

    //下拉加载在移动端会经常使用,有些小伙伴不清楚一些原理下面就简答的介绍一下 //首先需要监听window的滚动事件,下拉其实就是在监听window滚动事件 var pageNum = 1;//分页第 ...

  7. IT兄弟连 Java Web教程 Web开发的相关知识

    Web基本概念 Web,是环球信息网的缩写,也称作“WWW.W3”,英文全称为World Wide Web,中文名成为万维网,常简称为Web.Web分为Web客户端和Web服务器程序.Web可以让We ...

  8. 第四篇 .NET高级技术之结构体及值类型引用类型

    结构体 在平时的开发中很少自己去写结构体,他是一种值类型的数据.对于结构,不像类那样存在继承,一个结构体不能从另一个结构或类继承.但是结构体从基类Object继承. 语法: //struct是定义结构 ...

  9. System.Web.Mvc 和 using System.Net.Http 的 Filter

    在尝试给webapi增加 ExceptionFilter时,出现了错误,经查询区别如下: System.Web.Mvc.Filters 是给mvc用的 System.Web.Http.Filters ...

  10. mysql学习之通过文件创建数据库以及添加数据

    转自:http://blog.163.com/wujicaiguai@126/blog/static/170171558201411311547655/ 1.# 创建数据库语句 create data ...