前端基础004--CSS选择器

191 阅读6分钟

1.基础选择器

1.1 标签选择器

  • 概念:

标签选择器(元素选择器)是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式。

  • 语法:

      标签名{属性1:属性值1;属性2:属性值2;属性3:属性值3;}
    
  • 作用:

标签选择器可以把某一类标签全部选择出来,比如所有的div标签和所有的span标签。

  • 优点:

能快速为页面中同类型的标签统一样式。

  • 缺点:

不能设置差异化样式。

1.2 类选择器

类选择器使用"."进行标识,后边紧跟类名。

  • 语法:

    • 类名选择器

        .类名{
            属性1:属性值1;
            属性2:属性值2;
            属性3:属性值3;
        }
      
    • 标签

  • 优点

    • 可以为元素对象定义单独或相同的样式。可以选择一个或多个标签。
  • 注意:

    • 类选择器使用.进行标识,后边紧跟类名。
    • 长名称或词组可使用中横线来为选择器命名。
    • 不要纯数字、中文等命名,尽量使用英文字母来表示。
  • 案例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
        <title>Document</title>
    	<style type="text/css">
	    .blue{
		    font-size: 100px;
		    color: blue;
	}
	        .red{
		    font-size: 100px;
		    color:red;
    	}
	    .orange{
	    	font-size: 100px;
	    	color:orange; 
	}
	    .green{
	    	font-size: 100px;
		    color: green;
	    }
        </style>
    </head>
    <body>
        <span class="blue">G</span>
        <span class="red">o</span>
        <span class="orange">o</span>
        <span class="blue">g</span>
        <span class="green">l</span>
        <span class="red">e</span>
    </body>
    </html>

1.3 id选择器

id选择器使用#进行标识,后面紧跟id名

  • 其基本语法规范如下:

    • id选择器

      #id名 {属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}

    • 标签

  • 元素的id值是唯一的,只能对应于文档中某一个具体的元素。

  • 用法基本和类选择器相同。

id选择器和类选择器区别

  • W3C标准规定,在同一个页面内,不允许有相同名字的id对象出现,但是允许相同名字的class。

    • 类选择器(class)好比人的名字,是可以多次重复使用的,比如张三李四王伟
    • id选择器 好比人的身份证号码,全中国是唯一的,不得重复,只能使用一次。

id选择器和类选择器最大的不同在于使用次数上

1.4 通配符选择器

  • 概念:

通配符选择器用*表示, *就是选择所有的标签,他是所有选择器中作用范围最广的。能匹配页面中所有的元素。

  • 其基本语法格式如下:

      .{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
    

例如下面的代码,使用通配符选择器定义CSS样式,清除所有HTML标记的默认选项。

    .{
        margin:0;       /*定义外边距*/
        padding:0;      /*定义内边距*/
    }
  • 注意:

会匹配页面所有的元素,降低页面响应速度,不建议随意使用。

1.5 基础选择器总结

选择器 作用 缺点 使用情况 用法
标签选择器 可以选出所有相同的标签,比如p 不能差异化选择 较多 p{color:red;}
类选择器 可以选出1个或者多个标签 可以根据需求选择 非常多 .nav{color:red;}
id选择器 一次只能选择一个标签 只能使用一次 不推荐使用 #nav{color:red;}
通配符选择器 选择所有的标签 选择的太多,有部分不需要 不推荐使用 *{color:red;}

2.复合选择器

2.1 后代选择器

  • 概念:

后代选择器又称为包含选择器

  • 作用:

用来选择元素或元素组的子孙后代

  • 其写法就是把外层标签写在前面,内层标签写在后边,中间用空格分隔,先写父亲爷爷再写儿子孙子。

      父亲 子级{属性:属性值; 属性:属性值; }
    
  • 语法:

      .class h3{color:red; font-size:16px;}
    

  • 当标签发生嵌套时,内层标签就成为外层标签的后代。
  • 子孙后代都可以这么选择。或者说,它能选择任何包含在内的标签。

2.2 子元素选择器

  • 作用:

子元素选择器只能选择作为某元素子元素(亲儿子)的元素。

  • 其写法就是把父级标签写在前边,自交钱写在后边,中间跟一个>进行连接。

  • 语法:

      .class>h3{color:red; font-size:14px;}
    

2.3 交集选择器

  • 条件:

交集选择器由两个选择器构成,找到的标签必须满足:既有标签一的特点,也有标签2的特点。

  • 语法:

  • 其中第一个为标签选择器,第二个为class选择器,两个选择器之间不能有空格,如h3.special
  • 记忆技巧:

交集选择器是并且的意思,即...又...的意思。

    比如: p.one  选择的是: 类名为.one 的 段落标签。

2.4 并集选择器

  • 应用:

    • 如果某些选择器定义的样式相同,就可以利用并集选择器,可以让代码更简洁。
  • 并集选择器(CSS选择器分组)是各个选择器通过连接而成的,通常用于集体声明。

  • 语法:

  • 任何形式的选择器(包括标签选择器、class类选择器id选择器等)都可以作为并集选择器的一部分

  • 记忆技巧: 并集选择器通常用于集体声明,逗号隔开的,所有选择器都会执行后面样式,逗号可以理解为和的意思。

      比如 .one,p,#test{color:red;}
      表示 .one 和 p 和#test这三个选择器都会执行颜色为红色。
      通常用于集体声明。
    

2.5 链接伪类选择器

伪类选择器:

为了和类选择器相区别,类选择器是用一个点比如.demo{},伪类选择器用冒号即:demo{}

  • 作用:

用于向某些选择器添加特殊的效果。比如给链接添加特殊效果,比如人可以选择第1个,第n个元素。

  • a:link 未访问的链接
  • a:visited 已访问的链接
  • a:hover 鼠标移动到链接上
  • a:active 选定的链接

注意:

  • 写的时候,他们的顺序尽量不要颠倒,按照lvha的顺序,否则可能引起错误

  • 因为叫伪类链接,所以都是利用交集选择器 a:link a:hover

  • 因为a链接浏览器具有默认样式,所有我们实际工作中都需要结合链接单独指定样式。

      a { /*a是标签选择器  所有的链接*/
          font-weight:700;
          font-size:16px;
          color:gray;
      }
      a:hover{ /*:hover是链接伪类选择器   鼠标经过*/
          color:red;   /*鼠标经过的时候由原来的灰色变为红色*/
      }
    

2.6 复合选择器总结

选择器 作用 特征 使用情况 隔开符号及用法
后代选择器 用来选择元素后代 是选择所有的子孙后代 较多 符号是空格 .nav a
子代选择器 选择 最近一级元素 只选亲儿子 较少 符号是> .nav>p
交集选择器 选择两个标签交集的部分 既是 又是 较少 没有符号 p.one
链接伪类选择器 给链接更改状态 较多 重点记住a()和a.hover实际开发的写法