理解CSS|青训营笔记

97 阅读3分钟

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

了解CSS

1.CSS 用来定义页面元素的样式

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

2.在页面中使用CSS的三种方式 最常用的是第一种:外链

image.png

3.选择器

  • id选择器 唯一

  • 类选择器 class 同一类型 可以出现多次

  • 属性选择器 []

  • 通配选择器 *

  • 伪类

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

    • 几种伪类

      • 状态伪类
      • a:link{
            color:black;
        }
        ​
        a:visited{
            color:gray;
        }
        ​
        :focus{
            outline: 2px solid orange;
        }
        
      • 结构伪类

4.组合

image.png

5.选择器组

  • 通过将多个选择器构成一个组

6.颜色

image.png

  • rgba(255,0,0,1) a:alpha透明度

7.

  • 字体 font-family

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

image.png

8.调试CSS

  • 右键页面 选择检查

  • 使用快捷键

    • Ctrl(Cmd)+ Shift(Opt)+ I

深入CSS

1.选择器的优先级:

  • 内联样式 > id选择器 > 类选择器 > 标签选择器 > 通配符选择器

2.继承

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

  • 可继承 如:font、color、line-height等

  • 不可继承 如:width、height、margin等

  • 显式继承

    * {
        box-sizing : inherit;
    }
    ​
    html {
        box-sizing : border_box;
    }
    ​
    .some-widget {
        box-sizing : content-box
    }
    

3.初始值

  • CSS中,每个属性都有一个初始值

    • background-color的初始值为transparent
    • margin-left的初始值为0
  • 可以使用initial关键字显式重置为初始值

    • background-colo: initial

4.CSS求值过程

image.png

5.布局

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

image.png

  • width、height

    • 取值为长度、百分数、auto
    • auto由浏览器根据其他属性确定
    • 百分数相对于容器的conten box宽度和高度
    • 容器有指定高度时,百分数才生效
  • padding

    • 指定元素四个方向的内边距

    • 百分数相对于容器宽度

      image.png
  • border

    • 指定容器边框样式、粗细和颜色

    • 三种属性

      • border-width
      • border-style
      • border-color
    • 四个方向

      • border-top
      • border-right
      • border-bottom
      • border-left
  • margin

    • 指定元素四个方向的外边距
    • 取值可以是长度、百分数、auto
    • 百分数相对于容器宽度
  • 行级和块级

image.png

  • display属性

    block 块级盒子

    inline 行级盒子

    inline-block 本身是行级,可以放在行盒中;可以设置宽高;作为 一个整体不会被拆散成多行。

    none 排版时完全被忽略

6.常规流 Normal Flow

  • 根元素、浮动和绝对定位的元素会脱离常规流
  • 其他元素都在常规流之内(in-flow)
  • 常规流中的盒子,在某种排版上下文中参与布局

image.png

7.Flex Box

  • 一种新的排版上下文

  • 可以控制子级盒子:

    • 摆放的流向(← → ↑ ↓)
    • 摆放顺序
    • 盒子宽度和高度
    • 水平和垂直方向的对齐
    • 是否允许折行

image.png

Flex

image.png

8.Grid 布局

image.png

  • Flex:一维
  • Grid:二维

image.png

  • grid line 网格线

9.position属性 绝对定位

image.png

image.png

image.png

总结

  • 通过本次课程的学习,对我以前学习的CSS的基础知识进行了补充和完善,让我发现了之前所学的都只是冰山一角,需要掌握的知识还很多,对于前端的学习不能放松。