什么是选择器? 选择器 {样式;}, 在{} 之前的部分就是 "选择器","选择器" 指明了 {} 中的 "样式" 的作用对象, 也就是 "样式" 作用于网页中的哪些元素, 类似这样 body{color: pink;font-size: 16px;};
: 标签选择器其实就是 html 代码中的标签, 比如 < HTML>,<body>,<h1>,<p>,<img > 等
. 类选器名称 {CSS 样式代码;} 这样的类选择器在 CSS 样式编码中是最常用到的, 注意: 1. 英文圆点开头 2. 其中类选器名称可以任意起名 (但不要起中文); 除此之外, 还有 ID 选择器, 不过在很多方面, ID 选择器都类似于类选择符, 但也有一些重要的区别: 1 > 为标签设置 id="ID 名称", 而不是 class="类名称".2>ID 选择符的前面是井号(#) 号, 而不是英文圆点(.).
类和 ID 选择器的区别? 相同点: 可以应用于任何元素; 不同点: 1,ID 选择器只能在文档中使用一次. 与类选择器不同, 在一个 HTML 文档中, ID 选择器只能使用一次, 而且仅一次. 而类选择器可以使用多次. 2, 可以使用类选择器词列表方法为一个元素同时设置多个样式. 我们可以为一个元素同时设多个样式, 但只可以用类选择器的方法实现, ID 选择器是不可以的(不能使用 ID 词列表).
.food>li{border:1px solid red;}这样是什么选择器? 答: 子选择器, 即大于符号(>), 用于选择指定标签元素的第一代子元素.
与子选择器容易混淆的是包含 (后代) 选择器, 即加入空格, 用于选择指定标签元素下的后辈元素. 注意这个选择器与子选择器的区别, 子选择器 (child selector) 仅是指它的直接后代, 或者你可以理解为作用于子元素的第一代后代. 而后代选择器是作用于所有子后代元素. 后代选择器通过空格来进行选择, 而子选择器是通过 ">" 进行选择. 总结:>作用于元素的第一代后代, 空格作用于元素的所有后代.
选择器里面最牛叉的是通用选择器, 通用选择器是功能最强大的选择器, 它使用一个 (*) 号指定, 它的作用是匹配 HTML 中所有标签元素
更有趣的是伪类选择符, 为什么叫做伪类选择符, 它允许给 HTML 不存在的标签 (标签的某种状态) 设置样式!
关于伪选择符: 关于伪类选择符, 到目前为止, 可以兼容所有浏览器的 "伪类选择符" 就是 a 标签上使用 :hover 了(其实伪类选择符还有很多, 尤其是 css3 中, 但是因为不能兼容所有浏览器, 本教程只是讲了这一种最常用的). 其实 :hover 可以放在任意的标签上, 比如说 p:hover, 但是它们的兼容性也是很不好的, 所以现在比较常用的还是 a:hover 的组合.
分组选择符: 分组选择符(,), 可以为 HTML 中多个标签元素设置同一个样式
专门建立的学习 Q-q-u-n: 784783012 , 分享学习的方法和需要注意的小细节, 不停更新最新的教程和学习技巧
(从零基础开始到前端项目实战教程, 学习工具, 全栈开发学习路线以及规划)
- <!DOCTYPE HTML>
- <HTML>
- <head>
- <meta charset="utf-8">
- <title>CSS 选择器</title>
- <style type="text/css">
- body{
- color: pink;
- font-size: 16px;
- }
- ul{
- list-style: lower-alpha;
- }/* 标签选择器 */
- .box{
- border: 1px inset red;
- }/* 类选择器 */
- #box{
- line-height: 30px;
- }/*ID 选择器 */
- li>em{
- color: red;
- font-style: normal;
- }/* 子选择器 */
- ul li{
- background: #008000;
- }/* 后代选择器 */
- *{
font:18px/1.5em "microsoft sans serif" 29 }/* 通配符选择器 */
- li>a:hover{
- color:rgb(255,255,255);
- }/* 伪类选择器 */
- li>span,p{
- color: #000;
- }/* 分组选择器 */
- </style>
- </head>
- <body>
- <div class="box" id="box">
- <ul>
- <li > 首先应该知道为什么学习,<em > 而不要盲目地为了学习而学习.</em></li>
- <li><a href="#">学习最重要的就是态度, 态度和方式决定结果.</a></li>
- <li > 需要从根本上认为学习是一件值得的事情, 从思想上端正才会有学习的劲头.</li>
- <li > 很多实例表明不同的心态会有不一样的学习效果, 要以健康乐观的心态去学习, 能成为怎样的学生都是由自己决定的.</li>
- <li><span > 行为决定命运, 有的人学习是为了充实自己或者找工作,</span > 所以需要明白自己究竟是为什么学习.</li>
- </ul>
- <p>Behavior determines destiny. Some people study to enrich themselves or find a job, so they need to understand why they study.</p>
- </div>
- </body>
- </HTML>
通过 CSS 选择器, 我们可以对元素进行样式的设置, 当然 CSS 中有一些概念是需要深刻理解的, 比如 CSS 的继承, 层叠和特殊性.
CSS 的某些样式是具有继承性的, 那么什么是继承呢? 继承是一种规则, 它允许样式不仅应用于某个特定 HTML 标签元素, 而且应用于其后代.
有的时候我们为同一个元素设置了不同的 CSS 样式代码, 那么元素会启用哪一个 CSS 样式呢? 这时你需要注意浏览器是根据权值来判断使用哪种 CSS 样式的, 权值高的就使用哪种 CSS 样式. 权值的规则: 标签的权值为 1, 类选择符的权值为 10,ID 选择符的权值最高为 100. 注意: 还有一个权值比较特殊 -- 继承也有权值但很低, 有的文献提出它只有 0.1, 所以可以理解为继承的权值最低.
层叠就是在 HTML 文件中对于同一个元素可以有多个 CSS 样式存在, 当有相同权重的样式存在时, 会根据这些 CSS 样式的前后顺序来决定, 处于最后面的 CSS 样式会被应用. 简单来说理解为后面的样式会覆盖前面的样式. 内联样式表 (标签内部)> 嵌入样式表 (当前文件中)> 外部样式表(外部文件中).
我们在做网页代码的时, 有些特殊的情况需要为某些样式设置具有最高权值, 怎么办? 这时候我们可以使用! important 来解决. 注意:!important 要写在分号的前面; 这里注意当网页制作者不设置 CSS 样式时, 浏览器会按照自己的一套样式来显示网页. 并且用户也可以在浏览器中设置自己习惯的样式, 比如有的用户习惯把字号设置为大一些, 使其查看网页的文本更加清楚. 这时注意样式优先级为: 浏览器默认的样式<网页制作者样式<用户自己设置的样式, 但记住! important 优先级样式是个例外, 权值高于用户自己设置的样式.
- <!DOCTYPE HTML>
- <HTML>
- <head>
- <meta charset="utf-8">
- <title>
- CSS 的继承, 层叠和特殊性
- </title>
- <style type="text/css">
- div{ font: 18px/2em "microsoft yahei"; border: 1px solid sienna; } p{
- color: #f90; }/* 权值为 1*/ p span{ color: red; }/* 权值为 1+1=2*/ .Adults{ color:
- #00FF00; }/* 权值为 10*/ p span.Adults{ color: #4169E1; }/* 权值为 1+1+10=12*/
- #Adults{ color: yellow; }/* 权值为 100*/ #Adults .Adults em{ color: greenyellow;
- }/* 权值为 100+10+1=111*/ .box2{ font-size: 18px!important; text-transform:
- uppercase; Word-spacing: -2px; } .box2{ font-size: 12px; }/* 后面的样式会覆盖前面的样式,
- 内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)*/
- </style>
- </head>
- <body>
- <div>
- <p id="Adults">
- 成年人的世界没有 "容易" 二字, 一, 少解释, 多做事二, 永远不要给背叛你的人第二次背叛你的机会三, 收起过去的那些脾气四, 不要太在意别人的看法五,
- 再大的委屈也不要在人群中表现出来六, 别人夸你的时候, 你要有自知之明七, 不要去巴结任何人八, 不要无休止地忍让;
- <span class="Adults">
- 成年人的世界, 虽然很精彩, 但是也很残酷, 讲人情但是更讲的是规则和实力.
- <em>
- 所以我们只有做一个内心坚强的人, 让自己变得更好, 我们才会发现世界的广阔和人生的美好, 才能真正地享受人生.
- </em>
- </span>
- </p>
- <div class="box2">
- <p>
- Therefore, only by being a strong person and making ourselves better,
- can we discover the world and the beauty of life, and truly enjoy life.
- </p>
- </div>
- </div>
- </body>
- </HTML>
来源: http://www.jianshu.com/p/ca45e514b869