前端三件套之CSS | 青训营笔记

87 阅读2分钟

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

继前两篇HTML、JavaScript后,这篇写完之后前端三件套也就完结了。

一、CSS是什么?

  • Cascading Style Sheets
  • 用来定义页面元素的样式
    • 设置字体和颜色
    • 设置位置和大小
    • 设置动画效果

二、如何使用CSS?

CSS共有三种引入方式:

<!-- 外链 -->
<link rel="stylesheet" href="./assets/style.css">

<!-- 嵌入 -->
<style>
    li {margin: 0; list-style: none;}
    p {margin: 1em 0;}
</style>

<!-- 内联 -->
<p style="margin: 1em 0">Example Content</p>

三、CSS选择器(Selector)

通过选择器选中页面中的元素,并为其设置相应的样式。

通配选择器

* {
    margin: 0;
}

标签选择器

div {
    width: 100px;
}

id选择器

#id {
    width: 100px;
}

类选择器

.class {
    width: 100px;
}

属性选择器

[type] {
    width: 100px;
}

[type="input"] {
    width: 100px;
}

伪类选择器

::before,
::after {
    width: 100px;
}

p:first-child {
    font-size: 120%;
    font-weight: bold;
}

a:hover {
    color: hotpink;
}

四、选择器的组合

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

五、其它CSS属性

  • 字体 font-family
  • 字体 font-size
    • 关键字
      • small、medium、large
    • 长度
      • px、em
    • 百分数
      • 相对于父元素字体大小
  • 行高 line-height
  • 文本对齐 text-align
  • 缩进 text-indent
  • 文本描述 text-decoration

六、深入CSS

选择器优先级:

!important > 行内 > id > class > 属性、标签

继承:

一般关于字体的属性都是可以继承的

布局相关技术

  • 常规流
    • 行级、块级、table、flexbox、grid
  • 浮动
  • 绝对定位

盒模型

  • 标准盒模型——width 和 height 指的是内容区域的宽度和高度
  • IE盒模型——width 和 height 指的是内容区域+border+padding的宽度和高度