了解CSS|青训营笔记

120 阅读4分钟

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

一、理解CSS

【什么是CSS】

0d06e68cdc406b0ad34f6e4dc42e2a9.jpg

CSS可以美化HTML,让页面更好看,让布局更简单

语法规范


48792ed1a10f6a230abcc07c230086d.jpg

在页面中使用CSS的方法

758171e5251015550278533e71a5604.jpg

  • 外链:把CSS的定义放在一个单独的文件里,用link标签引入到页面里
  • 嵌入:把样式的代码嵌入到标签里面
  • 内链:把样式直接写在这个标签的style属性中

CSS的工作流程

8a4f8885a5666381c11315bd8b4061a.jpg

选择器 Selector

  • 找出页面中的元素,以便给他们设置样式
  • 使用多种方式选择元素
    • 按照标签名、类名或id
    • 按照属性
    • 按照DOM树中的位置

通配选择器

在CSS中,通配符选择器使用“*”定义,表示选取页面中的所有元素(标签)

语法:
* {
    属性1:属性值1;
    ...
 }   
 
通配符选择器不需要调用,自动就给所有的元素使用样式
特殊情况使用,即清除所有元素标签的内外边距
* {
    margin: 0;
    padding: 0;
 }

0b7d187e74c3e7fbe681ccfa8c06544.jpg

标签选择器

语法:
标签名{
    属性1:属性值1;
    属性2:属性值2;
    属性3:属性值3;
    ...
}
f547e17d50098c605a879e2d870b729.jpg

id选择器

HTML元素以id属性来设置id选择器,CSS中id选择器以“#”来定义
注意:id属性只能在每个HTML文档中出现一次

语法:
#id名{
    属性1:属性值1;
    ...
 }   
 
例如,将idnav元素中的内容设为红色
#nav {
    color:red;
 }
62ed44ec62fe53e5e08f9b7aec650a0.jpg

类选择器

语法:
.类名{
    属性1:属性值1;
    ...
}

例如,将所有拥有red类的HTML元素均设为红色
.red {
    color:red;
 }
 类选择器在HTML中以class属性表示,在CSS中,类选择器以一个点“.”号表示。
d96a4e78b831a82d70d6f3f2c75798d.jpg

属性选择器

da1b5faf5834e41f3990e4f687f644d.jpg 286f9b83578dc71f4f4e3793796f43d.jpg

aae252742564223de41466a55721219.jpg
a[href^="#"]——以href为属性的值以#开头则会被匹配上
a[href$=".jpg"]——以href为属性的值以$结尾则会被匹配上

基础选择器总结

32b1370cca4bfd8ed2a2c9adc2ba99e.jpg

伪类 pseudo-classes

  • 不基于标签和属性定位元素
  • 几种伪类
    • 状态伪类
    • 结构性伪类

状态伪类

60386799b64258ebb75d05f71f6fe10.jpg

  • a:link ——当前状态
  • a:visited ——访问过的状态
  • a:hover ——光标经过的状态
  • a:active ——鼠标按下后的状态
  • :focus ——聚焦到输入框或链接的状态

结构性伪类

e91dd3998c52cc9481a7a4f92f2d3c1.jpg
注意:first-child 和 last-child 的用法

选择器的组合方式

a6ce52e978c9dc8060d85c81994d4b5.jpg

选择器组

aa61df2a8fb1fd913aad76ac620b18e.jpg

文本样式

颜色

  1. RGB
  2. HSL
    044e612e64cf92cd78d33180dd65b8e.jpg
  • H:红黄蓝哪种颜色
  • S:鲜艳程度(灰或鲜艳)
  • L:暗色或亮色

alpha 透明度
例:
#ff000078
rgba(255,0,0,0.47)
hsla(0,100%,50%,0.47)

字体 font-family

CSS Fonts(字体)属性用于定义字体系列、大小、粗细、和文字样式(如斜体)

字体系列

CSS使用 font-family 属性定义文本的字体系列

p ( font-family:"微软雅黑”;}
div (font-family:Arial,"Microsoft Yahei",“微软雅黑”;}
  • 尽量使用系统默认自带字体,保证在任何用户的浏览器中都能正确显示
  • 最常见的几个字体:body(font-family:'Microsoft YaHei',tahoma,arial,'Hiragino Sans GB';)
deac9912ef0529f81bdb12e5a42d19a.jpg

通用字体族

3848d603077caecba400b68fb15d99a.jpg

使用Web Fonts

7ba56bd3a75c4094688b8a57eef0c35.jpg

字体大小 font-size

  • 关键字
    • small、medium、large
  • 长度
    • px、em
  • 百分数
    • 相对于父元素字体大小
P {
    font-size: 20px;
}
  • 谷歌浏览器默认的文字大小为16px
  • 不同浏览器可能默认显示的字号大小不一致,我们尽量给一个明确值大小,不要默认大小
  • 可以给body指定整个页面文字的大小
6dca946c12038628cfb8d4630b5fef1.jpg

字体样式 font-style

p {
    font-style: normal;
}

0b2cce79dde24e849741d4518324fa3.jpg

注意:平时我们很少给文字加斜体,反而要给斜体标签(em,i)改为不倾斜字体

c13c4ea4b32b5817d64dfab7b67faa3.jpg

字体粗细 font-weight

p {
    font-weight: bold;
}
4d66ff25b8e9ab91e3210c1e3691b04.jpg 239c899950943b02f6942c06db5b63c.jpg

字体复合属性

作用:节约代码

body {
    font: font-style font-weight font-size/line-height font-family;
}
  • 使用font属性时,必须按上面语法格式中的顺序书写,不能更换顺序,并且各个属性间以空格隔开
  • 不需要设置的属性可以省略(取默认值),但必须保留font-size和font-family属性,否则font属性将不起作用

字体属性总结

3453bc090f8738bf4f9e28a21e1efed.jpg

line-height

3fe207fb63788e027b2d101b3542b0c.jpg

white-space

cf90c543ca20870888088d1a26f6401.jpg

  • normal —— 展示一个空格,合并多个空格
  • nowrap —— 强制不换行
  • pre —— 保留所有内容
  • pre-wrap —— 保留换行,且一行显示不下时自动再换行,保留所有空格
  • pre-line —— 保留换行,合并多个空格

调试 CSS

  • 右键点击页面,选择「检查
  • 使用 快捷键
    • Ctrl+Shift+I (Windows)
    • Cmd+Opt+I (Mac)

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

『温故知新,与君共勉』