01-认识CSS

认识****CSS

◼ CSS表示层叠样式表(Cascading Style Sheet,简称:CSS,又称为又称串样式列表级联****样式表串接样式表阶层式样式表) 是为网页添加样式的代码。

image.png

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 这么重要,那么它的语法规则是怎么样的呢?

image.png

◼ 声明(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属性之中。
image.png

◼ CSS样式之间用分号;隔开,建议每条CSS样式后面都加上分号;

很多资料不推荐这种写法:

  • 1.在原生的HTML编写过程中确实这种写法是不推荐的

  • 2.在Vue的template中某些动态的样式是会使用内联样式的;

◼ 所以,内联样式的写法依然需要掌握。

内部样式表(internal style sheet)

内部样式表(internal style sheet)

  • 将CSS放在HTML文件<head>元素里的<style>元素之中。
image.png

◼ 在Vue的开发过程中,每个组件也会有一个style元素,和内部样式表非常的相似(原理并不相同);

外部样式表(external style sheet)

外部样式表(external style sheet) 是将css编写一个独立的文件中,并且通过<link>元素引入进来;

使用外部样式表主要分成两个步骤:

  • 第一步:将css样式在一个独立的css文件中编写(后缀名为.css);

  • 第二步:通过<link>元素引入进来;

image.png

link****元素的作用,后续单独说。

@import

◼ 可以在style元素或者CSS文件中使用@import导入其他的CSS文件

image.png

CSS的注释

CSS代码也可以添加注释来方便阅读:

  • CSS的注释和HTML的注释是不一样的; /* 注释内容 */
image.png

常见的CSS元素

必须掌握的CSS属性

必须掌握的CSS属性

  • 在开发中90+%的时间写的都是这些属性;

赶紧开始?

◼ 不要小看这几个CSS属性,里面涉及到的概念是非常多的;

◼ 你必须了解CSS的很多特性,才能真正理解里面的每个属 性;

◼ 并且在遇到一些问题的时候知道如何去调试

link元素

◼ link元素是外部资源链接元素,规范了文档与外部资源的关系

  • link元素通常是在head元素中

◼ 最常用的链接是样式表(CSS);

  • 此外也可以被用来创建站点图标(比如 “favicon” 图标);

link****元素常见的属性:

认识进制

进制的概念:

  • 维基百科:进位制是一种记数方式,亦称进位计数法位值计数法

  • 通俗理解:当数字达到某个值时,进一位(比如从1位变成2位)。

◼ 按照进制的概念,来理解一下十进制:

  • 数字到9的时候,用一位已经表示不了了,那么就进一位变成2位。

  • 在东北没有什么是一顿烧烤不能解决的,如果有,那就两顿。

◼ 按照上面的来理解,二进制、八进制、十六进制:

  • 二进制:当数字到1的时候,用一位已经表示不了了,那么就进一位。

  • 八进制:当数字到7的时候,用一位已经表示不了了,那么就进一位。

  • 十六进制:等等,用一位如何表示十六个数字呢?a(10)、b(11)、c(12) 、 d(13) 、 e(14) 、 f(15)

人类的十进制

学习编程语言,需要了解进制的概念:

我们平时使用的数字都是十进制的,当我写下一个数字的时候,你会默认当做十进制来使用。

从发明数字的开始,人类就使用十进制,原因可能是人类正好十根手指。

如果人类有八根手指,现在用的可能是八进制。

image.png

所以说,十进制就是放之四海而皆准的常理吗?

◼ 并不见得,计算机就认为二进制、八进制、十六 进制更符合自己的思维。

常识就是人到十八岁为止所累积的各种偏见。 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):

RGB****颜色:

  • RGB是一种色彩空间,通过R(red,红色)、G(green,绿色)、B(blue,蓝色)三原色来组成了不同的颜色;

    ✓ 也就是通过调整这三个颜色不同的比例,可以组合成其他的颜色;

  • RGB各个原色的取值范围是 0~255;

image.png

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

image.png

◼ 其他技巧:

  • 快捷键:ctrl+ 可以调整页面或者调试工具的字体大小;

  • 可以通过删除某些元素来查看网页结构;

  • 可以通过增删css来调试网页样式;

Chrome浏览器开发者工具

image.png

浏览器渲染的流程

image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,874评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,151评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,270评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,137评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,116评论 5 370
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,935评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,261评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,895评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,342评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,854评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,978评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,609评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,181评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,182评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,402评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,376评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,677评论 2 344

推荐阅读更多精彩内容