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

           传统HTML网页设计往往是内容和表现混合,随着网站规模不断扩大,无论是修改网页还是维护网站都显得越来越困难。CSS的诞生为网页注入了新鲜血液,它提供了丰富的样式手段,对页面布局等的控制也更加精确,同时能够实现内容和表现的分离,使得网站的设计风格趋向统一、维护更加容易,并且能够被多种浏览器支持。

    一、CSS的基本语法

         CSS是一个包含一个或多个规则的文本文件。CSS规则由两个主要的部分构成:选择器(Selector,也称“选择符”)和声明(Declaration)。

         选择器通常是需要改变样式的HTML元素。

         声明由一个或多个属性名称与属性值对组成。属性名称是CSS的关键字,如font-family(字体)、color(颜色)和border(边框)等。属性名称用于指定选择器某一方面的特征,而属性值则基本用于指定选择器的特性的具体特征。其基本语法如下:

                                                    selector{property1:valuue1;property2:valuue2;property3:valuue3;……}

                                                      选择器{属性1:属性值1;属性2:属性值2;属性3:属性值3;……}

    二、CSS选择器类型

    CSS选择器主要有4种类型:标记选择器、类选择器、id选择器及伪类选择器。

    1、标记选择器

       标记选择器(也可称为”元素选择器)即直接使用HTML标记名作为选择器,它定义的样式作用于页面中所有与选择器同名的标记。例如:

                               P{background-color:red;font-size:20px;color:green}

      p是段落元素,该CSS规则将HTML中所有段落统一设置成”背景色为红色、字体大小为20像素以及字体颜色为绿色“。

    2、类选择器

       任何合法的HTML标记都可以使用class属性,class属性用于定义页面上的HTML元素标记组,这些标记组通常具有相同的功能或作用,因此它们可以设置相同的样式规则。类选择器由点号”.“及类名直接相连构成。例如:

                              .c2{background-color:red;font-size:20px;color:green}

                              <p class="c2">使用class属性设置段落样式</p>

        p是段落元素选择器,在P中应用了class=”c2“这个选择器后,该段落中的文字会被设置成”背景色为红色、字体大小为20像素以及字体颜色为绿色“。

    3、id选择器

       HTML标记的id属性与class属性类似,可以用于各类标记中,也可以作为css选择器来使用。区别在于,同一id属性值在同一页面上只能出现一次,而同一class属性值可以在同一页面中多次出现。id选择器由井号”#“和id属性值相连构成。例如:

                               # right{color:background-color:red;font-size:20px;color:green}

                               <p id="right">使用class属性设置段落样式</p>

       p是段落元素选择器,在P中应用了id=”right“这个选择器后,该段落中的文字会被设置成”背景色为红色、字体大小为20像素以及字体颜色为绿色“。

       对于类选择器和id选择器的选择问题,要注意以下几点:

       1)、是否在一个文档内重复使用

    • 类选择器可以在一个文档内根据需要多次使用
    • id选择器只能在文档内应用一次。

              所以,如果需要多次使用相同的特定选择器,类选择器是最好的选择。

       2)、是否可以使用组合类选择器

            对于同一个HTML元素,可以使用多个类选择器格式化,而如果使用id选择器,只能用一个。这意味着类选择器有更广泛的应用。例如:

                                             <p class="c1 c2">

                                             .c1{color: red;}     .c2{background-color:bule;} 

       3)、id选择器比类选择器更具体

            有时候会发生一个声明与其它声明冲突的情况。这些冲突可以使用样式表的重叠解决。如果类选择器和id选择器的声明有冲突,最后将选择id选择器的声明。  

    4、伪类选择器

       前面介绍的选择器都是能够与HTML中具体标记对应的,但是像段落的第一行、超链接访问前后等,就没有HTML标记与之对应,从而也没有简单的CSS选择器应用,为此CSS引进了伪类选择器。其用法如下:

                           标记:伪类名{}

    常用伪类如下:

                   link:设置a标记在未被访问前的样式

                   hover:设置a标记在鼠标悬停时的样式

                   active:设置a标记在被用户激活(鼠标单击与释放之间)时的样式

                   visited:设置a标记在被访问后的样式

                   first-letter:作用于块,设置第一个字符的样式

                   first-line:作用于块,设置第一个行的样式

                   first-child:设置第一个子标记的样式

    例如:

                  a:link{color:gray;text-decration:none;}   链接在访问前灰色,无下划线

                  a:visited{color:blue;text-decration:none;}  链接访问后蓝色,无下划线

                  a:hover{color:red;text-decration:underline} 鼠标悬停时,红色,有下划线

                  a:active{color:yellow;text-decration:underline} 链接激活后,黄色,有下划线                               

                  p:first-letter{font-weight:bold;font-family:"黑体"}  段落的第一个字黑体加粗

                  p:first-line{font-size:32px}             段落的第一行字号32px

                  注:对链接编写样式规则时,必须按照上面的顺序,即link、visited、hover、active

    5、其它选择器

    交集选择器:

                        p.c2{color:red;font-size:20px;}

                        li.c3{color:red;}    

             前者选择所有class=“c2”的<p>元素,后者选择所有 class=“c3”的<li>元素

    并集选择器:

                     .c1,.c2,c3{color:red} 

             选择器c1、c2和c3中的声明均包含颜色属性红色

    后代选择器:

        后代选择器用于选择一个元素的后代元素,例如:  p em{color:blue;}  该样式规则只选择<p>元素后代的<em>元素

    通配符选择器:

        通配符选择器用于选择所有元素。例如: *{color:bule}  会将页面上所有的HTML元素格式化为蓝色。

            

  • 相关阅读:
    严重: Parse error in application web.xml file at jndi:/localhost/ipws/WEBINF/web.xml java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml
    Failed to install .apk on device 'emulator5554': timeout解决方法
    java.lang.NoClassDefFoundError:org.jsoup.Jsoup
    Conversion to Dalvik format failed: Unable to execute dex:解决方法
    apache Digest: generating secret for digest authentication ...
    Description Resource Path Location Type Project has no default.properties file! Edit the project properties to set one.
    android service随机自启动
    MVC3 安装部署
    EF 4.3 CodeBased 数据迁移演练
    SQL Server 2008开启sa账户
  • 原文地址:https://www.cnblogs.com/yddlvo/p/4474316.html
Copyright © 2011-2022 走看看