笔记标题 | 青训营笔记2

49 阅读5分钟

前端与CSS的初步认识 | 青训营笔记

这是我参与 [第五届青训营] 伴学笔记创作活动的第 2 天。在这节课中,学习了CSS是什么,他是如何工作,有什么功能,结合HTML怎么做一个美观的页面,详细学习了颜色,字体,选择器的使用,颜色与字体的属性描述。

1、css是什么

CSS全称为Cascadig Style Sheets,用来定义页面元素的样式。在上一节学过HTML,HTML仅仅对文本进行编译,如果想要做一个美观一点的页面,需要CSS来进行实现。CSS可以对HTML中的内容设置他的字体和颜色,位置和大小,并且还可以添加一些动画效果。

2、在页面中使用CSS

在页面使用CSS有三种形式,分别是外链、嵌入、内联。

  • 外链:通过link来调用CSS文件
  • 嵌入:在head块中用style元素对body块中的元素设置样式
  • 内联:在body块中的元素里,直接对元素内容设置样式

3、CSS是如何工作的

先加载解析HTML文件,再加载解析CSS文件,创建DOM树,把解析出的CSS样式添加到DOM节点中,最后展示页面。

(1)选择器Selector

在HTML中,对每一个标签,元素中的内容要设置他的样式,就需要找出页面中的元素,才能给他们设置样式。这里有多种方式选择元素:

  • 按照标签名、类名、ID
  • 按照属性
  • 按照DOM树中的位置

接下来描述一下各种选择器具体的使用方法:

  1. 通配选择器:使用*,可以对标签中的所有内容设置样式;
  2. 标签选择器:对指定标签中内容设置样式,比如分别对h1、p中的内容分别设置不同的样式;
  3. id选择器:例如h1标签中有属性 id,他的属性值是"logo",使用#logo对id="logo"的内容设置样式,根据标签中的属性进行选择;
  4. 类选择器:根据类class的属性值选择对应的内容进行设置,例如,class="done",则使用.done设置类的属性值为done部分的样式;
  5. 属性选择器:是对标签中的属性设置样式,例如input中有个属性disabled,使用[disabled]对这个属性设置样式,显示出的结果就是输入框整体发生了变化,disabled是禁止输入。

(2)伪类pseudo-classes

伪类是不基于标签和属性定位元素,有两种伪类形式:状态伪类和结构性伪类

  • 状态伪类:不是具体的某一个元素,而是某一个状态下才会被选中。比如链接,当鼠标点击的时候会有不同的状态,这时就可以使用伪类选择不同的状态,进行样式的设置。在超链接 a 中,a:link 表示默认状态下的样式;a:visited 表示访问过的状态样式;a:hover 表示鼠标移到链接上的状态;a:activa 表示鼠标按下去后的状态,对于别的可以使用focus状态进行聚焦设置。
  • 结构伪类:根据元素在父亲节点中的相对位置设置特殊的样式。例如,在列表中,可以根据数组出现的位置添加样式。

(3)组合Combinators

前面提到伪类以及选择器的详细使用,这里也可以用组合的方式一起设置样式。

名称语法说明示例
直接组合AB满足A同时满足Binput:focus
后代组合A B选中B,如果他是A的子孙nav a
亲子组合A>B选中B,如果他是A的子元素section>p
兄弟选择器A~B选中B,如果他在A后且和A同级h2~p
相邻选择器A+B选中B,如果他紧跟在A后面h2+p
  • 选择器组:针对于对多个选择器设置相同的样式。使用方法是将每个选择器用逗号隔开写在一起,例如:h1,h2,p,ul,ol{}

(4)颜色-RGB

颜色使用color属性进行设置,使用rgb(11,23,23),取值范围在0~255之间,也可以使用16进制,如#8a3d7e,每两位表示一个底色。但因为一个具体的颜色仅根据color属性不好描述,因此针对颜色的三个特征HSL,即色相,饱和度和亮度来设置颜色,HSL指的是:

  • H(Hue):色相,是色彩的基本属性,例如红色,黄色等;取值范围0~360。
  • S(Saturation):饱和度,是色彩的鲜艳程度,越高越鲜艳;取值范围0~100%。
  • L(Lightness):亮度,颜色的明亮程度,越高颜色越亮;取值范围0~100%。 alpha:透明度,当alpha=1时最不透明,越靠近0的时越透明。如rgba(X,X,X,X),hsla(X,X,X,X)最后一位表示透明度,

(6)字体 font-family

font-family对应多个属性值,由于设备中字体有限,所以会在这些属性值中从前到后选择设备中已有的字体。 通用字体族:

  • Serif:衬线体
  • Sans-Serif:无衬线体
  • Cursive:手写体
  • Fantasy:英文字体
  • Monospace:等宽字体

注意:当文件中有英语时,先将描述英文的字体放在前面,否则会被后边的字体覆盖掉。

font-size描述字体大小,有三种方式,分别为:

  • 关键字:small、medium、large
  • 长度:px、em
  • 百分数:相对于父元素字体大小

font-weigt:字重(100-900) line-heigth:行高 white-space 处理空格

3、个人总结

在今天的第一次课里学习了CSS的相关功能及使用方法,认识CSS中的颜色和字体的属性值,以及如何去使用,这些简单的入门知识,在编辑器里进行练习,基本熟悉了CSS的使用,及HTML与CSS如何连接搭建页面。哈哈哈,作为全新小白,学习内容有点多,不过愈挫愈勇哦!