CSS教程:CSS选择符的用法和实例

2016-02-20 00:21 23 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是CSS教程:CSS选择符的用法和实例,一起来学习了解下吧!

【 tulaoshi.com - Web开发 】

  成天都要与样式打交道的朋友,相信对CSS选择符(CSS Selectors)都不会陌生。不过对于刚接触或者还不是很熟悉css的朋友来说,能够找到一份对于CSS选择符的相关例子集合,还是会有一定帮助的。

  虽然之前已经有不少对于CSS选择符的文章在网络上出现,不过我还是准备以自己的方式来写一写,这也是一种获得乐趣的途径。所以我小小的总结了一下css1及css2选择符(本文的CSS选择符都为css1及css2)的用法及实例,希望对大家有些许帮助。

  做这之前,当然得将所有CSS选择符列出来先。

CSS选择符(CSS Selectors - CSS1 and CSS2)类型选择符(Type Selectors) CSS1 包含选择符(Descendant Selectors) CSS1 ID选择符(ID Selectors) CSS1 类选择符(Class Selectors) CSS1 分组选择符(Grouping Selectors) CSS1 通配选择符(Universal Selectors) CSS2 子选择符(Child Selectors) CSS2 相邻选择符(Adjacent Selectors) CSS2 属性选择符(Attribute Selectors)E1[attr] CSS2 E1[attr=value] CSS2 E1[attr~=value] CSS2 E1[attr|=value] CSS2 伪类选择符(CSS Pseudo-Classes Reference):link CSS1 :visited CSS1 :hover CSS1 :active CSS1 :focus CSS2 :first-child CSS2 :first CSS2 :left CSS2 :right CSS2 :lang CSS2 伪对象选择符(CSS Pseudo-Elements Reference):first-letter CSS2 :first-line CSS2 :before CSS2 :after CSS2

   现在已经将所有的CSS选择符都列举出来了,将就对每个选择符做单独的解释和举例。对于以下的这些例子,有些只是简单的应用实例,有些还提供了对比例子,使得可以明显的看出该种选择符的使用范围和方法。

