CSS中的五大选择器_第1页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、css中的五大选择器1、元素挑选器最频繁的css挑选器当属元素挑选器了,在html文档中该挑选器通常是指某种html元素,例如:p,h2,span,a,div乃至html。例如:html background-color: black;p font-size: 30px; backgroud-color: gray;h2 background-color: red;以上css代码会对囫囵文档添加黑色背景;将全部p元素字体大小设置为30像素同时添加灰色背景;对文档中全部h2元素添加红色背景。通过上面的例子也可以看出css的基本规章结构:由挑选器和声明块组成。每个声明块中包含一个或多个声明。每个声

2、明的格式为:属性名 : 属性值。如下图所示: 每条声明以分号;结尾。假如在一个声明中用法了不正确的属性值,或者不正确的属性,则该条声明会被忽视掉。另外请注重不要遗忘每条声明后面的分号。我们也可以同时对多个html元素举行声明:h1, h2, h3, h4, h5, h6, p font-family: 黑体;这样会将文档中全部的h1h6以及p元素字体设置为黑体。假如我们希翼一锅粥地选取全部的元素,可以用法通配符*: * font-size: 20px;这样全部的元素都将被选中,虽然font-size属性对于某些元素是无效的,那么它将被忽视。2、类挑选器(1)单类挑选器单纯的元素挑选器似乎还过于

3、粗糙了,比如我们希翼在文档中突出加粗显示某种重要的内容,例如稿件的截至日期。问题在于我们不能确定稿件的截至日期将会浮现在哪种元素中,或者它可能浮现在多种不同的元素中。这个时候,我们可以考虑用法类挑选器(class selector)。要用法类挑选器我们需要首先对文件元素添加一个class属性,比如截至日期可能会浮现在以下元素中:.这样我们就可以用以下方式用法类挑选器了:p.deadline color: red;h2.deadline color: red;点号.加上类名就组成了一个类挑选器。以上2个挑选器会挑选全部包含deadline类的p元素和h2元素。而其余包含该属性的元素则不会被选中。

4、假如我们省略.deadline前面的元素名,那么全部包含该类的元素都将被选中:.deadline color: red;通常状况下,我们会组合用法以上2者得到越发好玩的样式:.deadline color: red;span.deadline font-style: italic;以上代码首先会对全部的包含deadline的元素字体设置为红色,同时会对span元素中的文本添加额外的斜体效果。这样,假如你希翼某处文本拥有额外的斜体效果将它们放在中就可以了。(2)多类挑选器在实践的做法中,元素的calss属性可能不止包含一个单词,而是一串单词,各个单词之间用空格隔开。比如某些元素包含一个warni

5、ng类,某些元素包含一个important类,某些元素同时包含warning important类。属性名浮现的挨次没有关系:class = "warning important"class = "important warning"以上2者是等价的。我们希翼包含warning类的元素有一个醒目的红色字体,包含important属性的元素有一个加粗的字体显示,而同时包含以上2中属性的元素另外拥有一个蓝色背景(不管还能不能看清文字了),我们可以用法以下的css代码:.warning color: red;.important

6、 font-weight: bold;.warning.important background: blue;固然,第三条你也可以写成: .important.warning background: blue; 和词序没有关系。解释一下,.warning会匹配全部包含warning属性的元素,不管该元素还包含多少其他的属性。.important同理。而.important.warning会匹配全部同时包含以上2种属性的元素,不管该元素还包含多少其他的类,也不管他们在类列表中浮现的挨次,只要其中含有这2个属性,则会被挑选进来!同样地,多于多类挑选器,在前面加上元素名,则会匹配包含指定类名的指定元

7、素,例如:p.warning.important 将会匹配同时包含warning和important属性的p元素,其他同样包含以上2类的元素则不会被选中。3、id挑选器id挑选器和类挑选器有些类似,但是差别又非常显著。首先一个元素不能像类属性一样拥有多个类,一个元素只能拥有一个唯一的id属性。第二一个id值在一个html文档中只能浮现一次,也就是一个id只能唯一标识一个元素(不是一类元素,而是一个元素)。类似类属性,在用法id挑选器前首先要在元素中添加id属性,例如:.用法id挑选器的办法为井号后面跟id值。现在我们用法id挑选器挑选以上2个p元素如:top-para foot-para ;这

8、样我们就可以对以上2个段落举行需要的操作了。正由于id挑选器的唯一性,也使其使用变得相对容易。4、属性挑选器属性挑选器在css2中引入,使我们可以按照元素的属性及属性值来挑选元素。下面分离来解释:(1)容易属性挑选器容易的属性挑选器可以使我们按照一个元素是否包含某个属性来做出挑选。用法办法为: 元素名属性名 或 *属性名。比如我们希翼挑选带有alt属性的全部img元素: imgalt .挑选带有title属性的全部元素:*title .。同类挑选器类似,我们也可以按照多个属性信息举行挑选,例犹如时拥有href和title的a元素:ahreftitle .组合用法类挑选器使我们的挑选越发富于灵便

