认识CSS | 青训营笔记

67 阅读3分钟

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

CSS是什么

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

58964f11ddad694c7b1434568887176.png

在页面中使用CSS

  • 外联:在外部单独创建一个.css文件,在<head>内(不是在<style>标签内)使用<link>标签将css样式文件链接到HTML文件内,
  • 嵌入:css样式必须写在<style></style>之间,并且一般情况下嵌入式css样式写在<head></head>之间
  • 内敛(不推荐):一般都写在特定的标签元素里面来实现对元素的修改。

9609e0160da6ea3cdf2a9134d1c1594.png

CSS是如何工作的

de027ce87c4a2ac585663023b9e7b77.png

CSS选择器

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

选择器种类

通配选择器(*)

匹配所有

36e96ba277a22447498918d982292c4.png

标签选择器

用标签来设置样式

67a8f75536161df862a369364d4fe2e.png

id选择器

给一些标签设置id,通过#id来设置样式

一般情况下设置的id是唯一的一个值

b34692a06dbefea4ffcf537856fc845.png

类选择器

对于给同一类型的表现设置类型可以使用类(class)选择器

比较常用的选择器

18da8db3fa2730e3328785e035c5782.png

属性选择器

通过这个元素的属性或属性值来进行选择设置样式

ae59cfb3676f4910a07fbbfc0cef579.png

通过某个属性为特定的值来选择

019b02d14702f961e6ed71bfbc3ebae.png

通过属性的值做匹配(规则)

2eb0dc1fcf407f125deadcd2489e188.png

伪类

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

link:默认情况下所处的状态。
visited:访问过的状态。
hover:鼠标移动到上方的状态。
active:鼠标按下去之后的状态。
focus:焦点确定时的状态

0554e9ffbbd3d4aced7c131076fa643.png

first-child:父级第一个子类
last-child:父级最后一个子类

027e6c0d6a39aad668f7e4719c02b57.png

组合

e054a2fa6e0b5b8556bcef88c1bf985.png

  1. 选择器组
    使用把选择器隔开形成选择器组
body,h1,h2,h3,h4,h5,h6,ui,ol,li{
 margin:0;
 padding:0;
}
[type="checkbox"],[type="radio"]{
 box-sizing:border-box;
 padding:0;
}

颜色

22e152edc73fb97f1195bd738e803e2.png

字体

font-family

  • 字体列表最后写上通用字体族(防止浏览器无法识别)
  • 英文字体放在中文字体前面(防止英文字体效果被中文字体效果覆盖)

font-size

  • 关键字
    • small,medium,large
  • 长度
    • px,em
  • 百分数
    • 相对父元素字体大小
font: style weight size/height family
Property描述
[font]在一个声明中设置所有的字体属性
[font-family]指定文本的字体系列
[font-size]指定文本的字体大小
[font-style]指定文本的字体样式
[font-variant]以小型大写字体或者正常字体显示文本。
[font-weight]指定字体的粗细。

文字对齐方式

text-align

  • left:左对齐
  • center:居中对齐
  • right:右对齐
  • justify:两端对齐

text-decoration

描述
none默认。定义标准的文本。
underline定义文本下的一条线。
overline定义文本上的一条线。
line-through定义穿过文本下的一条线。
blink定义闪烁的文本。
inherit规定应该从父元素继承 text-decoration 属性的值。

white-space

描述
normal默认。空白会被浏览器忽略。
pre空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。
nowrap文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。
pre-wrap保留空白符序列,但是正常地进行换行。
pre-line合并空白符序列,但是保留换行符。
inherit规定应该从父元素继承 white-space 属性的值。
  1. line-height属性又称行高,指的是两行文字基线之间的距离,又可以称为这行文字所占的高度。
  2. word-spacing属性主要用于设置英文单词之间的距离。
  3. letter-spacing属性⽤来增加或减少字符或汉字之间的距离,默认值为0。
  4. text-indent属性规定文本块中首行文本的缩进。