`
esteem
  • 浏览: 156639 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

CSS选择器

阅读更多
选择器(selector)是CSS中很重要的概念,所有HTML语言中的标记都是通过不同的CSS选择器进行控制的。用户只需要通过选择器对不同的HTML标签进行控制,并赋予各种样式声明,即可实现各种效果。
1、标记选择器
<style>
h1{
  color:red;
  font-size:25px;
}
</style>
2、类别选择器
<html>
<head>
<title>class选择器</title>
<style type="text/css">
<!--
.one{
  color:red;    /* 红色 */
  font-size:18px;   /* 文字大小 */
}
.two{
  color:green;   /* 绿色 */
  font-size:20px;   /* 文字大小 */
}
-->
</style>
</head>
<body>
  <p class="one">class选择器1</p>
  <p class="two">class选择器2</p>
</body>
</html>
  很多时候页面中几乎所有的<p>标记都使用相同的样式风格,只有1-2个特殊的<p>标记需要使用不同的风格来突出,这时可以通过class选择器与上一节提到的标记选择器配合使用。
<html>
<head>
<title>class选择器与标记选择器</title>
<style type="text/css">
<!--
p{       /* 标记选择器 */
  color:blue;
  font-size:18px;
}
.special{     /* 类别选择器 */
  color:red;    /* 红色 */
  font-size:23px;   /* 文字大小 */
}
-->
</style>
</head>
<body>
  <p>class选择器与标记选择器1</p>
  <p>class选择器与标记选择器2</p>
  <p>class选择器与标记选择器3</p>
  <p class="special">class选择器与标记选择器4</p>
  <p>class选择器与标记选择器5</p>
  <p>class选择器与标记选择器6</p>
</body>
</html>
  另外类别选择器还有一种很直观的使用方法,就是直接在标记声明后接类别名称,以此来区别该标记。
<html>
<head>
<title>标记选择器.class</title>
<style type="text/css">
<!--
h3{       /* 标记选择器 */
  color:blue;
  font-size:18px;
}
h3.special{     /* 标记.类别选择器 */
  color:red;    /* 红色 */
  font-size:23px;   /* 文字大小 */
}
.special{     /* 类别选择器 */
  color:green;
}
-->
</style>
</head>
<body>
  <h3>标记选择器.class1</h3>
  <h3>标记选择器.class2</h3>
  <h3 class="special">标记选择器.class3</h3>
  <h3>标记选择器.class4</h3>
  <h3>标记选择器.class5</h3>
  <p class="special">使用于别的标记</p>
</body>
</html>
  在HTML的标记中,还可以同时给一个标记运用多个class类别选择器,从而将两个类别的样式风格同时运用到一个标记中。这在实际制作网站时往往会很有用,可以适当减少代码的长度。
<html>
<head>
<title>同时使用两个class</title>
<style type="text/css">
<!--
.one{
  color:blue;   /* 颜色 */
}
.two{
  font-size:22px; /* 字体大小 */
}
-->
</style>
</head>
<body>
  <h4>一种都不使用</h4>
  <h4 class="one">同时使用两种class,只使用第一种</h4>
  <h4 class="two">同时使用两种class,只使用第二种</h4>
  <h4 class="one two">同时使用两种class,同时使用</h4>
</body>
</html>
3、ID选择器
  ID选择器的使用方法跟class选择器基本相同,不同之处在于ID选择器只能在HTML页面中使用一次,因此其针对性更强。
<html>
<head>
<title>ID选择器</title>
<style type="text/css">
<!--
#one{
  font-weight:bold;   /* 粗体 */
}
#two{
  font-size:30px;    /* 字体大小 */
  color:#009900;    /* 颜色 */
}
-->
</style>
</head>
<body>
  <p id="one">ID选择器1</p>
  <p id="two">ID选择器2</p>
  <p id="two">ID选择器3</p>
  <p id="one two">ID选择器3</p>
</body>
</html>
  从显示效果可以看到第2行与第3行都显示了CSS的方案,换句话说在很多浏览器一,ID选择器也可以用于多个标记。但这里需要指出的是,将ID选择器用于多个标记是错误的,因为每个标记定义的ID不只是CSS可以调用,JavaScript等其他脚本语言同样也可以调用。如果一个HTML中有两个相同ID的标记,那么将导致JavaScript在查找ID时出错。
  正因为JavaScript等脚本语言也能调用HTML中设置的ID,因此ID选择器一直被广泛地使用。网站建设都在编写CSS代码时,应该养成良好的编写习惯,一个ID最多赋予一个HTML标记。
  另外从最后一行可以看到没有任何CSS样式风格显示,这意味着ID选择器不支持像class选择器那样的多风格同时使用,类似"ID="one two"是完全错误的语法。
4、选择器声明
集体声明
<style type="text/css">
<!--
h1, h2, h3, h4, h5, p{    /* 集体声明 */
  color:purple;     /* 文字颜色 */
  font-size:15px;     /* 字体大小 */
}
h2.special, .special, #one{   /* 集体声明 */
  text-decoration:underline; /* 下划线 */
}
-->
</style>
  希望页面中所有的标记都使用同一种CSS样式,但又不希望逐个来加入集体声明列表。这时可以利用全局声明符号“*”。
<style type="text/css">
<!--
*{         /* 全局声明 */
  color: purple;     /* 文字颜色 */
  font-size:15px;     /* 字体大小 */
}
h2.special, .special, #one{   /* 集体声明 */
  text-decoration:underline; /* 下划线 */
}
-->
</style>
5、选择器的嵌套
在CSS选择器中,还可以通过嵌套的方式,对特殊位置的HTML标记进行声明,例如当<p>与</p>之间包含<b></b>标记时,就可以使用嵌套选择器进行相应的控制。
<html>
<head>
<title>CSS选择器的嵌套声明</title>
<style type="text/css">
<!--
p b{        /* 嵌套声明 */
  color:maroon;     /* 颜色 */
  text-decoration:underline; /* 下划线 */
}
-->
</style>
</head>
<body>
  <p>嵌套使<b>用CSS</b>标记的方法</p>
  嵌套之外的<b>标记</b>不生效
</body>
</html>
(经验之谈:选择器的嵌套在CSS的编写中可以大大减少对class和id的声明。因此在构建页面HTML框架时通常只给外层标记(父标记)定义class或者id,内层标记(子标记)能通过嵌套表示的则利用嵌套的方式,而不需要再定义新的class或者专用id。只有当子标记无法利用此规则时,才单独进行声明,例如一个<ul>标记中包含多个<li>标记,而需要对其中某个<li>单独设置CSS样式时才赋给该<li>一个单独id或者类别,而其他<li>同样采用"ul li(...)"的嵌套方式来设置。)

转自 http://hi.baidu.com/5tmusic/blog/item/5904e2086d432d35e92488c9.html
分享到:
评论

相关推荐

    YOLO算法-城市电杆数据集-496张图像带标签-电杆.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    (177406840)JAVA图书管理系统毕业设计(源代码+论文).rar

    JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代

    (35734838)信号与系统实验一实验报告

    内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    YOLO算法-椅子检测故障数据集-300张图像带标签.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    基于小程序的新冠抗原自测平台小程序源代码(java+小程序+mysql+LW).zip

    系统可以提供信息显示和相应服务,其管理新冠抗原自测平台小程序信息,查看新冠抗原自测平台小程序信息,管理新冠抗原自测平台小程序。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具

    YOLO算法-俯视视角草原绵羊检测数据集-4133张图像带标签-羊.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    (171674830)PYQT5+openCV项目实战:微循环仪图片、视频记录和人工对比软件源码

    内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    新建 文本文档.docx

    新建 文本文档.docx

    hw06.zip

    hw06

    3. Kafka入门-安装与基本命令

    3. Kafka入门-安装与基本命令

    燃气管道施工资质和特种设备安装改造维修委托函.docx

    燃气管道施工资质和特种设备安装改造维修委托函.docx

    The state of AI 2024.pdf

    AI大模型研究相关报告

    lab02.zip

    lab02

    Unity视频插件AVPro的Win端2.2.3

    仅供学习使用,其他用途请购买正版资源AVPro Video Core Windows Edition 2.2.3 亲测可用的视频播放插件,能丝滑播放透明视频等.

    建设工程消防验收现场指导意见表.docx

    建设工程消防验收现场指导意见表.docx

    MVIMG_20241222_194113.jpg

    MVIMG_20241222_194113.jpg

    五相电机双闭环矢量控制模型-采用邻近四矢量SVPWM-MATLAB-Simulink仿真模型包括: (1)原理说明文档(重要):包括扇区判断、矢量作用时间计算、矢量作用顺序及切时间计算、PWM波的生成

    五相电机双闭环矢量控制模型_采用邻近四矢量SVPWM_MATLAB_Simulink仿真模型包括: (1)原理说明文档(重要):包括扇区判断、矢量作用时间计算、矢量作用顺序及切时间计算、PWM波的生成; (2)输出部分仿真波形及仿真说明文档; (3)完整版仿真模型:包括邻近四矢量SVPWM模型和完整双闭环矢量控制Simulink模型; 资料介绍过程十分详细,零基础手把手教学,资料已经写的很清楚

    YOLO算法-锡罐-牙罐-盖子打开数据集-179张图像带标签-锡罐-牙罐-盖子打开.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    java毕设项目之ssm基于JSP的乡镇自来水收费系统+jsp(完整前后端+说明文档+mysql+lw).zip

    项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7

Global site tag (gtag.js) - Google Analytics