web前端(8)—— CSS选择器

选择器

选择器,说白了就是html的标签或者其相关特性,在一个HTML页面中会有很多很多的元素,不同的元素可能会有不同的样式,某些元素又需要设置相同的样式,选择器就是用来从HTML页面中查找特定元素的,找到元素之后就可以为它们设置样式了。 选择器为样式规则指定一个作用范围

基本选择器

基本选择器包含以下选择器:

  • 标签选择器
  • 类选择器
  • ID选择器
  • 通用选择器

标签选择器

标签选择器说白了就是html的标签元素,就像前面说的h1-h6,p,div,form,ul,ol,li,a等等的,这些都可以是标签选择器

注意:<html>,<body>也可以作为标签选择器

类选择器

这个选择器很常用,也很重要。先说说什么是类,这样,还是打开百度首页来讲解

左边我圈出来的class = ‘s_ipt‘就是input的一个类属性,右边的css就是由类选择器控制的,这样就可以很好的找到此特有的标签

注意:

  • 类选择器的语法,【.s_ipt】,注意前面的点
  • 类选择在同一个html文件可以有多个

ID选择器

ID选择器和类选择器很类似

还是百度这个例子

我圈出来的这个 id=‘kw’ 就是id选择器,右边的#kw就是其id选择器的css样式

注意:

  • id选择器的语法是 【#kw】,注意前面的井号
  • id选择器在同一个html文件里的属性是唯一的,也就是说百度首页的html文件里,html里的标签只能由一个id叫kw的

通用选择器

通用选择器的就一个,用【*】代替,例:

* { color: black; }

* 号相信稍微是个爱研究的人都见过,在windows系统里表示通配符,可以代替一切的字符,在IT它也是这么个用法,可以表示一切字符,那么这里的自然表示所有的标签

组合选择器

组合选择器就是比较高级的用法,有时候我们可能只运用上面的基本选择器不是很方便,那么就可以用组合选择器

组合选择器包含有:

  • 高级选择器
  • 子集选择器
  • 后代选择器
  • 相邻选择器

子代选择器

说这个之前,我希望您有这种思想,把html结构想成一颗大树,树上有很多的枝叶,每个枝里又有很多小枝,这样的话你可能会更好理解下面的,对以后的理论也更好理解

好的,接正文,子代选择器即就是选择此元素的直系子代,例:

div > p{
  font-size:15px;
}

以上例子就是选择div里的直系子代里的p标签

后代选择器

后台选择器和前面的子代选择器有些类似,不过后代是包含子代在内的所有子子孙孙标签

例:

div  p{
  font-size:15px;
}

 

以上表示选取div下的所有p标签,不管是不是直系子代

 

相邻选择器

相邻选择器有两个,一个是前者(哥哥),一个后者(弟弟)

前者,用+

div+p {
  color: red;
}

  

后者,用~

div~p {
  color: red;
}

  

高级选择器

高级选择器里包含有并集,交集

并集,用逗号连接

div,p,a{
  color:red;
}

 

交集,直接连接,中间没有空格

交集用个完整的html来讲解,可能大家才更好理解

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>高级选择器</title>
    <style>
        /*交集选择器*/

        /*既是P标签,类名称又会text的元素字体变为红色*/
        p.text{
            color: red;
        }
    </style>
</head>
<body>
    <!--交集选择器-多个选择器包含的元素-->
    <p>test1</p>
    <p class="text">test2</p>
    <p class="text">test3</p>
    <p>test4</p>  

</body>
</html>

测试结果:

 

属性选择器

属性选择器的特点就是可以很好的定位到人为定义的属性,而不是已经有的属性,比如给html文件加一个特殊标识,用属性选择器立马就可以取到,并进行调整样式

属性选择器如果细分的话,有两种,一个是属性选择器,一个是属性-值选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>属性选择</title>
    <style>
        /* 属性选择器 */
        [key]{
            color: red;
        }

        /* 属性-值选择器 */
        [key="test"]{
            color: red;
        }   

    </style>
</head>
<body>
    <p key="test">test1</p>    

</body>
</html>

  

注意:属性选择器的语法是  [……]

而属性选择器最常用的就是表单:

input[type="text"] {
  backgroundcolor: red;
}

  

分组选择器

当多个元素的样式相同的时候,我们没有必要重复地为每个元素都设置样式,我们可以通过在多个选择器之间使用逗号分隔的分组选择器来统一设置元素样式

其实这个分组选择就是前面高级选择器里的并集选择器,为什么它又叫分组选择器,就是因为很重要啦

h1,h2 {
  color: red;
}

  

伪类选择器

伪类的意思就本来不存在的类,但是其又可以用

这个最常用的是对a和input标签的选取

伪类选择器有:

:link

:active

:visited

:hover

:focus

:link

表示没有访问的链接

a:link {
  color: blue;
}

  

:active

表示鼠标点击瞬间

a:active {
  color: black;
}

  

:visited

表示访问过,点击过的链接

a:visited {
  color: gray;
}

  

:hover

表示光标放上去但还未点击的状态

p:hover {
  cursor:pointer;
  background-color: #eee;
}

  

:focus

input输入框获取焦点时(即正处于在输入框输入内容时)样式

input:focus {
  background-color: #eee;
}

  

以上最常用的就是:hover

伪元素选择器

伪元素的概念和伪类很像,意思就是本来不存在的,但是又可以直接是用的

伪元素有:

  • first-leter
  • before
  • after

first-leter

用于为文本的首字母设置特殊样式,说白了就是那种文章首字母大写的效果

p:first-letter {
  font-size: 48px;
}

  

before

用于在元素的内容前面插入新内容

p:before {
  content: "*"; /*在所有p标签的内容前面加上一个红色的**/
  color: red;
}

  

