zoukankan      html  css  js  c++  java
  • CSS选择器

    ■ 定义

    根据不同的需求把不同的标签选出来,简单来说,就是选择标签用的

    ■ 选择器的分类

    选择器有以下分类

      ▶ 基础选择器(由单个选择器组成)

        ▷ 标签选择器

        ▷ 类选择器

        ▷ id选择器

        ▷ 通配符选择器

      ▶ 复合选择器

        ▷ 后代选择器

        ▷ 子选择器

        ▷ 并集选择器

        ▷ 伪类选择器

          ➤ 链接伪类选择器

               ➤ :focus伪类选择器

    ■ 标签选择器

    □ 定义

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

    □ 使用说明

    标签选择器可以把某一类标签全部选择出来

    比如div {...} 会把所有的<div>标签选择出来,span {...}会把所有的<span>标签选择出来

    语法:

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

    示例

    p {
        color: red;
    }
    
    div {
        color: green;
    }
    <p>文字1</p> <!-- 红色字体-->
    <p>文字2</p> <!-- 红色字体-->
    <p>文字3</p> <!-- 红色字体-->
    
    <div>文字4</p> <!-- 绿色字体-->
    <div>文字5</p> <!-- 绿色字体-->
    <div>文字6</p> <!-- 绿色字体-->

    □ 总结

    优点:能快速为页面中同类型的标签统一设置样式

    缺点:不能设计差异化样式,只能选择全部的当前标签

    ■ 类选择器

    □ 定义

    如果想要差异化地单独选择一个或某几个不同的标签,可以使用类选择器

    类选择器在HTML中以class属性表示,在CSS中,类选择器以一个点"."显示

    □ 使用说明

    类选择器使用"."进行标识,后面紧跟类名,类名是自定义的

    语法:

    .类名 {
        属性1: 属性值1;
        属性2: 属性值2;
        属性3: 属性值3;
        ...
    }
    <标签 class="类名"> </标签>

    关于命名:

      不能跟标签名重复,如.div, .span是不允许的

      长名称或词组可以使用中下划线"_"来为选择器命名,如.user_name,single_star

      尽量使用英文字母来表示,不要使用纯数字,中文等命名

      命名要有意义,尽量使别人一眼就知道这个类名的目的

      遵守一些约定俗成的命名规范,如导航栏的命名通常为nav,数量的命名通常为cnt等

    □ 示例

    .red {
        color: red;
    }
    <ul>
        <li class="red">冰雨</li>  <!--字体为红色-->
        <li>来生缘</li>
        <li>李香兰</li>
        <li class="red">生僻字</li> <!--字体为红色-->
        ...
    </ul>
    <div class="red">我也是红色</div> <!--字体为红色-->

    □ 多类名

    可以给一个标签指定多个类名,从而将多个类的样式叠加到该标签

    ◆ 使用说明

    类名之间使用空格分隔

    语法:

    <标签 class="类名1 类名2 ...">...</标签>

    简单理解,就是给某个标签添加了多个类的样式,从而节省CSS代码,统一修改也非常方便

    可以把一些标签元素相同的样式(共同部分)放到一个公共类里面,这样这些标签都可以先调用这个公共类,然后再调用自己独有的类

    多类名选择器在后期布局比较复杂的情况下,还是较多使用

    ◆ 示例

    .red {
        color: red;
    }
    
    .font35 {
        font-size: 35px;
    }
    <div class="red font35">刘德华</div>

    ■ id选择器

    □ 定义

    通过元素id选择标签的

    □ 使用说明

    id选择器可以为标有特定id的HTML元素指定特定的样式

    HTML元素以id属性来设置id选择器,CSS中id选择器以"#"来定义

    注:id属性只能在每个HTML文档中出现一次

    语法:

    #id {
        属性:属性值;
        ...
    }

    □ 示例

    #pink {
        color: pink;
    }
    <div id="pink" >迈克尔.杰克逊</div>
    <div id="pink" >刘德华</div>  <!--错误,id="pink"只能调用一次-->

    □ id选择器和类选择器的区别

    类选择器好比人的名字,一个人可以有多个名字,同时一个名字也可以被多个人使用

    id选择器好比人的身份证号码,是唯一的

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

    类选择器在修改样式中用的最多,id选择器一般用于页面唯一性的元素上,经常和js搭配使用

    ■ 通配符选择器

    □ 定义

    在CSS中,通配符选择器使用"*"定义,它表示选取页面中所有元素(标签)

    □ 使用说明

    通配符选择器不需要调用,自动就给所有的元素使用样式

    特殊情况下才使用

    语法:

    * {
        属性: 属性值;
        ...
    }

    □ 示例

    * {
        color: red;   <!-- 所有标签的颜色都改为红色-->
    }

    ■ 基础选择器总结

    ▶ 标签选择器

      作用:可以选出所有相同的标签

      特点:不能差异化选择

      使用情况:使用情况较多

      用法:p {color: red;}

    ▶ 类选择器

      作用:可以选出1个或多个标签

      特点:可以根据需求选择

      使用情况:使用情况非常多

      用法:.nav {color:red;}

    ▶ id选择器

      作用:一次只能选择一个标签

      特点:ID属性只能在每个HTML文档中出现一次

      使用情况:一般和js搭配使用

      用法:#nav {color:red;}

    ▶ 通配符选择器

      作用:选择所有的标签

      特点:选择的太多,有部分不需要

      使用情况:特殊情况使用

      用法:* {color:red;}

    注:如果是修改样式,类选择器是使用最多的

    ■ 后代选择器

    □ 定义

    后代选择器用于选择父元素里面子元素,后代选择器又称为包含选择器

    □ 使用说明

    语法:

    元素1 元素2 {样式声明}

    语法说明:

      ▶ 元素2是元素1的后代元素(儿子,孙子,曾孙子...)

      ▶ 元素1和元素2之间用空格分隔

      ▶ 元素1只是起到定位作用,不参与样式改变,即元素1里的其他元素不会改变

      ▶ 元素1是父级,元素2是子级,最终选择的是元素2

      ▶ 如果要选择元素2的后代,则可写成元素1 元素2 元素3 ... 依次是前一个元素的后代

      ▶ 元素2可以是儿子,也可以是孙子等,只要是元素1的后代即可

      ▶ 元素1和元素2可以是任意基础选择器

    □ 示例

    ol li {
        color: red;
    }
    
    ul li {
        color: green;
    }
    
    ul li a {
        color: yellow;
    }
    
    .nav li a {
        color: blue;
    }
    <ol>
        <li>我是ol的孩子</li> <!--红色-->
        <li>我是ol的孩子</li> <!--红色-->
        <li>我是ol的孩子</li> <!--红色-->
    </ol>
    
    <ul>
        <li>我是ol的孩子</li> <!--绿色-->
        <li>我是ol的孩子</li> <!--绿色-->
        <li>我是ol的孩子</li> <!--绿色-->
        <li><a href="#">我是ol的孙子</a></li> <!-- 黄色-->
    </ul>
    
    <ul class="nav">
        <li>我是ol的孩子</li> <!--绿色-->
        <li>我是ol的孩子</li> <!--绿色-->
        <li>我是ol的孩子</li> <!--绿色-->
        <li><a href="#">我是ol的孙子</a></li> <!--蓝色-->
    </ul>

    ■ 子选择器

    □ 定义

    子选择器用于选择作为某元素的最近一级子元素,简单理解就是选亲儿子元素

    □ 使用说明

    语法:

    元素1>元素2 {样式声明}

    语法说明:

      ▶ 表示选择元素1里面的所有直接后代(子元素)元素2

      ▶ 元素1和元素2中间用大于号隔开

      ▶ 元素1是父级,元素2是子级,最终选择的是元素2

      ▶ 元素2必须是亲儿子,其孙子,重孙子之类都不归他管,也可以叫亲儿子选择器

    □ 示例

    .nav>a {
        color: red;
    }
    <div class="nav">
        <a href="#">我是儿子</a> <--红色-->
        <p>
            <a href="#">我是孙子</a> <--不变色-->
        </p>
    </div>

    ■ 并集选择器

    □ 定义

    并集选择器用于选择多组标签,同时为它们定义相同的样式

    □ 使用说明

    并集选择器通常用于集体声明

    语法:

    元素1,元素2 {样式声明}

    语法说明:

      ▶  上述语法表示选择元素1和元素2

      ▶  元素1和元素2中间用逗号分隔,逗号可以理解为和的意思

      ▶  任何形式的选择器都可以作为并集选择器的一部分

    □ 示例

    div,
    p,
    .pig li {
        color: pink;
    }
    <div>熊大</div> <!--粉色-->
    <p>熊二</p> <!--粉色-->
    <span>光头强</span>
    <ul class="pig">
        <li>小猪佩奇</li> <!--粉色-->
        <li>猪爸爸</li> <!--粉色-->
        <li>猪妈妈</li> <!--粉色-->
    </ul>

    ■ 关于伪类选择器

    □ 定义

    伪类选择器用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第1个,第n个元素

    □ 使用说明

    伪类选择器书写最大的特点是用冒号(:)表示,比如:hover,:first-child

    伪类选择器很多,比如有链接伪类,结构伪类等

    ■ 链接伪类选择器

    □ 链接伪类选择器的分类

    ▶ a:link
      选择所有未被访问的链接

    ▶ a:visited
      选择所有已被访问的链接

    ▶ a:hover
      选择鼠标指针位于其上的链接

    ▶ a:active
      选择活动链接(鼠标按下未弹起的链接)

    □ 使用说明

    链接伪类选择器注意事项:

      ▶ 为了确保生效,请按照LVHA的循环顺序声明::link :visited :hover :active,否则会失效

      ▶  因为a链接在浏览器中具有默认样式,所以我们实际工作中都需要给链接单独指定样式

    链接伪类选择器实际开发中的写法:

    通常来讲,仅仅是页面初期显示一个颜色,鼠标悬停经过为另外一个颜色,无需其他样式

    a {
        color: gray;
        text-decoration: none;
    }
    a:hover {
        color: red;
        text-decoration: underline;
    }

    □ 示例

    a:link {
        color: black;
        text-decoration: none;
    }
    
    a:visited {
        color: orange;
        text-decoration: none;
    }
    
    a:hover {
        color: skyblue;
        text-decoration: none;
    }
    
    a:active {
        color: green;
        text-decoration: none;
    }
    <a href="#">小猪佩奇</a>
    <!-- 初期显示时,字体是黑色-->
    <!-- 点击过链接后,字体是橘色-->
    <!-- 鼠标悬停在链接上时,字体是天蓝色-->
    <!-- 鼠标点击链接但为松开时,字体是绿色-->

    ■ :focus伪类选择器

    □ 定义

    :focus伪类选择器用于选取获得焦点的表单元素

    □ 使用说明

    焦点就是光标,一般情况<input>类表单元素才能获取,因此这个选择器也主要针对于表单元素来说

    □ 示例

    input:focus {
        background-color: yellow;
        color: red;
    }
    <input type="text"> <!-- 获取光标后,背景色变为黄色,字体变红色; 光标离开后,背景色变为无,字体变为黑色-->

    ■ 复合选择器总结

    ▶ 后代选择器

      作用:用来选择后代元素

      特征:可以是子孙后代

      使用情况:较多

      隔开符号及用法:符号是空格,如.nav a

    ▶ 子选择器

      作用:选择最近一级元素

      特征:只选亲儿子

      使用情况:较少

      隔开符号及用法:符号是大于,如.nav>p

    ▶ 并集选择器

      作用:选择某些相同样式的元素

      特征:可以用于集体声明

      使用情况:较多

      隔开符号及用法:符号是逗号,如.nav,div

    ▶ 链接伪类选择器

      作用:选择不同状态的连接

      特征:跟链接相关

      使用情况:较多

      隔开符号及用法:重点记住a{}和a:hover 实际开发的写法

    ▶ :focus选择器

      作用:选择获得光标的表单

      特征:跟表单相关

      使用情况:较少

      隔开符号及用法:input:focus 记住这个语法

  • 相关阅读:
    优化windows7硬盘操作文件的速度
    Google 开源API汇总
    兼容IE和FF:复制本页地址 收藏本页地址 复制当前页地址和标题
    暂时中断一段时间
    Silverlight C# 游戏开发:绚丽的粒子特效颜色粒子(一)
    任天堂模拟器Silverlight版开发,POPNes Emulator!
    Silverlight C# 游戏开发:资源的处理,图像算法(一)
    Silverlight C# 游戏开发:绚丽的粒子特效粒子效果(二)
    吐血的有道谜题
    Silverlight C# 游戏开发:Flyer09扇动翅膀的蝴蝶
  • 原文地址:https://www.cnblogs.com/shiliye/p/14140331.html
Copyright © 2011-2022 走看看