CSS样式巩固
今天又重新接触到了CSS,在第三天的课程里面也学到了,所以不仅重温了CSS理论知识,也让我更系统性的记住了这些样式属性的使用方法。
盒模型
CSS盒模型是网络布局的基础——每个元素表示为一个矩形盒子,矩形盒子的content、padding、border 和 margin
像是洋葱一样嵌套。当浏览器渲染一个页面的时候,它会分析哪些样式渲染到每个盒子的内容 (content) 当中,盒子周围的 “洋葱层” (padding、border、margin)有多大,以及盒子间的位置关系。在学习如何使用CSS布局之前,你需要理解盒子模型。
选择器
1、类选择器
类选择器由一个点“.”以及类后面的类名组成。类名是在HTML class文档元素属性中没有空格的任何值。由你自己选择一个名字。同样值得一提的是,文档中的多个元素可以具有相同的类名,而单个元素可以有多个类名(以空格分开多个类名的形式书写),例如:
1 | HTML代码: |
2、ID 选择器
ID选择器是由一个哈希/磅符号 (#),后面跟着给定元素的ID名称组成的。 任何元素都可以使用id属性设置唯一的ID名称。 由你自己决定选择一个ID名称是什么。 这是选择单个元素的最有效的方式。
注意:一个ID名称必须在文档中是唯一的。关于重复ID的行为是不可预测的,比如一些浏览器只是计入第一个实例,其余的将被忽略。
例如:
1 | HTML代码: |
3、组合选择器
选择器组 A,B 匹配满足A(和/或)B的任意元素(参见下方 同一规则集上的多个选择器).
后代选择器 A B 匹配B元素,满足条件:B是A的后代结点(B是A的子节点,或者A的子节点的子节点)
子选择器 A > B 匹配B元素,满足条件:B是A的直接子节点
相邻兄弟选择器 A + B 匹配B元素,满足条件:B是A的下一个兄弟节点(AB有相同的父结点,并且B紧跟在A的后面)
通用兄弟选择器 A ~ B 匹配B元素,满足条件:B是A之后的任意一个兄弟节点(AB有相同的父节点,B在A之后,但不一定是紧挨着A)
CSS字体样式
字体包括:颜色、大小、种类、装饰、样式、粗细、转换和阴影。它们各自的标签属性为:color:颜色值、font-size:xxpx、font-family:Arial(默认)、
text-decoration:none(默认)、font-style:normal(默认)、font-weight:normal(默认)、text-transform:none(默认)、text-shadow:none(默认)。其中font-size的单位可以试px、em、rem三种,font-family一般在网页中加入网页安全字体(指的是在任何浏览器都能显示出来的字体),当然我们也可以加入一个字体栈,这样浏览器就可以有多种选择了,text-decoration的属性值有none、underline(下划线)、overline(上划线)、line-through(文本中划线),text-decoration可以接收多个属性值,比如同时加入上划线和下划线,text-decoration:overline underline;同时注意 text-decoration 是一个缩写形式,它由 text-decoration-line, text-decoration-style 和 text-decoration-color 构成;font-style的属性值有normal、italic、oblique三种,font-weight的属性值有normal、bold、lighter三种,text-transform的属性值有none(无)、uppercase(转换为大写)、lowercase(转换为小写)、capitalize(首字母大写)、full-width(规定字符长度宽度相等)四种属性;可以通过包含以逗号分隔的多个阴影值,将多个阴影应用于同一文本,例如:
1 | text-shadow: -1px -1px 1px #aaa, |
CSS布局风格
1、文本对齐
text-align
属性用来控制文本如何和它所在的内容盒子对齐。可用值如下,并且在与常规文字处理器应用程序中的工作方式几乎相同:
1 | left: 左对齐文本。 |
2、行高
line-height
属性设置文本每行之间的高,可以接受大多数单位 length and size units,不过也可以设置一个无单位的值,作为乘数,通常这种是比较好的做法。无单位的值乘以 font-size 来获得 line-height。当行与行之间拉开空间,正文文本通常看起来更好更容易阅读。推荐的行高大约是 1.5–2 (双倍间距。) 所以要把我们的文本行高设置为字体高度的1.5倍,你可以使用这个:
line-height: 1.5;
3、字母和单词间距
letter-spacing
和word-spacing
属性允许你设置你的文本中的字母与字母之间的间距、或是单词与单词之间的间距。你不会经常使用它们,但是可能可以通过它们,来获得一个特定的外观,或者让较为密集的文字更加可读。它们可以接受大多数单位 length and size units.
其他一些值得看一下的属性
Font 样式:
1 | font-variant: 在小型大写字母和普通文本选项之间切换。 |
文本布局样式:
1 | text-indent: 指定文本内容的第一行前面应该留出多少的水平空间。 |
Font 简写
许多字体的属性也可以通过 font 的简写方式来设置 . 这些是按照以下顺序来写的: font-style, font-variant, font-weight, font-stretch, font-size, line-height, and font-family.
,在所有这些属性中,只有 font-size
和font-family
是一定要指定的。