CSS选择器与CSS的继承,层叠和特殊性
什么是选择器?选择器{样式;},在{}之前的部分就是“选择器”,“选择器”指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素,类似这样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中多个标签元素设置同一个样式
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>css选择器</title>
6 <style type="text/css">
7 body{
8 color: pink;
9 font-size: 16px;
10 }
11 ul{
12 list-style: lower-alpha;
13 }/*标签选择器*/
14 .box{
15 border: 1px inset red;
16 }/*类选择器*/
17 #box{
18 line-height: 30px;
19 }/*ID选择器*/
20 li>em{
21 color: red;
22 font-style: normal;
23 }/*子选择器*/
24 ul li{
25 background: #008000;
26 }/*后代选择器*/
27 *{
28 font:18px/1.5em "microsoft sans serif" 29 }/*通配符选择器*/
30 li>a:hover{
31 color:rgb(255,255,255);
32 }/*伪类选择器*/
33 li>span,p{
34 color: #000;
35 }/*分组选择器*/
36 </style>
37 </head>
38 <body>
39 <div class="box" id="box">
40 <ul>
41 <li>首先应该知道为什么学习,<em>而不要盲目地为了学习而学习。</em></li>
42 <li><a href="#">学习最重要的就是态度,态度和方式决定结果。</a></li>
43 <li>需要从根本上认为学习是一件值得的事情,从思想上端正才会有学习的劲头。</li>
44 <li>很多实例表明不同的心态会有不一样的学习效果,要以健康乐观的心态去学习,能成为怎样的学生都是由自己决定的。</li>
45 <li><span>行为决定命运,有的人学习是为了充实自己或者找工作,</span>所以需要明白自己究竟是为什么学习。</li>
46 </ul>
47 <p>Behavior determines destiny. Some people study to enrich themselves or find a job, so they need to understand why they study.</p>
48 </div>
49 </body>
50 </html>
通过css选择器,我们可以对元素进行样式的设置,当然CSS中有一些概念是需要深刻理解的,比如CSS的继承、层叠和特殊性。
- CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。
- 有的时候我们为同一个元素设置了不同的CSS样式代码,那么元素会启用哪一个CSS样式呢?这时你需要注意浏览器是根据权值来判断使用哪种css样式的,权值高的就使用哪种css样式。 权值的规则: 标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。 注意:还有一个权值比较特殊--继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承的权值最低。
- 层叠就是在html文件中对于同一个元素可以有多个css样式存在,当有相同权重的样式存在时,会根据这些css样式的前后顺序来决定,处于最后面的css样式会被应用。简单来说理解为后面的样式会覆盖前面的样式。 内联样式表(标签内部)>嵌入样式表(当前文件中)>外部样式表(外部文件中)。
- 我们在做网页代码的时,有些特殊的情况需要为某些样式设置具有最高权值,怎么办?这时候我们可以使用!important来解决。 注意:!important要写在分号的前面;这里注意当网页制作者不设置css样式时,浏览器会按照自己的一套样式来显示网页。并且用户也可以在浏览器中设置自己习惯的样式,比如有的用户习惯把字号设置为大一些,使其查看网页的文本更加清楚。这时注意样式优先级为:浏览器默认的样式<网页制作者样式<用户自己设置的样式,但记住!important优先级样式是个例外,权值高于用户自己设置的样式。
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>CSS的继承、层叠和特殊性</title>
6 <style type="text/css">
7 div{
8 font: 18px/2em "microsoft yahei";
9 border: 1px solid sienna;
10 }
11 p{
12 color: #f90;
13 }/*权值为1*/
14 p span{
15 color: red;
16 }/*权值为1+1=2*/
17 .Adults{
18 color: #00FF00;
19 }/*权值为10*/
20 p span.Adults{
21 color: #4169E1;
22 }/*权值为1+1+10=12*/
23 #Adults{
24 color: yellow;
25 }/*权值为100*/
26 #Adults .Adults em{
27 color: greenyellow;
28 }/*权值为100+10+1=111*/
29 .box2{
30 font-size: 18px!important;
31 text-transform: uppercase;
32 word-spacing: -2px;
33 }
34 .box2{
35 font-size: 12px;
36 }/*后面的样式会覆盖前面的样式,内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)*/
37 </style>
38 </head>
39 <body>
40 <div>
41 <p id="Adults">成年人的世界没有“容易”二字,一,少解释,多做事二,永远不要给背叛你的人第二次背叛你的机会三,收起过去的那些脾气四,不要太在意别人的看法五,再大的委屈也不要在人群中表现出来六,别人夸你的时候,你要有自知之明七,不要去巴结任何人八,不要无休止地忍让;<span class="Adults">成年人的世界,虽然很精彩,但是也很残酷,讲人情但是更讲的是规则和实力。<em>所以我们只有做一个内心坚强的人,让自己变得更好,我们才会发现世界的广阔和人生的美好,才能真正地享受人生。</em></span></p>
42 <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>
43 </div>
44 </body>
45 </html>
CSS选择器与CSS的继承,层叠和特殊性的更多相关文章
- Unit02: CSS 概述 、 CSS 语法 、 CSS 选择器 、 CSS声明
Unit02: CSS 概述 . CSS 语法 . CSS 选择器 . CSS声明 my.css p { color: yellow; } demo1.html <!DOCTYPE html&g ...
- from表单、css选择器、css组合器、字体样式、背景属性、边框设置、display设置
目录 一.form表单 1.form表单功能 2.表单使用原理 二.前端基础之css 1.关于css的介绍 2.css语法 3.三种编写CSS的方式 3.1.style内部直接编写css代码 3.2. ...
- CSS选择器及CSS样式表
前言 牛腩新闻发布系统中记忆最深的就是各种CSS选择器各种CSS样式,这些选择器之间肯定有它的优先级,包括CSS样式也一样,也是有它的优先级,本文介绍一些各种CSS选择器各种CSS样式以及它们的优先级 ...
- css基础-css选择器和css文本样式相关
css基础-css选择器和css文本样式相关: 使用link链入外部样式,页面加载时会同时加载样式 @import url(“*.css”);使用导入式,页面加载完后,才会加载样式 链接伪类的顺序 : ...
- css选择器权重、样式继承、默认样式
学过css的小伙伴都是指css选择器的权重 !important Infinity 行间样式 1000 id 100 class|属性|伪类 10 标签|伪元素 1 通配符 0 权重相同 相同cs ...
- CSS选择器、CSS hack及CSS执行效率
主要内容: 1.CSS选择器.优先级与匹配原理 2. CSS 引入的方式有哪些 ? link 和 @import 的区别是 ? 3.CSS hack 4.如何书高效CSS 一.CSS选择器.优先级与 ...
- CSS选择器优先级 CSS权值
计算指定选择器的优先级:重新认识CSS的权重 标签的权值为 0,0,0,1 类的权值为 0,0,1,0 属性选择的权值为 0,0,1,1 ID的权值为 0,1,0,0 important的权值为最高 ...
- HTML+CSS Day05 基本CSS选择器、复合CSS选择器与CSS继承性
1.基本CSS选择器 (1)标记选择器 <style> h1{ color:red; font-size:25px;} &l ...
- 前端基础----CSS语法、CSS四种引入方式、CSS选择器、CSS属性操作
一.CSS语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. 例如: h1 {color:red; font-size:14px;} 二.CSS四种引入方式 1,行内式 行内式是在标 ...
随机推荐
- localStorage中一个数组嵌套一个数组的怪相
localStorage中一个数组嵌套一个数组的怪相 需求:向本地存储中循环添加对象 思路 : 先完成点击事件中添加本地存储功能,当刷新时使用一个数组记录已经存储下来的数据,并在点击事件中将新生成 ...
- Reactor模式和Proactor模式
Reactor 主线程往epoll内核事件表中注册socket上的读就绪事件 主线程调用epoll_wait等待socket上有数据可读 当socket上有数据可读时,epoll_wait通知主线程, ...
- 4.用IntelliJ IDEA 创建Maven Web
一.File→New→ Project 二.Maven→org.apache.maven.archetypes:maven-archetype-webapp→Next(记得打钩) 三.填入后Next→ ...
- python—异常处理try
写代码的时候会遇到各种各样的异常,那么代码就不会继续往下走了.比如说10除以0是错误的,因为除数不能为零学会捕捉异常,在异常出现的时候我们要做什么操作. 捕捉异常 d={} #例如定义字典 try: ...
- 玩转redis-简单消息队列
使用go语言基于redis写了一个简单的消息队列 源码地址 使用demo redis的 list 非常的灵活,可以从左边或者右边添加元素,当然也以从任意一头读取数据 添加数据和获取数据的操作也是非常简 ...
- Java 程序该怎么优化?(命令篇)
灵魂拷问,JDK 提供的命令,除了 java.javac,你还用过哪些命令呢? 灵魂再拷问,若你写的 Java 程序,出现了性能问题,该怎么去排查呢? Java 作为编程语言中的战斗机,JDK 默认已 ...
- 【Java技术系列】爱情36技之追美妹的技术
1. 在古老的非洲大陆上,有个原始人无意中抬头仰望星空,凝视的时间稍微长了一些,超过了外星人设置的阈值,立刻拉响了人类即将产生文明的警报.因为外星人认为,人类已经产生了对宇宙的好奇心,文明的产生,科技 ...
- 如何用git将本地项目push到Github
Step1 github页面:创建一个仓库(如何创建github仓库,你可能需要参考这篇教程),库名(Repository name)为你打算放在github上的项目名称.例如: .style.width = pc + "%"; 但是,今天发 ...
- 剑指Offer系列之题1~题5
目录 1.二维数组的查找 2.替换空格 3.从尾到头打印链表 4.链表中环的入口节点 5.重建二叉树 写在前面:本随笔中包含五道题:题目描述,题目思路以及对应解法. 1.二维数组的查找 在一个二维数组 ...