类型选择符(Type Selectors)

  语法:E1

  说明:有的时候我们也将它叫做标签选择符,因为它是直接用html标记来做选择符进行操作。目前所有主流浏览器均支持该选择符,属于CSS1选择符。

  实例:
  div{color:#F00;}
  div这里是测试内容/div

包含选择符(Descendant Selectors)

  语法:E1 E2

  说明:选择所有被E1包含的E2,这里的E1和E2即可以是html标记,也可以是class或id。目前所有主流浏览器均支持该选择符,属于CSS1选择符。

  实例:
  div em{color:#F00;}
  .test em{color:#F00;}
  div这里是em测试/em内容/div
  div class="test"这里是em测试/em内容/div

ID选择符(ID Selectors)

  语法:#sID

  说明:以DOM中作为对象的唯一标识符的ID作为选择符。目前所有主流浏览器均支持该选择符,属于CSS1选择符。

  实例:
  #test{color:#F00;}
  div id="test"这里是测试内容/div

类选择符(Class Selectors)

  语法:.className

  说明:其效果等同于E1[class~=className]。可以为对象的class属性指定多于一个值(className),其方法是用空格将每个className隔开。目前所有主流浏览器均支持该选择符,属于CSS1选择符。

  实例:
  .test{color:#F00;}
  .test2{font-size:14px;}
  div id="test"这里是测试内容/div
  div id="test test2"这里是测试内容/div

分组选择符(Grouping Selectors)

  语法:E1,E2,E3

  说明:将同样的定义应用于多个选择符,可以将选择符以逗号分隔的方式并为组。目前所有主流浏览器均支持该选择符,属于CSS1选择符。

  实例:
  .test,p{color:#F00;}
  div id="test"这里是测试内容/div
  p这里是测试内容/p

通配选择符(Universal Selectors)

  语法:*

  说明:选定DOM中的所有对象。目前所有主流浏览器均支持该选择符,属于CSS2选择符。

  实例:
  *{color:#F00;}
  div这里是测试内容/div
  p这里是测试内容/p

子选择符(Child Selectors)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  语法:E1 E2

  说明:选择所有作为E1子对象的E2,不包括孙辈和更深的关系。非IE内核浏览器和IE7及以上浏览器支持,属于CSS2选择符。

  实例:
  .test strong{color:#F00;}
  div class="test"
   strong测试的内容/strong
   p这是strong测试的内容/strong哦!/p
   strong测试的内容/strong
  /div

相邻选择符(Adjacent Selectors)

  语法:E1 + E2

  说明:选择紧跟在对象E1之后的所有E2对象(E1与E2需结构级别相同)。非IE内核浏览器和IE7及以上浏览器支持,属于CSS2选择符。

  实例:
  p + p{color:#F00;}
  p测试的内容1/p
  p测试的内容2/p
  div测试的内容3/div
  p测试的内容4/p
  p测试的内容5/p
  divp测试的内容6/p/div

属性选择符(Attribute Selectors)

  语法:(属性选择符具体再分为4种不同的表现方式)
  1.E1[attr]
  2.E1[attr=value]
  3.E1[attr~=value]
  4.E1[attr|=value]

  说明:
  1. 选择具有attr属性的E1
  2. 选择具有attr属性且属性值等于value的E1
  3. 选择具有attr属性且属性值为一用空格分隔的字词列表,其中一个等于value的E1。
  4. 选择具有attr属性且属性值为一用连字符分隔的字词列表,由value开始的E1
  非IE内核浏览器和IE7及以上浏览器支持,属于CSS2选择符。

  实例:
  div[title]{color:#f00;}
  div title="测试的内容"测试的内容/div

  div[class=a]{color:#f00;}
  div class="a"测试的内容/div
  div class="a b"测试的内容/div

  div[class~=a]{color:#f00;}
  div class="a"测试的内容/div
  div class="a b"测试的内容/div

  div[title|=a]{color:#f00;}
  div title="a"测试的内容/div
  div title="a b c"测试的内容/div
  div title="a-b-c"测试的内容/div

伪类选择符(CSS Pseudo-Classes Reference)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  语法:(伪类选择符共有10种)
  1. Selector:link{ sRules }
  2. Selector:visited{ sRules }
  3. Selector:hover{ sRules }
  4. Selector:active{ sRules }
  5. Selector:focus{ sRules }
  6. Selector1 Selector2:first-child{ sRules }
  7. Selector:first{ sRules }
  8. Selector:left{ sRules }
  9. Selector:right{ sRules }
  10.Selector:lang{ sRules }

  说明:
  1. 设置a对象在未被访问前的样式表属性。默认值由浏览器决定。对于无href属性(特性)的a对象,此伪类不发生作用。
  2. 设置a对象在其链接地址已被访问过时的样式表属性。默认值由浏览器决定。定义网页过期时间或用户清空历史记录将影响此伪类的作用。对于无href属性(特性)的a对象,此伪类不发生作用。
  3. 设置对象在其鼠标悬停时的样式表属性。在CSS1中此伪类仅可用于a对象。且对于无href属性(特性)的a对象,此伪类不发生作用。在CSS2中此伪类可以应用于任何对象。
  4. 设置对象在被用户激活(在鼠标点击与释放之间发生的事件)时的样式表属性。在CSS1中此伪类仅可用于a对象。且对于无href属性(特性)的a对象,此伪类不发生作用。在CSS2中此伪类可以应用于任何对象。并且:active状态可以和:link以及:visited状态同时发生。
  5. 设置对象在成为输入焦点(该对象的onfocus事件发生)时的样式表属性。
  6. 设置对象(Selector1)的第一个子对象(Selector2)的样式表属性。
  7. 设置页面容器第一页使用的样式表属性。仅用于@page规则。
  8. 设置页面容器位于装订线左边的所有页面使用的样式表属性。仅用于@page规则。
  9. 设置页面容器位于装订线右边的所有页面使用的样式表属性。仅用于@page规则。
  10.设置对象使用特殊语言的内容样式表属性。
  
  :link, :visited, :hover, :active属于CSS1,目前所有主流浏览器均支持a对象的该4种伪类选择符,非IE浏览器和IE7及以上浏览器还支持非a对象的:hover, :active;:focus, :lang属于CSS2,非IE核心浏览器及IE8支持。

  实例:
  a:link{color:#f00;}
  a:visited{color:#666;}
  a:hover{color:#F60;text-decoration:none;}
  a:active{color:#000;}
  a href="http://blog.doyoe.com/"css探索之旅/a

  input:focus,a:focus{background:#f00;/* 点击或按TAB键获得焦点时生效 *

来源:http://www.tulaoshi.com/n/20160220/1631698.html

延伸阅读
标签: Web开发
自从1996年CSS1的推出,W3C组织就建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落、列表、标题、图片以及层div。 盒模型主要定义四个区域:内容(content)、内边框距(padding)、边框(border)和外边距(margin)。 对于初学者,经常会搞不清楚margin,padding之间的层次、关...
标签: Web开发
网页制作WEB文章简介:盒模型主要定义四个区域:内容(content)、内边框距(padding)、边框(border)和外边距(margin)。 自从1996年CSS1的推出,W3C组织就建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落、列表、标题、图片以及层div。 盒模型主要定义四个区域:内容(con...
标签: Web开发
写完第七课,因为时间问题没有继续写第八课有关浏览器兼容方面的文章,以为大家可以自己掌握这方面的知识,不过发现有很多同学找了很多资料,很多文章去研究,费时费力的,效果也不好,今天是星期六,我呢就再给大家补写这篇教程,带领大家用最短的时间掌握CSS Hack! 说到浏览器兼容性问题,就必须说CSS Hack!提到Hack大家肯定会想到电脑...
标签: Web开发
Cascading Style Sheets: The Definitive Guide, 2nd Edition is a thorough review of all aspects of CSS2.1 and a comprehensive guide to CSS implementation. The book includes new content on positioning, lists and generated content, table layout, user interface, paged media, and more. It explores in detail each individ...
标签: Web开发
CSS用于定义网站的 UI 和将内容从外观中分离。 CSS在几乎所有网站中被广泛应用。让我们花点时间来看看我们编写的样式是否基于比较好的标准。 下面的这些技巧将对CSS初学者在开发中有所帮助,对CSS高手或许也将有某些提高。 索引 这个定义可以帮助你和其他人更多的理解这个网站。这个索引只是一个格式化的文本段落,和 CSS注释 一样。 ...

经验教程

480

收藏

96
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部