9、性。(2)详细属性值挑选器假如我们希翼越发精确地按照属性值来挑选元素,我们可以在容易的属性挑选器中指定属性的值。最容易的我们希翼找到href属性值为的锚元素:ahref="" font-weight: bold;要特殊注重的是,这里的详细值匹配实质上是一个字符串匹配,所以在这里对于class属性而言,词条的挨次是有关系的。pclass="warning important" .将不会匹配到,也不会匹配到,这里就是一个生硬的字符串匹配。另外,想要同时匹配多个属性的值也是可以的:pclass="warning

10、"title="para" .将匹配到类为warning(仅有warning),title属性为para的p元素。(3)部分属性值挑选器按照属性值来匹配元素无疑比容易的属性匹配越发精细化了,但是似乎有些精细化过头了,字符串的彻低匹配显得过于生硬。比如我们希翼挑选在一串属性值中浮现了某个关键字的元素,不妨再次以class属性为例,我们希翼挑选全部包含了warning类的p元素,属性值匹配将无法做到,好在还是有方法的,我们可以用法以下的部分值匹配挑选器:pclass="warning" .该挑选器在等号=前面

11、添加了一个波浪号,含义为包含后面的字串的匹配。以上代码将会挑选全部class属性中包含warning的p元素。为了越发清晰地解释问题,它和以下的挑选器是等价的:p.warning .固然=不仅仅只是用在class属性上,这只是一个示例。再比如说,我们的文档中包含一系列人物介绍的div元素:.我们可以用法以下的方式挑选全部人物简介div:divtitle="intro" .不过圆满的是也将会被挑选进来,这是需要我们特殊注重的地方。关于部分值挑选器也有其局限性,它匹配的是由空格分隔的单词,假如我们将上面的div写成下面的样子就会匹配失败:.对于这种状况,我们可以

12、用法子串匹配属性挑选器。规章如下:l divtitle="intro" . /title以intro开始的div元素l divtitle$="intro" . /title以intro结尾的div元素l divtitle*="intro" . /title中包含"intro"子串的div元素举例来说:ahref*="google." .将包含全部链接中包含google.的a元素。divtitle$=&quot

13、;y" .将包含以下全部div元素:.可以看出部分值属性挑选器的功能是非常强大的。5、派生挑选器派生挑选器,乍一看名字不知所云,它又名上下文挑选器,它是用法文档dom结构来举行css挑选的。dom结构在此不再赘述了,但为了越发清晰地解释问题,我们这里给出一个dom树作为参考: (1)后代挑选器(descendant selector)如上图,假如想要挑选body元素的全部li子元素,办法如下:body li .这里会挑选全部的li后代,也就是图中的body下的全部li,不论他们之间相隔的代数有多少。同理,假如想要挑选h1元素下的span,可以用法以下代码:h1 span .假

14、如我们要挑选拥有warning类的元素的li后代,可以用法下面的办法:.warning li .固然,假如希翼只挑选拥有warning类的div元素的li后代,可以写作:div.warning li .由上面的例子不难看出,后代挑选器的规章就是用空格衔接2个或多个挑选器。空格的含义为:的后代。多个挑选器的状况如下: ul li li .这样,就会挑选全部ul下包含在li元素下的全部li元素了,听起来非常拗口,参考我们的dom树,会挑选到文档树种最后一排li元素。(2)子元素挑选器(child selector)子元素挑选器和后代挑选器不同,它只能挑选某元素的挺直后代,不能跨代选取,使用如下:u

15、l > li .两个子元素中间用一个大于号>衔接。上面的代码会挑选到全部ul元素的挺直li子元素。对应到dom树中,全部的li元素都会被选中,缘由是图中全部的li元素都是ul的子元素。但是,以下代码将不会选中任何元素:h1 > span .因为span是h1的孙子元素,h1没有挺直的span子元素,因而上面的代码将不会选到任何结果。其他方面和后代元素类似,需要特殊注重的就是子元素挑选器不能隔代选取。(3)相邻兄弟挑选器(adjacent sibling selector)相邻兄弟挑选器,故名思意将会选取某个元素的相邻兄弟元素,注重它选取的是相邻的兄弟元素而不是全部的兄弟元素,事实上选取的是紧跟在后面的兄弟元素。相邻兄弟挑选器在实践中有比较不错的应用,例如,你想在一个h2标题后面的段落应用某种独到的样式或者希翼在某类p段落后的table上添加一个额外的边距等等。它的使用如下:li + li .以上代码会挑选全部作为li相邻元素的li元素,听起来又有点拗口,参考dom树,它会挑选除了排在第一个li元素的其余4个li元素,由于2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论