1.1.2 CSS选择器

CSS 选择器最基本的有四种:标签选择器、ID 选择器、类选择器、通用选择器。

【标签选择器】

一个完整的 HTML 页面由很多不同的标签组成,而标签选择器,则是决定哪些标签采用相应的 CSS 样式,比如,在 style.css 文件中对 p 标签样式的声明如下:

<span style="font-family:Microsoft YaHei;font-size:14px;">p {</span>font-size: 12px;background: #900;color: 090;
}

这么做,会使页面中所有 p 标签的背景都是#900(红色),文字大小均是 12px,颜色为#090(绿色),返在后期维护中,如果想改发整个网站中 p 标签背景癿颜色,叧需要修改background 属性就可以了,就这么容易!当然你也可以设置整个页面中所有的 div 的属性、a 链接的属性、span 的属性,这么做方便是方便,但是不够灵活,如果页面中除了某个 p标签背景不是红色外,其他的都是红色,就不能用这种方法定义了。

【ID 选择器】

ID 选择器在某一个 HTML 页面中只能使用一次,就像只有一个身仹证  (ID)一样,不重复!在页面中使用 ID 选择器更具有针对性,如:

先给某个HTML页面中的某个p标签起个ID,代码如下:

<p id="one">W3CFuns.com:打造中国 Web 前端开发人员最专业的贴心社区!</p>

在 CSS 中定义 ID 为 one 癿 p 标签的属性,就需要用到“#” ,代码如下:

#one{font-size:12px;background:#900;color:090;
}

返样页面中癿某个 p 就会是 CSS 中定义的样式。 针对“页面中除了某个 p 标签背景不是红色外,其他的都是红色的”情况,我们就可以用 ID 选择器单独定义那个背景不为红色的 p 标签,返样问题就解决了。

【类选择器】

这种选择器更容易理解了,就是使页面中的某些标签(可以是不同的标签)具有相同的样式,就像国庆某个方阵中,肯定都是不同癿人,却均穿红色衣服,手中高举花环,样式都是一样的,如果想让这一类人都有共同的样式,该怎样做呢~呵呵,和 ID 选择器的用法类似,只不过过把 id 换做 class,如下:

<p class="one">此处为 p 标签内的文字</p>

如果我还想让 div 标签也有相同的样式,怎么办呢?加上同样的 class 就可以了,如下:

<div class="one">此处为 DIV 标签内的文字</div>

返样页面中凡是加上 class="one"的标签,样式都是一样的了~
CSS 定义的时候和 ID 选择器差不多,只不过把#换成. ,如下:

.one{font-size:12px;background:#900;color:090;
}

补充:一个标签可以有多个类选择器的值,不同的值用空格分开,如:

<div class="one yellow left">一个标签可以有多个类选择器的值</div>

这样我们可以将多个样式用到同一个标签中,当然也可以 ID 和 class 一块用

<div id="my" class="one yellow left">ID 和 class 可同时应用到同一个标签</div>

【通用选择器】

到这里,前三种基本的选择器说完了,但是还需要给大家介终一个 CSS 选择器中功能最强大但是用的最少的一种选择器“通用选择器”,就是“*”星号。

*{此处为 CSS 代码}

强大之处是因为他对整个网页中所有 HTML 标签进行样式定义,这种功能类似“标签选择器” ,覆盖的对象更加广泛,是整个HTML 的所有标签,功能是强大,但是返样反而限制了它的灵活性。

对于通用选择器还有一个不得不提的用法,就是为了保证作出的页面能够兼容多种浏览器,所以要对 HTML 内的所有的标签进行重置,会将下面癿代码加到 CSS 文件的最顶端:

*{margin:0; padding:0;}