after

用于在元素的内容后面插入新内容

p:after {
  content: "?"; /*在所有p标签的内容后面加上一个蓝色的?*/
  color: red;
}

  

各种选择器的优先级(权重)

学完以上的各种各样的选择器,那么当然以上的各种选择器是可以混用的,那么混用的话,就会存在一个问题,假如各种混用的选择器刚好都对同一个元素选中并设置不同的样式,这种的话,到底会显示什么样呢?

这个问题也当然不是问题,因为每个选择器都有优先级(又叫权重)的,优先级高就选择谁

各种选择器的优先级:

权重总结:

1.先看标签是否被选中,如果选中,就数id选择器和类选择器,标签选择的权重,最后谁的权重大就显示谁的,如果权重一样大,后者覆盖前者

2.如果没有选中,权重为0,如果权重都是由父级继承而来,且权重都是0,遵循就近原则,谁描述的近就显示谁

3.!import权重最大

原文地址:https://www.cnblogs.com/yangva/p/9958934.html

时间: 2024-08-08 06:40:36

web前端(8)—— CSS选择器的相关文章

好程序员web前端分享CSS文件引用的最优方法

好程序员web前端分享CSS文件引用的最优方法,在html总引入css文件的方法: 1链接式: 2导入式: 区别: 使用链接式时,会在加载页面主体部分之前加载css文件,这样现实出来的页面一开始就是带有样式效果的,而使用导入式时,会在整个页面装载完成之后再装载css文件,对于有的浏览器来说,在一些情况下,如果页面文件的体积比较大,则会出现先现实无样式的页面,闪烁一下之后再出现设置样式的效果.从浏览者的感受来说,这是使用导入式的一个缺陷.** 链接式比导入式快. 当有多个文件链接到页面的时候会导致

好程序员web前端分享css常用属性缩写

好程序员web前端分享css常用属性缩写,使用缩写可以帮助减少你CSS文件的大小,更加容易阅读.css缩写的主要规则如下: 颜色 16进制的色彩值,如果每两位的值相同,可以缩写一半,例如: #000000可以缩写为#000;#336699可以缩写为#369; 盒尺寸 通常有下面四种书写方法: property:value1; 表示所有边都是一个值value1; property:value1 value2; 表示top和bottom的值是value1,right和left的值是value2 pr

1+x 证书 Web 前端开发 css 专项练习

官方QQ群 1+x 证书 Web 前端开发 css 专项练习 http://blog.zh66.club/index.php/archives/192/ 原文地址:https://www.cnblogs.com/zhsh666/p/11967944.html

Web前端--Html/Css

总结一下今天学的内容,虽然以前学过,但是再学感觉还是有需要学习的地方. Web前端–Html: 超文本标记语言(HyperText Markup Language) 1.整体骨架 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title></title> </head> <body> </body> </ht

web前端开发——css

一.css介绍 1.css是什么? Cascading Style Sheets缩写,层叠样式表.样式定义如何显示HTML元素,样式通常又会存在于样式表中. 2.为什么需要css? 使HTML页面变得美观: 将HTML页面的内容与样式分离: 提高web开发的工作效率. 3.css的优势 内容与表现分离 网页的表现统一,容易修改 丰富的样式,使页面布局更加灵活 减少网页的代码量,增加网页浏览器速度,节省网络带宽 运用独立页面的css,有利于网页被搜索引擎收录 二.css语法 css语法分为两部分:

web前端:css基本操作

1. 概述 css是英文Cascading Style Sheets的缩写,称为层叠样式表,用于对页面进行美化. 存在方式有三种:元素内联.页面嵌入和外部引入,比较三种方式的优缺点. 语法:style = 'key1:value1;key2:value2;' 行内式: 在标签中使用 style='xx:xxx;'单独加在某个标签上,style增加其他属性需要以分号分隔: 1 2 <div style="height: 100px;width:100px">我是div <

[Web 前端] 018 css 清除浮动的四种方法

清除浮动的四种方法 加 clear: ...(见例1) 父级上增加属性 overflow:hidden(见例2.1) 在最后一个子元素的后面加一个空的 div,给它一个样式属性 clear: both(不推荐)(见例2.2) 使用成熟的清浮动样式类 clearfix(见例3) 少废话,上例子 例 1 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>test

web前端之css快速入门

css简介 css概述 CSS 指层叠样式表 (Cascading Style Sheets)样式定义如何显示 HTML 元素样式通常存储在样式表中把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题外部样式表可以极大提高工作效率外部样式表通常存储在 CSS 文件中多个样式定义可层叠为一 css基础语法 css规则由两个主要部分构成:选择器,以及一条或多条声明selector选择器 declaration声明 selector {declaration1; declaration2

【从0到1学Web前端】CSS伪类和伪元素

1.CSS中的伪类 CSS 伪类用于向某些选择器添加特殊的效果. 语法: selector : pseudo-class {property: value} CSS 类也可与伪类搭配使用 selector.class : pseudo-class {property: value} 如下面的一段代码: a.red : visited {color: #FF0000} <a class="red" href="css_syntax.asp">CSS Syn

前端学习 -- Css -- 选择器的优先级

当使用不同的选择器,选中同一个元素时并且设置相同的样式时,这时样式之间产生了冲突,最终到底采用哪个选择器定义的样式,由选择器的优先级(权重)决定优先级高的优先显示. 优先级的规则 内联样式 , 优先级 1000 id选择器,优先级 100 类和伪类, 优先级 10 元素选择器,优先级 1 通配* , 优先级 0 继承的样式,没有优先级 当选择器中包含多种选择器时,需要将多种选择器的优先级相加然后在比较,但是注意,选择器优先级计算不会超过他的最大的数量级,如果选择器的优先级一样,则使用靠后的样式.