CSS | 青训营笔记

92 阅读3分钟

CSS | 青训营笔记

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

一、在页面中使用CSS

1.外联

<link rel="stylesheet" href="">

2.嵌入

<style>
    li {
        margin: 0;
    }
</style>

3.内联

<p style="text-align: center">kkk</p>

二、CSS的工作模式

Snipaste_2023-01-17_09-54-19.png

三、选择器selector

选择元素的方式:

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

1.通配选择器*

2.标签选择器

3.id选择器(#+idname)

id需要是页面中唯一的值,否则可能出现一些预期外的情况。

4.类选择器(.+classname)

5.属性选择器

i. 选中有该属性的标签

[disabled] {
        background: red;
        color: blue;
    }

ii.选中某属性为某特定值的标签

input[type="password"] {
        border-color: red;
        color: red;
    }

iii.选中属性值的开头为xxx的标签

a[href^='#'] {
        color: #f54767;
        backgro

iv.选中属性值的结尾为xxx的标签

a[href$='.jpg'] {
        color: #f54767;
        background: 0 center/lem;
    }

6.伪类选择器

:link 默认状态下

:visited 访问过的

:hover 鼠标移到标签上

:active 鼠标按下去

:focus 鼠标点进输入框

7.结构选择器

li:first-child {
        color: coral;
    }
    li:last-child {
        color: coral;
    }

选择器组

image.png

组合

image.png

四、常见CSS属性

1.颜色

image.png

image.png

alpha透明度

0为全透明,1为不透明

2.字体

font-family

不同设备能够接受的字体不同,一般font-family会设置多个字体,设备会从前往后进行匹配找到第一个可用的字体并使用它进行展示。一般font-family最后一个放通用字体族。

image.png

使用Web Fonts

image.png

font-size

关键字:small,medium,large

长度:px,em(表示倍数)

百分数:相对于父元素字体大小的百分比

font-style

italic 斜体

normal 正常

font-weight

权重:100-900 (从细到粗)

normal-400 bold-700

line-height

两行文字基准线之间的距离

line-height 不带单位时表示倍数(相对于字体大小)

letter-spacing & word-spacing

字母间距 和 单词间距

white-space

normal-正常

nowrap-强制不换行

pre-保留所有的空格和换行

pre-wrap 保留空格,会换行

pre-line 合并空格,会换行

五、选择器的特异度

image.png

六、继承

和文字相关的属性可以继承,和模型相关的属性不可继承(如宽度)

显式继承 inherit

image.png

初始值

image.png

七、CSS求值过程

image.png

image.png

image.png

八、布局相关技术

  • 常规流
  • 浮动
  • 绝对定位

image.png

image.png

1.height

image.png

2.padding

image.png 给一个值:四个方向的padding都是同一个值

给两个值:上下方向为第一个值,左右方向为第二个值

给四个值:按上右下左顺序依次赋值

3.border

image.png

image.png

制作小三角形

把宽高设置为0,通过设置不同的border颜色,得到四个小三角形,把其中的三个设置为透明即可。

4.margin

image.png margin:auto 水平居中

image.png 上面的标签下边距为100px,下面的标签上边距为100px,他们垂直方向的距离实际上取两者的max,即100px。

5.border-box

image.png border-box宽度=border宽度+padding宽度+内容宽度

6.overflow

  • visible: 直接显示超出部分
  • hidden: 隐藏超出部分
  • scroll: 滚动显示
  • auto: 未超出则正常显示,超出则滚动

八、块级元素和行级元素

image.png

image.png

image.png

image.png

image.png

九、Flex Box

image.png

image.png 在有空间剩余的情况下,有flex-grow属性的元素按值的比例伸展填充剩余空间。

image.png

十、grid

image.png

image.png

image.png

十一、float

image.png

十二、定位

image.png

image.png

image.png