CSS基础| 青训营笔记

79 阅读4分钟

这是我参与「第四届青训营 」笔记创作活动的的第2天

一、本节课的重点内容

CSS选择器、布局

二、详细知识点介绍

1. CSS 是什么?

Cascading Style Sheets

用来定义页面元素的样式

  • 设置字体和颜色
  • 设置位置和大小
  • 添加动画效果

包含选择器Selector,选择器 Property,属性值Value,声明Declaration

2. CSS 的使用方式

<!--- 外链 ---><link rel="stylesheet"href="/assets/style.css">
<!--- 嵌入 ---><style></style>
<!--- 内联 ---><p style="margin:1em 0">Example Content</p>

其中内联不推荐使用。

3. CSS 工作流程

image-20220725175923892.png

4. 选择器详解

找出页面中的元素,以便给他们设置样式

使用多种方式选择元素

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

4.1 通配选择器

4.2 标签选择器

元素选择器根据元素名称来选择 HTML 元素。

在这里,页面上的所有 <p> 元素都将居中对齐,并带有红色文本颜色:

p {
  text-align: center;
  color: red;
}

4.3 id选择器

id 选择器使用 HTML 元素的 id 属性来选择特定元素。

元素的 id 在页面中是唯一的,因此 id 选择器用于选择一个唯一的元素!

要选择具有特定 id 的元素,请写一个井号(#),后跟该元素的 id。

#para1
{ text-align:center;
color:red; }

4.4 类选择器

class 选择器用于描述一组元素的样式,class 选择器有别于 id 选择器,class 可以在多个元素中使用。

class 选择器在 HTML 中以 class 属性表示, 在 CSS 中,类选择器以一个点"."号显示:

在以下的例子中,所有拥有 center 类的 HTML 元素均为居中。

.center {text-align:center;}

4.5 属性选择器

5. 伪类

不基于标签和属性定位元素

几种伪类:状态伪类、结构性伪类

6. 组合

名称语法说明示例
直接组合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

组合器组:

body,h1,h2,h3,h4,h5,h6,ul,ol,li {
    margin: 0;
    padding: 0;
}
​
[type="checkbox"], [type=radio"] {
    box-sizing: border-box;
    padding: 0;
}

7. 颜色

7.1 RGB

rgb(255,255,255)

7.2 HSL

hsl(255,255,255)

Hue:色相(H)是色彩的基本属性,如红色、黄色等;取值范围是0-360。 Saturation:饱和度(S)是指色彩的鲜艳程度,越高约鲜艳;取值范围0-100%。 Lightness:亮度(L)指颜色的明亮程度;越高颜色越亮;取值范围是0-100%。

8. 字体相关的CSS

8.1 font-family 字体族

通用字体族

  • Serif 衬线体

    • Georgia、宋体
  • Sans-Serif 无衬线体

    • Arial、Helvetica、黑体、微软雅黑
  • Cursive 手写体

    • Caflisch Script、楷体
  • Fantasy

    • Comic Sans MS, Papyrus, Zapfino
  • Monospace 等宽字体

    • Consolas、Courier、中文字体

8.2 opacity 不透明度

设置元素的不透明级别

数值:0.0 (完全透明)到 1.0(完全不透明)

可选:inherit(从父元素继承 opacity 属性的值)

8.3 font-size 字体大小

可选项:small、medium、large 长度:px、em 百分数:(相对于父元素字体大小)

  • 字体列表最后写上通用字体族
  • 英文字体放在中文字体前面

8.4 line-height 行高

长度:px、em

8.5 font-weight 行高

可选项:normal、bold、bolder、lighter、inherit

数值:100-900

8.6 letter-spacing 字符间距

可选项:normal、length、inherit

数值:100-900

8.7 text-indent 首行缩进

数值

  • length定义固定的缩进。默认值:0。
  • % 定义基于父元素宽度的百分比的缩进。

可选项:inherit(规定应该从父元素继承 text-indent 属性的值)

8.8 text-decoration 下划线

可选值:none(默认。定义标准的文本)、underline(定义文本下的一条线)、overline(定义文本上的一条线)、line-through(定义穿过文本下的一条线)、blink(定义闪烁的文本)、inherit(规定应该从父元素继承 text-decoration 属性的值)

8.9 white-space

可选项:normal(默认。空白会被浏览器忽略)、pre(空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签)、nowrap(文本不会换行,文本会在在同一行上继续,直到遇到
标签为止)、pre-wrap(保留空白符序列,但是正常地进行换行。)、pre-line(合并空白符序列,但是保留换行符。)、inherit(规定应该从父元素继承 white-space 属性的值。)

9. 选择器的优先级

1、行内样式 2、ID选择器 3、class、属性、伪类选择器 4、类型和伪元素选择器

10. 继承

某些属性会自动继承其父元素的计算值,除非显式指定一个值。

11. 布局

11.1 什么是布局

  • 确定内容的大小和位置的算法
  • 依据元素、容器、兄弟节点和
  • 内容等信息来计算

11.2 布局相关技术

常规流:行级、块级、表格布局、FlexBox、Grid布局。

浮动、绝对定位

三、个人课后总结

Flex布局挺实用的