首页 web前端 html教程 CSS选择器种类及及其使用介绍

CSS选择器种类及及其使用介绍

Jun 01, 2016 am 09:53 AM
css 选择器

首先说主要都有哪些先择器 

1.标签选择器(如:body,div,p,ul,li) 

2.类选择器(如:class="head",class="head_logo") 

3.ID选择器(如:id="name",id="name_txt") 

4.全局选择器(如:*号) 

5.组合选择器(如:.head .head_logo,注意两选择器用空格键分开) 

6.继承选择器(如:div p,注意两选择器用空格键分开) 

7.伪类选择器(如:就是链接样式,a元素的伪类,4种不同的状态:link、visited、active、hover。) 

8.字符串匹配的属性选择符(^ $ *三种,分别对应开始、结尾、包含) 

在标签内写入style=" "的方式,应该是CSS的一种引入方式,而不是选择器,因为根本就没有用到选择器。 

我们分别来看下这些选择器: 

1:标签名选择器 

一个XHTML文档中有许多标签,例如p标签,h1标签等。若要使文档中的所有p标签都使用同一个CSS样式,就应使用标签选择器。 

<code class="language-css">div {color:red;border:1px blue solid;} 
p {color:#000;} </code>
登录后复制

 

2:类选择器 

使用标签选择器可以为整个XHTML文档中的同一个标签指定相同的CSS样式。但是在实际运用中,XHTML文档中的同一个标签会被反复使用。若要为相同的标签赋予不同的CSS样式就应使用类选择器。

<code class="language-html"><div class="test">测试代码</div> 
.test {color:red;border:1px blue solid;} </code>
登录后复制

在html文档里,我们在要控制样式的标签的开标签(非成对标签如input直接放在标签里)里加入 class="xxx",在页面对应的css文件里,用.xxx就可以指向这个标签,从而对这个标签进行控制,我们称这种通过定义类(class)来找到标签的方式为 :类选择器。 

这种定义class 的方式是前端开发最常用的选择器,有几个突出的特点:可以给不同的标签设置同一个类,从而用一条CSS命令控制几个标签,减少大量代码,是页面修改简单,易维护,易改版;其次,后台工作人员机会不会用到有关class的相关设置,不需要跟后台人员之间进行交互;再者,可以通过js等动态改变标签的Classname,从而改变整个标签的样式,使前端动态效果实现起来更为容易。 
 

3:ID选择器 

ID选择器和类选择器相似,不同的是,ID选择器不能复用。在一个XHTML文档中,一个ID选择器只能把其CSS样式指定给一个标签。 

<code class="language-html"><div id="test">测试代码</div> 
#test {color:red;border:1px blue solid;} </code>
登录后复制

有 ID 的 HTML元素可以被JavaScript来操纵.再就是ID也是后台开发人员会经常用的,所以前端开发人员应该尽量少的使用。 
 

4.全局选择器 

全局选择器是一个星号。它能作用于XHTML文档中的所有元素。 

<code class="language-html">*{margin:0; padding:0;} </code>
登录后复制

 

5.组合选择器 

标签选择器、类选择器和ID选择器是可以组合起来使用的。一般的组合方式是标签选择器和类选择器组合,标签选择器和ID选择器组合。由于这两种组合方式的原理和效果一样,所以只介绍标签选择器和类选择器的组合。组合选择器只是一种组合形式,并不算是一种真正的选择器,但在实际中经常使用。 

比如 .orderlist li {xxxx} 或者 .tableset td {} 

我们使用的时候一般用在重复出现并且样式相同的一些标签里,比如 li td dd等。 

比如

H1.red {color: red} 

群组选择器 

<code class="language-html">.test1,span,test2 {border:1px blue solid;} 
div,span,img {border:1px blue solid;} </code>
登录后复制

群组选择器实际上是对CSS的一种简化写法,只不过把有相同定义的不同选择器放在一起,省了很多代码。 
 

6.继承选择器 

学习使用继承选择器就必须先了解文档树和CSS的继承。每个XHTML都可以被看作一个文档树,文档树的根部就是html标签,而head和body标签就是其子元素。在head和body里的其他标签就是html标签的孙子元素。整个XHTML就呈现一种祖先和子孙的树状关系。CSS的继承是指子孙元素继承祖先元素的某些属性。以下通过实例来详细讲解这两个重要的CSS概念。 

文档树 CSS的继承 继承选择器 

<code class="language-html"><div class="test"> 
<span><img src="/static/imghw/default1.png" data-src="xxx" class="lazy" alt="示例图片"></span> 
</div> 
.test span img {border:1px blue solid;} 
div span img {border:1px blue solid;} </code>
登录后复制

后代选择器实际上是使用:多个选择器加上中间的空格来找到具体的要控制标签;从左往右,依次细化,最后锁定要控制的标签,如上例,先找到class为test的标签,再从他的子标签里查找span标签,再从span的子标签中找到IMG标签。 

 

7.伪类选择器 

伪类也是选择器的一种,但是用伪类定义的CSS样式并不是作用在标签上的。伪类作用在标签的状态上。由于很多浏览器支持不同类型的伪类,没有一个统一的标准,所以很多伪类都不常被用到。伪类包括::first-child、:link:、:visited、:hover、:active、:focus和:lang等等。其中有一组伪类是主流浏览器都支持的,就是超链接的伪类,包括:link:、:visited、:hover和:active。 

a的这四个伪类,分别表示了a的四种状态,要注意的是,a可以只具有一种状态(:link),或者同时具有2种或者三种状态!比如说,任何一个有HREF属性的a标签,在未有任何操作时都已经具备了:link的条件,也就是满足了有链接属性这个条件;如果访问过的a标签,同时会具备 :link :visited 两种状态。把鼠标移到访问过的a标签上 

 

8.字符串匹配的属性选择符--主要有三种 

语法:E[att^="val"] : {attribute} 
说明:匹配具有att属性、且值以val开头的E元素 

<code class="language-html"><span style="font-size:18px;"><style type="text/css"> 
p[title^="val"] {color:#FF0000;} 
</style> 
 
<div style="width:733px; border: 1px solid #666; padding:5px;"> 
<p title="value">匹配具有att属性、且值以val开头的E元素</p> 
</div></span> </code>
登录后复制

 

语法:E[att$="val"] : {attribute} 
说明:匹配具有att属性、且值以val结尾的E元素 

<code class="language-html"><style type="text/css"> 
p[title$="val"] {font-weight:bold;} 
</style> 
 
<div style="width:733px; border: 1px solid #666; padding:5px;"> 
<p title="this is val">匹配具有att属性、且值以val结尾的E元素</p> 
</div> 
 </code>
登录后复制

 

语法:E[att*="val"] : {attribute} 
说明:匹配具有att属性、且值中包含val的E元素。

<code class="language-html"><style type="text/css"> 
p[title*="val"] {text-decoration:underline;} 
</style> 
<title>子串匹配的属性选择符 E[att*="val"]</title> 
 
 
<div style="width:733px; border: 1px solid #666; padding:5px;"> 
<p title="have val word">匹配具有att属性、且值中含有val的E元素</p> 
</div> 
 </code>
登录后复制

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何在网页上正确显示本地安装的'荆南麦圆体”? 如何在网页上正确显示本地安装的'荆南麦圆体”? Apr 05, 2025 pm 10:33 PM

在网页中使用本地安装的字体文件最近,我从网上下载了一种免费字体,并成功将其安装到了我的系统中。现在...

如何通过CSS选择第一个类名为item的子元素? 如何通过CSS选择第一个类名为item的子元素? Apr 05, 2025 pm 11:24 PM

在元素个数不固定的情况下如何通过CSS选择第一个指定类名的子元素在处理HTML结构时,常常会遇到元素个数不�...

H5页面制作是否需要持续维护 H5页面制作是否需要持续维护 Apr 05, 2025 pm 11:27 PM

H5页面需要持续维护,这是因为代码漏洞、浏览器兼容性、性能优化、安全更新和用户体验提升等因素。有效维护的方法包括建立完善的测试体系、使用版本控制工具、定期监控页面性能、收集用户反馈和制定维护计划。

h5怎么做进度条 h5怎么做进度条 Apr 06, 2025 pm 12:09 PM

使用 HTML5 或 CSS 创建进度条:创建进度条容器。设置进度条宽度。创建进度条内部元素。设置进度条内部元素宽度。使用 JavaScript、CSS 或进度条库显示进度。

在移动端如何兼容多行溢出省略? 在移动端如何兼容多行溢出省略? Apr 05, 2025 pm 10:36 PM

移动端多行溢出省略在不同设备上的兼容问题在使用Vue2.0开发移动端应用时,常常会遇到需要对文本进行多行溢...

H5页面制作适合哪些应用场景 H5页面制作适合哪些应用场景 Apr 05, 2025 pm 11:36 PM

H5(HTML5)适合应用于轻量级应用,如营销活动页面、产品展示页面和企业宣传微网站。它优势在于跨平台性和丰富的交互性,但局限性在于复杂的交互和动画、本地资源访问和离线功能。

h5表格边框怎么设置 h5表格边框怎么设置 Apr 06, 2025 pm 12:18 PM

在 HTML 中,通过 CSS 设置 H5 表格边框:引入 CSS 样式表,使用 border 属性(包括 border-width、border-style 和 border-color 子属性)设置边框样式,并应用样式到表格元素。此外,还可以设置特定的边框样式,如 border-top、border-right、border-bottom 和 border-left。

h5兼容问题怎么解决 h5兼容问题怎么解决 Apr 06, 2025 pm 12:36 PM

解决 H5 兼容问题的方法包括:使用响应式设计,允许网页根据屏幕尺寸调整布局。采用跨浏览器测试工具,在发布前测试兼容性。使用 Polyfill,为旧浏览器提供对新 API 的支持。遵循 Web 标准,使用有效的代码和最佳实践。使用 CSS 预处理器,简化 CSS 代码并提高可读性。优化图像,减小网页大小并加快加载速度。启用 HTTPS,确保网站的安全性。

See all articles