走进前端技术栈 - CSS | 青训营笔记

103 阅读3分钟

这是我参与【第五届青训营】伴学笔记创作的第2天。

本节课的主题为走进前端技术栈 - CSSCSS 作为前端技术栈中关键一环,对页面元素及样式呈现起到了直接作用。本节课主要对 CSS 的工作流程及原理、页面中 CSS 使用方法等进行详细解读。

一、本堂课重点内容:

  • CSS 代码构成
  • CSS 使用方法
  • CSS 流程之选择器组、文本渲染
  • 调试 CSS

二、详细知识点介绍:

CSS是什么?

CSS用来定义页面元素的样式,如设置字体和颜色、设置位置和大小、添加动画效果。

CSS的代码基本组成

image.png

在页面中使用CSS

1.外链(推荐:内容和样式可以进行分离)

image.png
2.嵌入

image.png
直接写在head下,style标签中。

3.内联(不推荐)

image.png
不需要写选择器

CSS是如何工作的?

image.png

选择器Selector

通配选择器

*{
    //匹配所有
}

标签选择器

p{
    //通过标签来选择
}

id选择器

<h1 id="logo">
<style>
    #logo{
        //id值唯一
     }
</style>

类选择器(常用)

<h1 calss="logo">
<style>
    .logo{
        //可以赋多个样式
     }
</style>

属性选择器

<input value="11111" disabled>   //disabled表示禁用
<input type="password">
<a href="#top">
<a href="a.jpg">
<style>
    [disabled]{
        //通过属性值选择元素
     }
     input[type="password"]{     
         //
    }
    a[href^="#"]{
        //href以#开头的会被匹配上
    }
    a[href$=".jpg"]{
        //href以.jpg结尾的会被匹配上
    }
</style>

伪类(不基于标签和属性定位元素)

状态伪类

某个元素处于某类状态才会被选中。
例:有一个超链接标签
image.png
link默认为黑色
visited被访问过为灰色
hover鼠标移在上面为橘色
active鼠标按下去为红色

image.png
变化: image.png

结构伪类

通过父子节点的相对位置选中,
例:
列表:

image.png
输入框:

image.png
input.error就只对输入框生效,对span不生效。

组合

image.png
例:

image.png

image.png

  • article p //选中所有article下的p标签(拉森火山……、高于……、因为……、高于……)
  • article > p //选中article下直接的p标签(拉森火山……)
  • h2 + p //选中h2后紧跟的p标签(因为……)
选择器组

image.png

颜色

  • RGB

image.png

  • HSL

image.png

  • alpha 透明度 0-1 rgba(x,x,x,0.5)

字体 font-family

多个字体:考虑兼容性,优先级由高到低。
建议:最后一个最好加上一个通用字体,英文字体写在中文字体前面。

image.png
使用Web Fonts:可以从网络上下载字体
英文:
image.png
中文:
image.png
中文字体较大,注意裁切。

字号 font-size

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

image.png

字样 font-style

  • normal 正常
  • italic 斜体### 字重(粗细)font-weight
  • normal 正常
  • bold 加粗
    例:

image.png
注:有些字体可能不支持多种字重。

行高 line-height

image.png
组合使用

image.png
可以省略部分属性,顺序不可以变。

对齐 text-align

  • left:左对齐
  • center:居中
  • right:右对齐

文字间距 spacing

  • letter-spacing为每个字符之间的空白距离
  • word-spacing为单词之间的空白距离 中文文字下用word-spacing是没有效果的,只能用letter-spacing
    文章:letter-spacing与word-spacing的区别

首行缩进 text-indent

文本修饰 text-decoration

  • none:无装饰线(常用)
  • underlin:下划线
  • line-throu:删除线

空白符 white-space

  • normal:合并多个空白符
  • nowrap:不换行
  • pre:保留所有的(包括空格和换行)
  • pre-wrap:自动换行,保留空格
  • pre-line:自动换行,合并空格

调试CSS

右键页面,点击检查。