认识****CSS
◼ CSS表示层叠样式表(Cascading Style Sheet,简称:CSS,又称为又称串样式列表、级联****样式表、串接样式表、阶层式样式表) 是为网页添加样式的代码。
◼ CSS 是一种语言吗?(知道即可)
MDN解释:CSS 也不是真正的编程语言,甚至不是标记语言。它是一门样式表语言;
维基百科解释:是一种计算机语言,但是不算是一种编程语言;
CSS 的历史
◼ 早期的网页都是通过HTML来编写的,但是我们希望HTML页面可以更加丰富:
这个时候就增加了很多具备特殊样式的元素:比如i、strong、del等等;
后来也有不同的浏览器实现各自的样式语言,但是没有统一的规划;
1994年,哈肯·维姆·莱和伯特·波斯合作设计CSS,在1996年的时候发布了CSS1;
直到1997年初,W3C组织才专门成立了CSS的工作组,1998年5月发布了CSS2;
在2006~2009非常流行 “DIV+CSS”布局的方式来替代所有的html标签;
从CSS3开始,所有的CSS分成了不同的模块(modules),每一个“modules”都有于CSS2中额外增加的功能,以及向后 兼容。
直到2011年6月7日,CSS 3 Color Module终于发布为W3C Recommendation。
-
总结:CSS的出现是为了美化HTML的,并且让结构(HTML)与样式(CSS)分离;
美化方式一:为HTML添加各种各样的样式,比如颜色、字体、大小、下划线等等;
美化方式二:对HTML进行布局,按照某种结构显示(CSS进行布局 – 浮动、flex、grid);
CSS 如何编写呢?
◼ CSS 这么重要,那么它的语法规则是怎么样的呢?
◼ 声明(Declaration)一个单独的****CSS****规则,如 color: red; 用来指定添加的CSS样式。
属性名(Property name):要添加的css规则的名称;
属性值(Property value):要添加的css规则的值;
◼ 但是有个问题:我们会编写了,要编写到什么位置呢?
如何将CSS样式应用到元素上?
◼ CSS提供了3种方法,可以将CSS样式应用到元素上:
内联样式(inline style)
内部样式表(internal style sheet)、文档样式表(document style sheet)、内嵌样式表(embed style sheet)
外部样式表(external style sheet)
◼ 疑问:三种方式,学好哪一个呢?
- 每一个都很重要,目前开发中不同的场景都会用到
内联样式(inline style)
◼ 内联样式(inline style),也有人翻译成行内样式。
- 内联样式表存在于HTML元素的style属性之中。
◼ CSS样式之间用分号;隔开,建议每条CSS样式后面都加上分号;
◼ 很多资料不推荐这种写法:
1.在原生的HTML编写过程中确实这种写法是不推荐的
2.在Vue的template中某些动态的样式是会使用内联样式的;
◼ 所以,内联样式的写法依然需要掌握。
内部样式表(internal style sheet)
◼ 内部样式表(internal style sheet)
- 将CSS放在HTML文件<head>元素里的<style>元素之中。
◼ 在Vue的开发过程中,每个组件也会有一个style元素,和内部样式表非常的相似(原理并不相同);
外部样式表(external style sheet)
◼ 外部样式表(external style sheet) 是将css编写一个独立的文件中,并且通过<link>元素引入进来;
◼ 使用外部样式表主要分成两个步骤:
第一步:将css样式在一个独立的css文件中编写(后缀名为.css);
第二步:通过<link>元素引入进来;
◼ link****元素的作用,后续单独说。
@import
◼ 可以在style元素或者CSS文件中使用@import导入其他的CSS文件
CSS的注释
◼ CSS代码也可以添加注释来方便阅读:
- CSS的注释和HTML的注释是不一样的; /* 注释内容 */
常见的CSS元素
必须掌握的CSS属性
◼ 必须掌握的CSS属性
- 在开发中90+%的时间写的都是这些属性;
◼ 赶紧开始?
◼ 不要小看这几个CSS属性,里面涉及到的概念是非常多的;
◼ 你必须了解CSS的很多特性,才能真正理解里面的每个属 性;
◼ 并且在遇到一些问题的时候知道如何去调试
link元素
◼ link元素是外部资源链接元素,规范了文档与外部资源的关系
- link元素通常是在head元素中
◼ 最常用的链接是样式表(CSS);
- 此外也可以被用来创建站点图标(比如 “favicon” 图标);
◼ link****元素常见的属性:
href:此属性指定被链接资源的URL。 URL 可以是绝对的,也可以是相对的。
-
rel:指定链接类型,常见的链接类型:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Link_types
icon:站点图标;
stylesheet:CSS样式;
认识进制
◼ 进制的概念:
维基百科:进位制是一种记数方式,亦称进位计数法或位值计数法。
通俗理解:当数字达到某个值时,进一位(比如从1位变成2位)。
◼ 按照进制的概念,来理解一下十进制:
数字到9的时候,用一位已经表示不了了,那么就进一位变成2位。
在东北没有什么是一顿烧烤不能解决的,如果有,那就两顿。
◼ 按照上面的来理解,二进制、八进制、十六进制:
二进制:当数字到1的时候,用一位已经表示不了了,那么就进一位。
八进制:当数字到7的时候,用一位已经表示不了了,那么就进一位。
十六进制:等等,用一位如何表示十六个数字呢?a(10)、b(11)、c(12) 、 d(13) 、 e(14) 、 f(15)
人类的十进制
◼ 学习编程语言,需要了解进制的概念:
我们平时使用的数字都是十进制的,当我写下一个数字的时候,你会默认当做十进制来使用。
从发明数字的开始,人类就使用十进制,原因可能是人类正好十根手指。
如果人类有八根手指,现在用的可能是八进制。
◼ 所以说,十进制就是放之四海而皆准的常理吗?
◼ 并不见得,计算机就认为二进制、八进制、十六 进制更符合自己的思维。
常识就是人到十八岁为止所累积的各种偏见。 Common sense is the collection of prejudices acquired by age eighteen. —— 阿尔伯特·爱因斯坦(Albert Einstein)
计算机中的进制
◼ 为什么计算机更喜欢二进制呢?
前面我们已经介绍过了为什么计算机更喜欢二进制了;
和其底层的原理有关系;
◼ 如何表示二进制、八进制、十六进制?
二进制(0b开头, binary):其中的数字由0、1组成,可以回顾之前学习过的机器语言。
八进制(0o开头, Octonary):其中的数字由0~7组成。
十六进制(0x开头, hexadecimal):其中的数字由0~9和字母a-f组成(大小写都可以)
◼ 十进制 or 二进制:
虽然计算机更喜欢二进制, 但是编程中我们还是以十进制为主.
因为高级编程语言的目的就是更加接近自然语言, 让我们人类更容易理解.
进制之间的转换
◼ 十进制转其他进制:
- 整除, 取余数.
◼ 其他进制转十进制:
比如二进制的1001转成十进制: 1 * 23 + 0 * 22 + 0 * 2 + 1 = 9
比如八进制的1234转成十进制: 1 * 83 + 2 * 82 + 3 * 8 + 4 = 668
比如十六进制的522转成十进制: 5 * 162 + 2 * 16 + 2 = 1314
◼ 二进制转八进制:
- 三位转成一位八进制
◼ 二进制转十六进制:
- 四位转成一位十六进制
CSS颜色的表示方法
◼ 在CSS中,颜色,有以下几种表示方法:
◼ 颜色关键字(color keywords):
是不区分大小写的标识符,它表示一个具体的颜色;
可以表示哪些颜色呢?
https://developer.mozilla.org/zh-CN/docs/Web/CSS/color_value#%E8%AF%AD%E6%B3%95
◼ RGB****颜色:
-
RGB是一种色彩空间,通过R(red,红色)、G(green,绿色)、B(blue,蓝色)三原色来组成了不同的颜色;
✓ 也就是通过调整这三个颜色不同的比例,可以组合成其他的颜色;
RGB各个原色的取值范围是 0~255;
RGB的表示方法
◼ RGB颜色可以通过以#为前缀的十六进制字符和函数(rgb()、rgba())标记表示。
◼ 方式一: 十六进制符号:#RRGGBB[AA]
-
R(红)、G(绿)、B (蓝)和A (alpha)是十六进制字符(0–9、A–F);A是可选的。
✓ 比如,#ff0000等价于#ff0000ff;
◼ 方式二:十六进制符号:#RGB[A]
R(红)、G(绿)、B (蓝)和A (alpha)是十六进制字符(0–9、A–F);
三位数符号(#RGB)是六位数形式(#RRGGBB)的减缩版。
✓ 比如,#f09和#ff0099表示同一颜色。
- 四位数符号(#RGBA)是八位数形式(#RRGGBBAA)的减缩版。
✓ 比如,#0f38和#00ff3388表示相同颜色。
◼ 方式三:函数符: rgb[a](R, G, B[, A])
R(红)、G(绿)、B (蓝)可以是<number>(数字),或者<percentage>(百分比),255相当于100%。
A(alpha)可以是0到1之间的数字,或者百分比,数字1相当于100%(完全不透明)。
Chrome浏览器开发者工具
◼ 打开Chrome调试工具:
方式一: 右键 – 检查
方式二: 快捷键 – F12
◼ 其他技巧:
快捷键:ctrl+ 可以调整页面或者调试工具的字体大小;
可以通过删除某些元素来查看网页结构;
可以通过增删css来调试网页样式;