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

    css是用于控制页面布局和显示的语言。原理是,选中相应的对象,然后赋予它想要的布局和样式。需要通过选择器来获取目标对象。对CSS中的选择器做一个常规的整理和分类。

    1. 选择器

      要给对象设置样式:选择器,声明(一个或者多个),声明(属性:值)组成,如下所示:

      selector { property1:value;property2:value;property3:value }   declaretion声明

    2. 基本选择器

       CSS中的基本选择器有三种:元素选择器(标记,标签),类选择器,ID选择器。

       <p class="red" id="notice">大家好</p>
       对于这条HTML语句,要给他设置的样式是字体是红颜色的。
       可以使用选择器:   p{ }  .red{  } #notice{ }   
       设置颜色:color:red;

       可以使用这三种基本选择器中的任意一种即可完成颜色设置。

       2.1 元素选择器:

        找到document对象(html 文档)下面的所有的符合要求的元素。个数是零个,一个或者多个。

       2.2 类选择器:

        找出document对象(html 文档)下面的所有类是指定类的对象。有零个,一个或者多个。

       2.3 ID选择器:

        找出document对象(html 文档) 下面的所有的ID是指定ID的对象,可能是零个,一个或者多个,严格要求下一个文档中一个ID名只能用在一个对象上,所以个数为零个或者一个,多个则是错误的用法。

    3. 复合选择器

       在实际开发中前面提供的三种选择器方式显得比较局限,可以使用上面的三种选择器扩展出很多复合型的,非常有用的选择。有:分组选择器,后代选择器,子元素选择器,相邻兄弟选择器,伪类选择器,伪元素选择器。为页面设计,提供了更多更丰富,更强大,更复杂的选择器。

       3.1 分组选择器

         分组选择器不是一种特定的选择器,而是将多选基本选择器以及其他类型的复合选择器用逗号隔开,使用相同的样式的选择器。如下所示:

         p,h1,span{}   "p,h1,span"共同构成了一个组合选择器,该选择器中定义的样式可以同时应用到p元素中,h1元素中,span元素中,组合选择器的成员可以是相同类型的选择器,也可以是不同类型的选择器。

       3.2属性选择器

        属性选择器,是根据指定的属性找出所有有这个属性的对象。而且这个属性在对象中的存在形式也是多种多样的。

       <input type="text"/>   <input type="button"/>
      上面的这个HTML语句,我们可以使用上文说到的元素选择器  input{} 进行选择,但是如果页面中有两个input ,,是不同的类型。这是为了给不同的input 设置不同的样式,可以采用属性选择器。
      input [type="text"]{}   input [type="button"]{} 这两个选择器及时属性选择器,可以省略前面的input,属性“type”在对象中的存在也有很多不同的形式。

       [attribute]                               用于选取带有指定属性的元素。

       [attribute=value]                     用于选取带有指定属性和值的元素。

       [attribute~=value]                  用于选取属性值中包含指定词汇的元素。

       [attribute|=value]                   用于选取带有以指定值开头的属性值的元素,该值必须是整个单词。

       [attribute^=value]                  匹配属性值以指定值开头的每个元素。

       [attribute$=value]                  匹配属性值以指定值结尾的每个元素。

       [attribute*=value]                  匹配属性值中包含指定值的每个元素。

       3.3  后台选择器

        后代选择器是选择某个(祖先)选择器的指定后代,这个后台可以是“儿子”也可以是“孙子”,甚至更远的关系。中间使用“  ”(空格)隔开。

    <ul>
      <li></li>
      <li></li>
      <li>
        <ul>
          <li></li>
          <li></li>
          <li></li>
        </ul>
      </li>
    </ul>

      如上面的HTML所示:<ul>的后代中有<li>,也有<ul>。  ul li{} 这个选择器会选中所有的li元素。

       3.4  子元素选择器

        子元素选择器是选择某个父选择器的指定“儿子”,而且必须是“儿子”,使用“>”号连接。

        在上面的HTML中,ul li{} 选中了所有的li,如果只要选择父元素ul下面的子元素li呢?这时就要用子元素选择器ul > li{}了。但是这两者的区别在这儿体现的不明显。

       3.5  相邻兄弟选择器

        相邻兄弟选择器是选择拥有同一个父元素的所有(兄弟姐妹)元素。 使用“+”号连接。

        在上面的HTML中,第一个ul的子元素li之间是一种兄弟关系,第二个ul的子元素也是一种兄弟关系。

       li + li {} 能选中兄弟关系的元素。

       3.6 伪类选择器

        <a></a>锚的伪类有四种,分别表示超链接的不同状态:

     a:link {color: #FF0000}		/* 未访问的链接 */
     a:visited {color: #00FF00}	/* 已访问的链接 */
     a:hover {color: #FF00FF}	/* 鼠标移动到链接上 */
     a:active {color: #0000FF}	    /* 选定的链接 */

       a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。a:active 必须被置于 a:hover 之后,才是有效的。

       :first-child 这个不是说某个的第一个子元素,而是以某个元素为第一子元素的元素。 在IE中必须要声明<!DOCTYPE html>才有效

       :lang() 向带有指定lang属性的元素添加样式。

      :focus  向某个拥有键盘输入焦点儿的元素设置样式。
       

    CSS所有的选择器类型都已经在上面罗列,但不是说知道有哪几种选择器就可以了,选择器类型虽然有限,但是组合使用,结果有千变万化,很丰富,很强大。需要慢慢去实践,总结一套管用的选择器使用方法。

  • 相关阅读:
    vim编辑参数
    hive的元数据存储在mysql后,报错的解决方法!
    hadoop添加删除节点
    Android画图Path的使用
    android中path的arcTo方法的使用 .
    StrongReference、SoftReference、WeakReference、PhantomReference .
    为Android应用增加渠道信息 自动化不同渠道的打包过程
    C#知识点
    CSS判断浏览器
    调用外部程序
  • 原文地址:https://www.cnblogs.com/jameslong/p/3783805.html
Copyright © 2011-2022 走看看