扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
CSS选择器就是指定CSS要作用的标签,那个标签的名称就是选择器。意为:选择哪个容器。
10年积累的网站设计、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有乾安免费网站建设让你可以放心的选择与我们合作。
CSS选择器分类:
标签选择器、类选择器、ID选择器、全局选择器、群组选择器、后代选择器、伪类选择器
1、html标签选择器:
定义:以html标签作为选择器
2、class类选择器:
定义:为HTML标签添加class属性,通过类选择器来为具有此class属性的元素设置css样式。
类选择器也可以对不同类型元素的同一个名称的类选择器设置不同的样式规则:
同一个元素可以设置多个类,之间用空格隔开:
3、ID选择器
定义:为HTML标签添加ID属性,通过ID选择器来为具有此ID的元素设置CSS规则
4、群组选择器
定义:集体统一设置样式
5、全局选择器
定义:所有标签设置样式
HTML文档结构图
6、后代选择器
定义:使用后代选择器设置,之间用空格隔开,后代选择器可以多层。
7、伪类选择器
链接的四种状态:激活状态,已访问状态,未访问状态,鼠标悬停状态。
伪类
说明
:link
未访问的链接
:visited
已访问的链接
:hover
鼠标悬停状态
:active
激活的链接
:hover 用于访问的鼠标经过某个元素时;
:active 用于一个元素被激活时(即按下鼠标之后放开鼠标之前的状态)
伪类选择器的属性:link visited hover active
说明:
1) a:hover 必须置于 a:link和a:visited之后,才有效
2) a:active 必须置于 a:hover之后才有效
3) 伪类名称对大小写不敏感
8、CSS其它选择器
css继承特性,从父元素那继承部分css属性
选择器的优先级
ID选择优先级最高(id选择器定义具有唯一性)
class选择器次之(class选择器可以多个)
元素选择器再次之
其它选择器优先级主要根据定义的先后顺序,最后定义的优先级高
!important 加重选择器的优先级,添加在样式规则之后,中间用空格隔开。
CSS选择器命名规则
1:采用英文字母,数字以及"-" 和 "_" 命名
2:以小写字母开头,不能以数字和"-" 和 "_" 开头
3:使用有意义的命名规范
常用CSS命名
header
页头
main
主体
footer
页尾
nav
导航
sidebar
侧栏
container
容器
column
栏目
title
标签
menu
菜单
submenu
子菜单
*列举常用命名,大家根据自身项目及团队的规则命名
耐心学习基础知识,基础是盖房的根基,必须打结实。
如果您觉得有用,记得在下方点赞、关注、留言,我会定期奉 上更多的惊喜哦,您的打赏支持才是我继续努力的动力,么么哒。
每日分享在学习过程中总结的学习经验,学习笔记,笔试题,HTML,CSS,JavaScript,jQuery教程,Vue教程,PHP教程,TinkPHP教程等,望大家能以学习为目的,每天阅读一篇文章,了解身边的技术。陪有梦想的人一起成长!
css选择器有,标签名选择器,类选择器,ID选择器,后代选择器,群组选择器。
新建文件创建标记选择器。
效果。
创建类别选择器。
创建ID选择器。
效果。
附上源码。
CSS选择器、优先级与匹配原理\x0d\x0a1.id 选择器(#myid)2.类选择器(.myclassname)3.标签选择器(div,h1,p)4.相邻选择器(h1+p)5.子选择器(ul 通配选择符的权值 0,0,0,0\x0d\x0a2.标签的权值为 0,0,0,1\x0d\x0a3.类的权值为 0,0,1,0\x0d\x0a4.属性选择的权值为 0,0,1,0\x0d\x0a5.伪类选择的权值为 0,0,1,0\x0d\x0a6.伪对象选择的权值为 0,0,0,1\x0d\x0a7.ID的权值为 0,1,0,0\x0d\x0a8.important的权值为最高 1,0,0,0\x0d\x0a使用规则: 选择器的权值加到一起,大的优先;如果权值相同,后定义的优先 。\x0d\x0a从上面我们可以得出两个关键的因素:\x0d\x0a1.权值的大小跟选择器的类型和数量有关\x0d\x0a2.样式的优先级跟样式的定义顺序有关
CSS选择器如下:
1. 标签名选择器 div { color:Red;} /即页面中的各个标签名的css样式
2.类选择器 .divClass {color:Red;} /即定义的每个标签的class 中的css样式
3.ID选择器 #myDiv {color:Red;} /即页面中的标签的id
4.后代选择器(类选择器的后代选择器) .divClass span { color:Red;} /即多个选择器以逗号的格式分隔 命名找到准确的标签
5.群组选择器 div,span,img {color:Red} /即具有相同样式的标签分组显示
选择器的优先级
1.最高优先级是 (直接在标签中的设置样式,假设级别为1000)div style="color:Red;"/div
2.次优先级是(ID选择器 ,假设级别为100) #myDiv{color:Red;}
3.其次优先级是(类选择器,假设级别为10) .divClass{color:Red;}
4.最后优先级是 (标签选择器,假设级别是 1) div{color:Red;}
5.那么后代选择器的优先级就可以计算了啊
比如 .divClass span { color:Red;} 优先级别就是:10+1=11
想详细的话可以参考W3C文档。
css常用的四种选择器类型有:
标签选择器:针对一类标签
ID选择器:针对某一个特定的标签使用
类选择器:针对你想要的所有标签使用
后代选择器:用空格隔开
1、标签选择器:选择器的名字代表html页面上的标签
标签选择器,选择的是页面上所有这种类型的标签,所以经常描述“共性”,无法描述某一个元素的“个性”。
举例:
style type="text/css"
p{
font-size:14px;
}
/style
body
pcss/p
/body
再比如说,想让“学完了安卓,继续学前端哟”这句话中的“前端”两个变为红色字体,那么可以用span标签把“前端”这两个字围起来,然后给span标签加一个标签选择器。
代码如下:
!DOCTYPE html
html
head
meta charset="UTF-8"
titleDocument/title
style type="text/css"
span{
color: red;
}
/style
/head
body
p学完了安卓,继续学span前端/span哟/p
/body
/html
【总结】需要注意的是:
(1)所有的标签,都可以是选择器。比如ul、li、label、dt、dl、input、div等。
(2)无论这个标签藏的多深,一定能够被选择上。
(3)选择的所有,而不是一个。
2、ID选择器:规定用#来定义(名字自定义)
针对某一个特定的标签来使用,只能使用一次。css中的ID选择器以”#”来定义。
举例:
head
titleDocument/title
style type="text/css"
#mytitle
{
border:3px dashed green;
}
/style
/head
然后在别处使用id来引用它:
body
h2 id="mytitle"你好/h2
/body
id选择器的选择符是“#”。
任何的HTML标签都可以有id属性。表示这个标签的名字。这个标签的名字,可以任取,但是:
(1)只能有字母、数字、下划线。
(2)必须以字母开头。
(3)不能和标签同名。比如id不能叫做body、img、a。
(4)大小写严格区分,也就是说aa,和AA是两个不同的ID
另外,特别强调的是:HTML页面,不能出现相同的id,哪怕他们不是一个类型。比如页面上有一个id为pp的p,一个id为pp的div,是非法的!
一个标签可以被多个css选择器选择:
比如,可以同时让标签选择器和id选择器作用于同一个标签。(用到了层叠)如下:
请点击输入图片描述
然后通过网页的审查元素看一下效果:
请点击输入图片描述
现在,假设选择器冲突了,比如id选择器说这个文字是红色的,标签选择器说这个文字是绿色的。那么听谁的?
实际上,css有着非常严格的计算公式,能够处理冲突.
一个标签可以被多个css选择器选择,共同作用,这就是“层叠式”的第一层含义
3、类选择器:规定用圆点.来定义
类选择器. 针对想要的所有标签使用。优点:灵活。
css中用.来表示类。举例如下:
style type="text/css"
.oneclass/*定义类选择器*/{
width:800px;
}
/style
/head
然后在别处使用class来引用它:
body
h2 class="oneclass"你好/h2
/body
和id非常相似,任何的标签都可以携带id属性和class属性。但是id属性只能被某一特定标签引用一次
class属性的特点:
特性1:类选择器可以被多种标签使用。
特性2:同一个标签可以使用多个类选择器。用空格隔开。举例如下
h3 class="classone classtwo"我是一个h3啊/h3
而不能写成:
h3 class="teshu" class="zhongyao"我是一个h3啊/h3
类选择器使用的举例:
类选择器的使用,能够决定一个人的css水平。
应该注意:
(1)不要去试图用一个类名,把某个标签的所有样式写完。这个标签要多携带几个类,共同完成这个标签的样式。
(2)每一个类要尽可能小,有“公共”的概念,能够让更多的标签使用。
如:
style type="text/css"
.lv{
color: green;
}
.da{
font-size: 30px;
}
.underline{
text-decoration: underline;
}
/style
然后让每个标签去选取自己想要用的类选择器:
p class="lv da"段落1/p
p class="lv xian"段落2/p
p class="da xian"段落3/p
问题:到底用id还是用class?
答案:尽可能的用class,除非极特殊的情况可以用id。
原因:id是js用的。也就是说,js要通过id属性得到标签,所以css层面尽量不用id,要不然js就很别扭。另一层面,会认为一个有id的元素,有动态效果。
举例如下:
请点击输入图片描述
上图所示,css和js都在用同一个id,会出现不好沟通的情况。
记住这句话:类上样式,id上行为。意思是说,class属性交给css使用,id属性交给js使用。
上面这三种选择器的区别:
标签选择器针对的是页面上的一类标签。
ID选择器是只针对特定的标签(一个),ID是此标签在此页面上的唯一标识。
类选择器可以被多种标签使用。
4、后代选择器: 定义的时候用空格隔开
对于E F这种格式,表示所有属于E元素后代的F元素,有这个样式。空格就表示后代。
后代选择器,就是一种平衡:共性、特性的平衡。当要把某一个部分的所有的什么,进行样式改变,就要想到后代选择器。
后代选择器,描述的是祖先结构。
看定义可能有点难理解,我们来看例子吧。
举例1:
style type="text/css"
.div1 p{
color:red;
}
/style
空格就表示后代。.div1 p 表示.div1的后代所有的p。
这里强调一下:这两个标签不一定是连续紧挨着的,只要保持一个后代的关联即可。也就是说,选择的是后代,不一定是儿子。
举例:
style type="text/css"
h3 b i{
color:red ;
}
/style
上方代码的意思是说:定义了h3标签中的b标签中的i标签的样式。
同理:h3和b和i标签不一定是连续紧挨着的,只要保持一个后代的关联即可。
效果:
请点击输入图片描述
或者还有下面这种写法:
请点击输入图片描述
上面的这种写法,h3标签和i标签并不是紧挨着的,但他们保持着一种后代关系。
还有下面这种写法:(含类选择器、id选择器都是可以的)
请点击输入图片描述
在开头说了:后代选择器,描述的是一种祖先结构。举个例子来说明这句话:
!DOCTYPE html
html
head
meta charset="UTF-8"
titleDocument/title
style type="text/css"
div div p{
color: red;
}
.div2{...}
.div3{...}
.div4{...}
/style
/head
body
div
div
div
div
p我是什么颜色?/p
/div
/div
/div
/div
/body
/html
上面css中的div div p,也能使文字的颜色变红。通过浏览器的审查元素,我们可以看到 p元素的祖先列表:
请点击输入图片描述
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流