`
tntxia
  • 浏览: 1507436 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

为样式找到目标--CSS选择器

阅读更多

 1.常用选择器

常用的选择器(Selector)包括类型选择器和后代选择器。

1.1类型选择器

类型选择器用来选择特定类型的元素。可以根据三种类型来选择。

1ID选择器,根据元素ID来选择元素。

前面以”#”号来标志,在样式里面可以这样定义:

#demoDiv{

       color:#FF0000;

}

这里代表iddemoDiv的元素的设置它的字体颜色为红色。

我们在页面上定义一个元素把它的ID定义为demoDiv,如:

<div id="demoDiv">

这个区域字体颜色为红色

</div>

用浏览器浏览,我们可以看到因为区域内的颜色变成了红色

再定义一个区域

<div>

这个区域没有定义颜色

</div>

用浏览器浏览,与预期的一样,区域没有应用样式,所以区域中的字体颜色还是默认的颜色黑色。

2)类选择器 根据类名来选择

前面以”.”来标志,如:

.demoDiv{

              color:#FF0000;

       }

       HTML中,元素可以定义一个class的属性。

       如:

<div class="demo">

这个区域字体颜色为红色

</div>

同时,我们可以再定义一个元素:

<p class="demo">

这个段落字体颜色为红色

</p>

最后,用浏览器浏览,我们可以发现所有classdemo的元素都应用了这个样式。包          括了页面中的div元素和p元素。

上例我们给两个元素都定义了class,但如果有很多个元素都会应用这个元素,那个一个个的定义元素,就会造成页面重复的代码太多,这种现象称为“多类症”。

我们可以改成这样来定义。

<div class="demo">

<div>

这个区域字体颜色为红色

</div>

同时,我们可以再定义一个元素:

<p>

这个段落字体颜色为红色

</p>

</div>

这样,我们就只是定义了一个类,同时把样式应用到了所有的元素当中。

3)标签选择器 根据标签选择

用标签选择指根据标签名来应用样式,定义时,直接用标签名。如:

div{

              color:#FF0000;

       }

       我们再定义一个元素。

<div>

这个区域字体颜色为红色

</div>

<div>

这个区域字体颜色也为红色

</div>

 

用浏览器浏览,我们发现两个DIV元素都被应用了样式,这里不用定义id,也无需要定义class属性。

示例参见:根据标签来选择元素.html

 

这种选择方式非常的有用,比如你觉得锚链接的下划线不太美观,想把所有的锚链接的样式都设成无下划线形式,颜色为鲜艳的蓝色。可以这样定义。

a{

       text-decoration:none;

       color:#00CCCC;

}

1.2 后代选择器

后代选择器也称为包含选择器,用来选择特定元素或元素组的后代,后代选择器用两个常用选择器,中间加一个空格表示。其中前面的常用选择器选择父元素,后面的常用选择器选择子元素,样式最终会应用于子元素中。

 

如:

<style>

.father .child{

       color:#0000CC;

}

</style>

<p class="father">

黑色

       <label class="child">蓝色

              <b>也是蓝色</b>

       </label>

</p>

 

这里我们定义了所有class属性为father的元素下面的class属性为child的颜色为蓝色。后代选择器是一种很有用的选择器,使用后代选择器可以更加精确的定位元素。

 

1.3. 伪类

有时候还会需要用文档以外的其他条件来应用元素的样式,比如鼠标悬停等。这时候我们就需要用到伪类了。以下是链接应用的伪类定义。

 

a:link{

       color:#999999;

}

a:visited{

       color:#FFFF00;

}

a:hover{

       color:#006600;

}

 

/* IE不支持,用Firefox浏览可以看到效果 */

input:focus{

       background:# E0F1F5;

}

Link表示链接在没有被点击时的样式。Visited表示链接已经被访问时的样式。Hover表示当鼠标悬停在链接上面时的样式。

 

伪类不仅可以应用在链接标签中,也可以应用在一些表单元素中,但表单元素的应用IE不支持,所以一般伪类都只会被应用在链接的样式上。

1.4. 通用选择器

通用选择器用*来表示。例如:

*{

       font-size: 12px;

}

表示所有的元素的字体大小都是12px;同时通用选择器还可以和后代选择器组合。

例如:

p *{

   ……

}

表示所有p元素后代的所有元素都应用这个样式。但是与后代选择器的搭配容易出现浏览器不能解析的情况,比如像这样子:

 

<p>

所有的文本都被定义成红色

<b>所有这个段落里面的子标签都会被定义成蓝色</b>

<p>所有这个段落里面的子标签都会被定义成蓝色</p>

<b>所有这个段落里面的子标签都会被定义成蓝色</b>

<em>所有这个段落里面的子标签都会被定义成蓝色</em>

</p>

 

这个例子里面p标签里面嵌套了一个p标签,这个时候样式可能会出现与预期结果不相同的结果。

1.5. 群组选择器

当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔。如:
p, td, li {
      line-height:20px;
      color:#c00;
}
#main p, #sider span {
      color:#000;
      line-height:26px;
}
.www_52css_com,#main p span {
      color:#f60;
}
.text1 h1,#sider h3,.art_title h2 {
      font-weight:100;
}
  使用群组选择器,将会大大的简化CSS代码,将具有多个相同属性的元素,合并群组进行选择,定义同样的CSS属性,这大大的提高了编码效率,同时也减少了CSS文件的体积。

2. 子选择器与相邻同胞选择器

子选择器的格式为:

father > child{

       …….

}

 

子选择器与后代选择器非常相像,不同的地方是子选择器只应用于父元素的直接后代,对于直接后代的后代则不应用这个样式。IE不支持子选择器,Firefox才支持这种选择。

例如对于一个导航菜单:

<ul id="nav">

<li>菜单1</li>

<li>菜单2</li>

<ul>

<li>菜单2.1</li>

<li>菜单2.2</li>

</ul>

</ul>

定义样式为:

#nav > li{

       background:url(images/nav_bg.gif) no-repeat;

       color:#FF0000;

}

使用firefox浏览,你可以看到菜单1和菜单2被应用了样式,而菜单2.1和菜单2.2则没有被应用样式。

 

相邻同胞选择器的格式为:

brother1 + brother2{

       …….

}

它表示如果brother2类型前面的元素是brother1,那么brother2类型元素就会应用这个样式。这种选择器的使用比较少。而且IE不支持这种选择器。

 

3. 属性选择器

顾名思义,属性选择器是根据这个属性是否存在和属性的值来选择元素,这是一种非常有用的选择器,但是这种选择器IE6现在还不支持,所以使用的的时候要注意。

3.1 判断属性是否存在。

例如:

abbr[title]{

       color:#FF0000;

}

表示abbr标签是否有title属性,如果则应用这个样式。

3.2 根据属性值来判断

 

p[title='app']{

       color:#FF0000;

}

 

这里所有p标签中,title属性为app的都会应用这个样式。

0
0
分享到:
评论

相关推荐

    非常好看的Metro-UI-CSS

    1. **CSS3**: Metro-UI-CSS 利用了 CSS3 的新特性,如选择器、过渡(transitions)、动画(animations)和阴影(box-shadow)等,来实现动态效果和更丰富的样式。CSS3 也支持媒体查询(media queries),使得设计...

    前端项目-float-label-css.zip

    项目的核心思想是利用CSS的伪类和属性选择器来实现动态效果。在不支持这些特性的浏览器中,项目会自动回退到标准的非浮动标签样式,确保了良好的兼容性。这种防弹CSS(Bulletproof CSS)策略是前端开发中的常见实践...

    扭蛋抽奖--页面+css

    此外,项目可能还运用了CSS3选择器来更精确地定位和控制页面元素,比如类选择器、ID选择器、伪类选择器等,以便为不同状态的按钮或抽奖结果添加特定样式。同时,为了实现更好的布局和视觉效果,可能还使用了Flexbox...

    CSS选择器.txt

    ### CSS选择器详解 ...通过以上介绍可以看出,CSS选择器功能强大且种类繁多,能够满足开发者对页面元素进行精确选择和样式的各种需求。理解并熟练掌握这些选择器,对于提高网页设计的灵活性和效率至关重要。

    CSS层叠样式表技术参考手册

    - **选择器列表**:提供CSS选择器的完整列表。 - **选择器说明**:解释每个选择器的功能及应用场景。 - **9.3 CSS听觉参考手册** - **听觉属性**:介绍CSS中的听觉相关属性。 - **应用实例**:提供实例代码展示...

    css的选择器

    通过使用CSS选择器,我们可以精确地定位到HTML文档中的元素,并为其应用样式规则。CSS选择器是CSS的核心组成部分之一,它们决定了哪些元素将被样式化。本文档基于W3School的资料进行整理,旨在详细介绍各种类型的CSS...

    前端开源库-vision-css-loader

    `vision-css-loader`解析CSS文件,识别选择器、属性和值,并可能对其进行扩展或替换,以便引入视觉层的概念。例如,它可能为每个CSS规则添加一个视觉注解,描述其在页面上的影响区域,这对于大型项目的样式调试和...

    css实现Word样式

    首先,CSS3提供了丰富的选择器和属性,可以精确控制元素的布局、颜色、字体、边框、阴影等各个方面。在模拟Word样式时,我们需要关注以下几个关键点: 1. **布局与网格系统**:Word界面通常有多个面板和工具栏,...

    CSS-The-Definitive-Guide-4th-zh-CN, CSS权威指南第四版中文翻译.zip

    1. **选择器**:CSS选择器是用于匹配HTML或XML文档中元素的方式,如类选择器、ID选择器、标签选择器、属性选择器等。通过组合使用,可以精确地控制元素的样式。 2. **盒模型**:CSS的盒模型是每个HTML元素在页面上...

    JSP-HTML-CSS---PPT

    同时,开发者会用CSS来控制这些动态生成的内容的外观,比如使用类选择器来改变特定元素的样式,或者使用媒体查询来实现响应式设计。 在实际项目中,JSP常常与Servlets一起使用,Servlets负责处理HTTP请求,而JSP则...

    树使用css选择器优化代码(IE7+,firefox3,opera9,chrom下可用)

    在前端开发中,CSS选择器是用于选取网页元素并应用样式的重要工具。高效的CSS选择器能够提高页面渲染速度,优化用户体验,特别是在处理大型或者复杂的页面结构时显得尤为重要。本篇文章将探讨如何使用CSS选择器来...

    selectivizr让IE6-9获得css3的选择器之外,或获得了圆角、阴影、渐变色资源等css3属性的支持.rar

    Selectivizr是一款JavaScript选择器引擎,由Kevin Cornish开发,它的主要目标是为那些不支持CSS3选择器的浏览器提供帮助。通过Selectivizr,开发者可以利用CSS3中的高级选择器,如`:nth-child()`, `:not()`, 和 `....

    javascript经典特效---图片的CSS打开样式.rar

    在JavaScript的世界里,实现...实践中,开发者需要熟悉CSS的选择器、属性和过渡效果,同时掌握JavaScript的基本语法和DOM操作,以便灵活运用到实际项目中。通过不断练习和探索,可以创造出更多创新和有趣的图片特效。

    CSS经典练习-css-diner-develop.7z

    "css-diner-develop"是一个专为CSS初学者设计的经典练习项目,旨在帮助学习者通过实践来掌握CSS选择器的使用技巧。 这个项目包含一个名为"css-diner-develop"的压缩包,解压后,你可以找到一个名为"index.html"的...

    前端项目-hover.css.zip

    CSS3是其最新版本,引入了许多新特性,如选择器、动画、阴影、边框和其他装饰效果,这些都在"hover.css"项目中得到了应用。 "hover.css"这个库包含了一系列预定义的悬停效果,它们基于:hover伪类,当用户将鼠标指针...

    html入门--纯CSS动画全演示

    - **CSS3选择器和伪类**:利用`:hover`、`:active`、`:focus`等伪类,可以与动画结合,实现用户交互相关的动态效果。 本资源的亮点在于提供了各种搭配的动画效果,这有助于学习者理解和掌握CSS动画的灵活性和多样性...

    047-butterfly-specimen_css_源码

    这通常涉及到 CSS 的多个方面,如选择器、盒模型、布局、伪类、渐变、阴影、旋转以及可能的 CSS3 动画。 首先,我们需要理解 CSS 的基本元素。CSS(Cascading Style Sheets)是一种用于描述 HTML 或 XML(包括如 ...

    HTML CSS选择器

    通过以上介绍可以看出,CSS选择器为开发者提供了强大的工具来控制页面元素的样式。无论是简单的标签选择器还是复杂的组合选择器,每种选择器都有其独特的作用和适用场景。正确理解和灵活运用这些选择器能够帮助我们...

    day06-HTML&CSS.zip

    CSS通过选择器选中HTML元素,然后应用样式规则。例如,`p {color: red;}`将使所有段落文字变红;`.class-name`选择器可以针对具有特定类名的元素设置样式;`#id-name`选择器则是针对具有特定ID的元素。 在学习HTML...

    弹出菜单-div+css

    - **样式丰富**:运用多种CSS选择器和伪类,实现了美观且具有交互性的效果。 - **兼容性考虑**:针对不同版本的浏览器提供了兼容性支持,尤其是对于IE6等老版本浏览器的特殊处理。 - **用户体验**:合理利用`display...

Global site tag (gtag.js) - Google Analytics