【慕课网】Web学习笔记———CSS3 (一)
[Web学习笔记]CSS3 (一)
- CSS3代码语法
- CSS注释代码
- CSS样式
- 内联式css样式
- 嵌入式css样式
- 外部式css样式
- 权值
- CSS3选择器
- 标签选择器
- 类选择器
- ID选择器
- 类与ID选择器的区别
- 子选择器
- 后代选择器
- 通用选择器
- 伪类选择器
- 分组选择器
- 选择器的优先级
- 选择器的最高层级
- CSS3的继承
- 样式的继承
CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要用于定义HTML内容在浏览器内的显示样式,如文字大小、颜色、字体加粗等。如:
p{font-size:12px;color:red;font-weight:bold;
}
CSS3代码语法
css 样式由选择符和声明组成,而声明又由属性和值组成,如下图所示:
选择符:又称选择器,指明网页中要应用样式规则的元素,如本例中是网页中所有的段(p)的文字将变成蓝色,而其他的元素(如ol)不会受到影响。
声明:在英文大括号“{}”中的的就是声明,属性和值之间用英文冒号“:”分隔。当有多条声明时,中间可以英文分号“;”分隔,如:p{font-size:12px;color:red;}
注:
最后一条声明可以没有分号,但为了方便修改,一般会加上。
为方便阅读,可以将每条声明单独一行。
CSS注释代码
CSS使用/* 注释语句 */进行注释/*css注释语句*/
CSS样式
CSS样式代码插入的形式基本可以分为三种:内联式,嵌入式和外部式。
内联式css样式
内联式就是将css代码直接写在现有的HTML标签中,要写在style=" "双引号中,多条css样式代码设置可以写在一起,用分号;隔开,如:
<p style="color:red;font-size:10px;">这是一段文字</p>
css代码要写在元素的开始标签中,下面的写法是错误的:
<p>这是一段文字</p style="color:red;">
嵌入式css样式
嵌入式css样式,可以将css样式代码写在< style type=“text/css”>< /style>标签之间。如下:
<style type="text/css">
p{color:red;font-size:12px;
}
</style>
嵌入式css样式必须写在< style>< /style>之间,并写在< head>< /head>之间。
外部式css样式
外部式/外联式css样式即把css代码写一个单独的外部文件中,这个css样式文件以“.css”为扩展名,在< head>< /head>内,而不是在< style>标签内。使用< link>标签将css样式文件链接到HTML文件内,如下面代码:<link href="base.css" rel="stylesheet" type="text/css" />
注:
- css样式文件名称以有意义的英文字母命名,如 main.css。
- rel=“stylesheet” type=“text/css” 是固定写法不可修改。
- 标签位置一般写在标签之内。
这三种链接方式的优先级为:内联式>嵌入式>外部式
但是嵌入式>外部式有一个前提:嵌入式css样式的位置一定在外部式的后面。如<link href=“style.css” …>代码在< style type=“text/css”>…< /style>代码的前面(实际开发中也是这么写的)。
其实总结来说,就是–就近原则(离被设置元素越近优先级别越高)。
但注意上面所总结的优先级是有一个前提:内联式、嵌入式、外部式样式表中css样式是在的相同权值的情况下。
权值
有时我们为同一个元素设置了不同的CSS样式代码,元素会显示哪一种样式呢?
p{color:red;}
.first{color:green;}
<p class="first">这是一段<span>文字</span></p>
p和.first都匹配到了p这个标签上,那么会显示green绿色,是因为浏览器是根据权值来判断使用哪种css样式的,权值高的就使用哪种css样式。
下面是权值的规则:
标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。
例如下面的代码:
p{color:red;} /*权值为1*/
p span{color:green;} /*权值为1+1=2*/
.warning{color:white;} /*权值为10*/
p span.warning{color:purple;} /*权值为1+1+10=12*/
#footer .note p{color:yellow;} /*权值为100+10+1=111*/
注:还有一个权值比较特殊–继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承的权值最低。
CSS3选择器
每一条css样式声明由两部分组成,形式如下:
选择器{
样式;
}
在{}之前的部分就是“选择器”,“选择器”指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素。比如下面代码编辑器中第2行代码中的“body”就是选择器。
<style type="text/css">
body {font-size: 12px;color: red;
}
</style>
标签选择器
标签选择器其实就是html代码中的标签。如右侧代码编辑器中的< html>、< body >、< h1 >、< p >、< img >。例如下面代码:p{font-size:12px;line-height:1.6em;}
上面的css样式代码的作用:为p标签设置12px字号,行间距设置1.6em的样式。
类选择器
类选择器在css样式编码中是最常用到的,语法:
.类选器名称{css样式代码;}
注:
- 英文圆点开头
- 其中类选器名称可以任意起名(但不要起中文)
使用方法:
使用合适的标签把要修饰的内容标记起来,如下:
<span>胆小如鼠</span>
使用class="类选择器名称"为标签设置一个类,如下:
<span class="stress">胆小如鼠</span>
设置类选器css样式,如下:
.stress{color:red;}/*类前面要加入一个英文圆点*/
ID选择器
<body><!-- 给元素id属性赋值--><div id='box'>hello</div>
</body>
<style>
/*#加上元素的id值,构成id选择器*/#box{color:red;}
</style>
注:
使用ID选择器,必须给标签添加上id属性,为标签设置id=“ID名称”,而不是class=“类名称”。
ID选择符的前面是井号(#)号,而不是英文圆点(.)。
id属性的值既为当前标签的id,尽量见名思意,语义化。
类与ID选择器的区别
相同点:可以应用于任何元素
不同点:
1.ID选择器只能在文档中使用一次。与类选择器不同,在一个HTML文档中,ID选择器只能使用一次,而且仅一次。而类选择器可以使用多次。
下面代码是正确的:
<p>与类选择器不同,在一个HTML文档中,ID选择器<span class="stress">只能使用一次,而且仅一次</span>。而类选择器可以<span class="stress">使用多次.</span></p>
而下面代码是错误的:
<p>与类选择器不同,在一个HTML文档中,ID选择器<span id="stress">只能使用一次,而且仅一次</span>。而类选择器可以<span id="stress">使用多次.</span></p>
2.可以使用类选择器词列表方法为一个元素同时设置多个样式。我们可以为一个元素同时设多个样式,但只可以用类选择器的方法实现,ID选择器是不可以的(不能使用ID 词列表)。
下面的代码是正确的
.stress{color:red; }
.bigsize{font-size:25px; }
<p>ID选择器只能在文档中<span class="stress bigsize">使用一次</span></p>
上面代码的作用是为“三年级”三个文字设置文本颜色为红色并且字号为25px。
下面的代码是不正确的
.stress{color:red; }
.bigsize{font-size:25px; }
<p>ID选择器只能在文档中<span id="stress bigsize">使用一次</span></p>
上面代码不可以实现为“三年级”三个文字设置文本颜色为红色并且字号为25px的作用。
子选择器
还有一个比较有用的选择器:子选择器,即大于符号(>),用于选择指定标签元素的第一代子元素。如:.food>li{border:1px solid red;}
这行代码会使class名为food下的子元素li加入红色实线边框。
后代选择器
包含选择器,即加入空格,用于选择指定标签元素下的后辈元素。如:.first span{color:red;}
这行代码会使< span >标签中的内容中字体颜色变为红色。
请注意这个选择器与子选择器的区别,子选择器(child selector)仅是指它的直接后代,或者可以理解为作用于子元素的第一代后代。而后代选择器是作用于所有子后代元素。后代选择器通过空格来进行选择,而子选择器是通过“>”进行选择。
总结:>作用于元素的第一代后代,空格作用于元素的所有后代。
通用选择器
通用选择器是功能最强大的选择器,它使用一个(*)号指定,它的作用是匹配html中所有标签元素,如下使用下面代码使用html中任意标签元素字体颜色全部设置为红色:* {color:red;}
伪类选择器
更有趣的是伪类选择符,为什么叫做伪类选择符,它允许给html不存在的标签(标签的某种状态)设置样式,比如说我们给html中一个标签元素的鼠标滑过的状态来设置字体颜色:a:hover{color:red;}
上面一行代码就是为 a 标签鼠标滑过的状态设置字体颜色变红。这样就会使标签内容加入鼠标滑过字体颜色变为红色特效。
关于伪类选择符,到目前为止,可以兼容所有浏览器的“伪类选择符”就是 a 标签上使用 :hover 了(其实伪类选择符还有很多,尤其是css3 中,但是因为不能兼容所有浏览器,本教程只是讲了这一种最常用的)。其实 :hover 可以放在任意的标签上,比如说p:hover,但是它们的兼容性也是很不好的,所以现在比较常用的还是 a:hover 的组合。
分组选择器
当你想为html中多个标签元素设置同一个样式时,可以使用分组选择符(,),如下代码为右侧代码编辑器中的h1、span标签同时设置字体颜色为红色:h1,span{color:red;}
它相当于下面两行代码:
h1{color:red;}
span{color:red;}
选择器的优先级
为了解选择器的优先级,我们来看一个例子:
<head><meta charset="UTF-8"><title>css3选择器优先级</title><style type="text/css">.d{color:red;}#box{color:blue;}div{color:black;}.{color:green;}</style>
</head>
<body><div id="box" class="d" style="color:orange">我是一个div</div>
</body>
得到的结果为:
关于选择器优先级:
- 如果一个元素使用了多个选择器,则会按照选择器的优先级来给定样式。
- 选择器的优先级依次是: 内联样式 > id选择器 > 类选择器 > 标签选择器 > 通配符选择器
选择器的最高层级
我们在做网页代码的时,有些特殊的情况需要为某些样式设置具有最高权值,则可以使用!important来解决。
如下代码:
p{color:red!important;}
p{color:green;}
<p class="first">这是一段<span>文字</span></p>
这时 p 段落中的文本会显示的red红色。
注:!important要写在分号的前面。
这里注意当网页制作者不设置css样式时,浏览器会按照自己的一套样式来显示网页。并且用户也可以在浏览器中设置自己习惯的样式,比如有的用户习惯把字号设置为大一些,使其查看网页的文本更加清楚。这时注意样式优先级为:浏览器默认的样式 < 网页制作者样式 < 用户自己设置的样式,但记住!important优先级样式是个例外,权值高于用户自己设置的样式。
CSS3的继承
样式的继承
CSS的某些样式是具有继承性的,继承是一种规则,它允许样式不仅应用于某个特定html标签元素,并应用于其后代。比如下面代码:如某种颜色应用于p标签,这个颜色设置不仅应用p标签,还应用于p标签中的所有子元素文本,这里子元素为span标签。
p{color:red;}
<p>这是一段<span>文字</span></p>
可见下侧最终页面中p中的文本与span中的文本都设置为了红色。
但注意有一些css样式是不具有继承性的。如border:1px solid red;
p{border:1px solid red;}
<p>这是一段<span>文字</span></p>
在上面例子中它代码的作用只是给p标签设置了边框为1像素、红色、实心边框线,而对于子元素span是没用起到作用的。
【慕课网】Web学习笔记———CSS3 (二)
【慕课网】Web学习笔记———CSS3 (一)相关推荐
- 慕课网android 学习笔记
1.android布局原则: (1)将可复用的组件抽出来并通过include标签使用. (2)使用viewstub标签来加载一些不常用的布局. (3)使用merge标签减少布局的嵌套层次. http: ...
- web学习笔记-html-html新增
CCS学习系列笔记 web学习笔记–css(1) web学习笔记–css(2) web学习笔记–css(3) web学习笔记-html-html新增 1.html基本发展 2.h5新增的功能 3.新增 ...
- java web学习笔记(持续更新)
java web学习笔记 一.Java Web简介 二.认识Servlet 1.什么是Servlet? 2.请求路径 3.tomcat 4.Servlet的使用 三.Servlet简单应用 1.创建S ...
- 2019年Java Web学习笔记目录
Java Web学习笔记目录 1.Java Web学习笔记01:动态网站初体验 2.Java Web学习笔记02:在Intellij里创建Web项目 3.Java Web学习笔记03:JSP元素 4. ...
- 慕课网 springboot学习记录
https://www.imooc.com/learn/956 idea ctrl+shift+r全局查找 springboot相关 慕课网知识学习总结 demo项目生成:可以从spring官方生成, ...
- 领扣网算法学习笔记 - 215
领扣网算法学习笔记 本系列的算法题目来自领扣网 数组类算法第六天 题目:数组中的第K个最大元素 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 ...
- 领扣网算法学习笔记 - 80
领扣网算法学习笔记 本系列的算法题目来自领扣网 数组类算法第一天 题目: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 示例: 给定 nums ...
- 移动web——学习笔记整理
目录 Day1 00.流式布局 00.1目标 00.2目录 01.移动端浏览器 02.视口(layout viewport) 03.meta视口标签(单标签) 04.物理像素&物理像素比 05 ...
- 【慕课网实战课程笔记】Vue.js高仿饿了么外卖App
写在前面:该课程为慕课网付费课程,笔记内容代码居多.内容简略,仅供自己日后翻阅.如有疑问或者不妥,欢迎提出指正,我看到了会回复,谢谢! 第1章:课程简介 第2章:Vuejs介绍 Ctrl+Alt+l ...
最新文章
- 洞悉2020年数据团队建设,我们和清华、领英一起搞了个大事情,你也可以参与!...
- python读取数据文件-python多种读写excel等数据文件的方式(收藏篇)
- 【图像分类】 标签噪声对分类性能会有什么样的影响?
- ASP.NET中的AdRotator控件即广告控件的使用
- Android中图片优化之webp使用
- zookeeper的设计猜想-阶段一:提交事务请求(投票)
- 武警五防一体化是什么?五防光端机产品介绍!
- 用html代码写出城东早春,网页设计基础 从零开始构建HTML 页面 第2章 从零开始构建HTML页面_补充案例.doc...
- java获取上一天数据,java获取日历格式的日期数据
- python3 re正则匹配数据获取案例
- U2000北向 CORBA客户端代码Java编程示例
- 汽车can总线协议c语言,CAN总线自定义协议使用说明.pdf
- Deep Mind 团队论文Playing Atari with Deep Reinforcement Learning复现
- 目前支持WebGL的浏览器有哪些?
- 笔记本电脑什么牌子好 世界笔记本电脑排名
- 厉害了!自己动手也能做一个推荐系统!
- exit status 145: The directory is not empty,exit status 5: �ܾ����ʡ� ,nvm切换node版本问题汇总
- 购置税用计算机怎么算,进口车辆购置税可以通过网络购置税计算器来计算
- mysql144,通过phpMyAdmin从MySQL错误144中恢复
- OWASP A2 Cryptographic Failures(加密机制失效)