为什么要这么用呢,因为每种浏览器都自带有 CSS 文件,如果一个页面在浏览器加载页面后,发现没有 CSS 文件,那么浏览器就会自动调用它本身自带的 CSS  文件,但是不同的浏觅器自带的 CSS 文件又都不一样,对不同标签定义的样式不一样,如果我们想要作出的页面能够在不同的浏览器显示出来的效果都是一样的,那么我们就需要对 HTML 标签重置,就是上面的代码了,但是这样也有不好的地方,因为 HTML4.01 中有 89 个标签,所以相当于在页面加载 CSS 的时候,先对这 89 个标签都加上了{margin:0; padding:0;},在这里我不建议大家这么做,因为 89 个标签中需要重置的标签是很少数的,没有必要将所有的标签都重置,用到哪些标签就定义哪些标签,如下:

body,div,p,a,ul,li{margin:0; padding:0;}

如果还需要 dl、dt、dd 标签重置,那就在上面加上就可以了,如下:

body,div,p,a,ul,li,dl,dt,dd{margin:0; padding:0;}

用到哪些就写哪些,这点也可以看做衡量页面重构师制作页面水平的高低,以及是否专业的一个方面。

【选择器的集体声明】

在我们使用选择器的时候,有些标签样式是一样的,或者某些标签都有共同的样式属性,我们可以将这些标签集体声明,不同的标签用“,”分开,比如:

h1,h2,h3,h4,h5,h6{color:#900;}

再举个例子,无论什么样的选择器,”标签选择器”,”ID 选择器”,”类选择器”  ,叧要是选择器,叧要有公共的 CSS 代码,就可以用“选择器的集体声明” ,起到精简代码的作用,有一段代码如下:

#header{font-size:14px; background:#ccc;}
div{font-size:14px; width:960px;}
.blue{font-size:14px; color:#009;}
.h1{font-size:14px; font-weight:normal;}

我们就可以将上面的代码迕行精简,把公共的 CSS 代码用选择器的集体声明提取出来,有点类似小学的“提取公因式”似的,如下:

#header ,div ,.blue,h1{font-size:14px;}
#header{background:#ccc;}
div{width:960px;}
.blue{color:#009;}
.h1{font-weight:normal;}

这是选择器的集体声明的经典应用,把共同的部分提取出来,这样做的好处,相同的部分共同定义,不同的部分单独定义,保证风格统一,样式修改灵活,这也是优化 CSS 代码癿一块,要记住!

【选择器的嵌套】

选择器也是可以嵌套的,如:

#div1 p a{color:#900;}/*意思是在 ID 为 div1 内的  p 标签内的链接 a 标签的文字颜色为红色*/

返样的好处就是不需要在单独癿为 ID 为 div1 的标签内的 p 标签内的 a 标签单独定义class 选择器或者 ID 选择器,CSS 代码不就少了嘛~同样也是 CSS 代码优化的一块。


转载于:https://www.cnblogs.com/Destiny-Gem/p/3795696.html

《Two Days DIV + CSS》读书笔记——CSS选择器相关推荐

  1. [原]《Web前端开发修炼之道》-读书笔记CSS部分

    如何组织CSS-分层 应用 css 的能力分两部分:一部分是css的API,重点是如何用css控制页面内元素的样式:另一部分是css框架,重点是如何对 css 进行组织.如何组织 css 可以有多种角 ...

  2. CSS学习笔记之选择器(一)

    目录 CSS选择器 标签选择器 id选择器 class选择器 后代选择器 群组选择器 * CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明: 选择器通常是您需要改变样式的 HTML 元素. ...

  3. CSS学习笔记 2.选择器.常用.复合.关系选择器

    一.常用选择器 1.元素选择器(标签选择器) 使用HTML标签作为选择器的名称 p{color:green;font-size:20px;/* 1元素选择器 根据标签名来选中元素 */}/* 此为cs ...

  4. CSS学习笔记--CSS语法与选择器

    导语   Css用于控制网页的样式和布局,指层叠样式表(Cascading Style Sheets),定义如何显示HTML的元素,这个样式通常存储在样式表中.在工作中通常使用的外部样式表,外部样式表 ...

  5. CSS阅读笔记---CSS基础篇

    本文是这些天阅读慕课网的css基础篇部分所作的笔记. 文章目录 一.基本知识 二.选择器 1.标签选择器 2.类选择器 3.ID选择器 4.子选择器 5.包含(后代)选择器 6.通用选择器 7.伪类选 ...

  6. [读书笔记] CSS权威指南1: 选择器

    通配选择器 可以与任何元素匹配,就像是一个通配符 /*每一个元素的字体都设置为红色*/ * {color: red; } 元素选择器 指示文档元素的选择器. /*为body的字体设置为红色*/ bod ...

  7. 【温故知新】CSS学习笔记(选择器)

    选择器(选择符) 目的是选择目标元素(选择标签用). 这里我们介绍四种基础选择器. 1.标签选择器 之前的例子都属于标签选择器,可以把某一类的标签全部选择出来: 2.类选择器 上面点声明,下面clas ...

  8. css --- [读书笔记] 浮动(float) 与 清除浮动

    说明 源代码 学习 1. 浮动 1.1 CSS布局的三种机制 网页布局的核心 - 利用 CSS 来摆放盒子 CSS提供了3种机制来设置盒子的摆放位置: 标准流.浮动和定位. 标准流: 块级元素(div ...

  9. css --- [读书笔记] 盒模型(边框、内外边距)

    说明 源代码 学习 盒子模型(css重点) css学习三大重点: css盒子模型. 浮动. 定位 目标: 能说出盒子模型由哪四部分组成: 内容.边框.内外边距 能说出内边距的作用,设置不同数值分别代表 ...

最新文章

  1. QIIME 2教程. 32如何写方法和引用Citing(2020.11)
  2. SQL的多种JOIN
  3. myeclipse java maven web 项目结构,Myeclipse 10 Maven 构建 Java Web 项目
  4. Android中点击按钮获取星级评分条的评分
  5. Flagger on ASM——基于Mixerless Telemetry实现渐进式灰度发布系列 2 应用级扩缩容
  6. update-rc.d: error: XXX Default-Start contains no runlevels, aborting.
  7. react学习(5)----通过设置初始值控制页面render渲染
  8. python123平台作业答案第十一周_马哥2016全新Linux+Python高端运维班第十次作业
  9. [流体力学] 推导柱坐标系下的连续性方程
  10. RK 3399 切换以太网卡
  11. C++_类和对象_封装_案例_立方体类_案例点和圆的关系---C++语言工作笔记039
  12. RTCP协议解析--RR
  13. MyEclipse 10.7(版本:eclipse 3.7.x-Indigo系列)安装activiti-eclipse-plugin插件(流程设计器)...
  14. 用css+jquery实现视频永远占满全屏效果
  15. 联创机房管理系统服务器密码,高校机房管理系统解决方案.doc
  16. 大二狗卸任社团职位以及对专业发展方向的思考与总结
  17. unity3D中enable和setactive的区别
  18. win7 安装SQL Server2008R2 提示文件格式错误的处理
  19. 产品架构图到底是怎么“画”出来的?
  20. C语言实现房贷计算器

热门文章

  1. 每月1000元存入余额宝或银行,十年后会有多少?
  2. 哪些钱借了可以不还?
  3. 使用CAtlRegExp正则表达式检查浮点数输入
  4. navicat premium 链接postgresql 无法加载表_PostgreSQL 每周新闻 2020311
  5. pandas 每一列相加_Python数据分析——Pandas 教程(上)
  6. echart移上去显示内容_echarts如何移动到柱状图上显示自己想显示的提示信息
  7. java基础知识一_Java基础知识(一)
  8. 3D游戏的照明设计理论,第3部分:三点照明法的异端与误区
  9. 第一章:线性空间和线性变换
  10. (OS X) OpenCV架构x86_64的未定义符号:错误(OpenCV Undefined symbols for architecture x86_64: error)...