文章目录
- 一、字体
 - 设置字体格式
 - 设置字体大小
 - 设置字体粗细
 - 设置字体样式
 - 设置字体颜色
 
- 二、 文本
 - 设置文本对齐方式
 - 设置文本装饰方式
 - 设置文本缩进
 - 设置文本行高
 
- 三、背景
 - 设置背景颜色
 - 设置背景图片
 - 设置背景平铺
 - 设置背景位置
 - 设置背景尺寸
 
- 四、圆角矩形
 - 五、元素的显示模式
 - 块级元素
 - 行内元素
 - 改变显示模式
 
- 六、CSS 盒模型
 - 内容
 - 内边距
 - 外边距
 - 边框会撑大盒子
 - 块级元素居中
 - 去除浏览器默认样式
 
- 七、弹性布局
 - 弹性布局
 - justify-content
 - align-items
 
一、字体
| 标签 | 含义 | 
|---|---|
| font-family | 设置字体格式 | 
| font-size | 设置字体大小 | 
| font-weight | 设置字体粗细 | 
| font-style | 设置字体样式 | 
| color | 设置字体颜色 | 
标签
<p class=".font"> 字体属性设置 </p>
 
设置字体格式
.font {
        font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;;
    }
 
- 字体名称可以使用中文, 但是不建议 (例如 font-family: “微软雅黑” )
 - 多个字体之间使用逗号分隔 (从左到右查找, 如果都找不到, 会使用默认字体)
 - 字体中有空格, 需要使用引号包裹
 
设置字体大小
.font {
        font-size: 50px;
    }
 
- 不同的浏览器默认的字号不同, 最好给定一个数值
 
设置字体粗细
.font {
        font-weight: 700;
    }
 
- 可以使用数字表示粗细 (取值范围是 100 ~ 900, 闭区间)
 - 700 表示 bold, 400 表示 normal
 
设置字体样式
.font {
        font-style: italic;
    }
 
- font-style: italic (设置为倾斜格式)
 - font-style: normal (设置为正常格式)
 
设置字体颜色
.font {
        color: red;
    }
 
color 的写法可以分为3种
- 直接输入对应颜色的单词
 - 使用 rgb(*, *, *) 
*表示 0 ~ 255之间的数字 - 使用16进制的方式表示 
  
#ffaabb格式可以简写成#fab格式- 其他格式不可以简写
 
 
二、 文本
| 标签 | 含义 | 
|---|---|
| text-align | 设置文本对齐方式 | 
| text-decoration | 设置文本装饰方式 | 
| text-indent | 设置文本缩进 | 
| line-height | 设置文本行高 | 
设置文本对齐方式
.text {
        text-align: left;
        text-align: center;
        text-align: right;
    }
 
- text-align: left 水平靠左对齐
 - text-align: center 水平居中对齐
 - text-align: right 水平靠右对齐
 
设置文本装饰方式
.text {
        text-decoration: underline;
        text-decoration: none;
        text-decoration: overline;
        text-decoration: line-through;
    }
 
- underline(下划线)
 - none(没有装饰) 通常用于去除 a 标签的下划线
 - overline(上划线)
 - line-through(删除线)
 
设置文本缩进
.text {
        text-indent: -1em;
        text-indent: 1em;
    }
 
- 缩进的单位通常是 em 
  
- 1em 表示当前元素的文字大小 (当前文字是 “你好”, 1em 则表示 “你好” 这2个文字的1个文字大小)
 
 - 缩进的值 
  
- 缩进的值为负数, 表示向左缩进
 - 缩进的值为正数, 表示向右缩进
 
 
设置文本行高
.text {
        line-height: 40px;
    }
 
行高 = 上边距 + 下边距 + 文字大小
 (其中上, 下边距是相等的. 例如行高为40px, 文字大小为18px, 则上下边距为11px)
三、背景
| 标签 | 含义 | 
|---|---|
| background-color | 设置背景颜色 | 
| background-image | 设置背景图片 | 
| background-repeat | 设置背景平铺 | 
| background-position | 设置背景位置 | 
| background-size | 设置背景尺寸 | 
设置背景颜色
.background {
		background-color: red;
		background-color: rgb(255, 0, 255);
		background-color: #ff00ff;				
	}
 
background-color 的写法可以分为3种
- 直接输入对应颜色的单词
 - 使用 rgb(*, *, *), 表示 0 ~ 255之间的数字
 - 使用16进制的方式表示 
  
- #ffaabb 格式可以简写成 #fab 格式
 - 其他格式不可以简写
 
 
设置背景图片
.background {
        background-image: url(../img/car.png);
	}
 
url 中的路径可以是绝对路径, 也可以是相对路径
设置背景平铺
.background {
        background-repeat: repeat;	
		background-repeat: no-repeat;
		background-repeat: repeat-x;
		background-repeat: repeat-y;				
	}
 
- repeat: 平铺(默认就是平铺方式)
 - no-repeat: 不平铺
 - repeat-x: 水平平铺
 - repeat-y: 垂直平铺
 
设置背景位置
.background {
        background-position: center;
	}
 
背景位置用于修改背景图片的位置
 参数有三种风格
- 方位名词
(top left, top center, top right)
(center left, center center, center right)
(bottom left, bottom center, bottom right)
注意, 如果仅规定了一个关键词, 另一个值将是 center - 精确单位
(x% y%)
第一个是水平位置, 第二个是垂直位置
左上角是 0% 0%, 右下角是 100% 100%
注意, 如果仅规定了一个关键词, 另一个值将是 50% - 混合单位
(xpos ypos)
第一个值是水平位置, 第二个值是垂直位置
左上角是 0 0
注意, 如果仅规定了一个关键词, 另一个值将是 50%
可以混合使用 % 和 position 的值 
设置背景尺寸
.background {
		background-size: 40px 60px;
		background-size: 70%;
		background-size: cover;
		background-size: contain;			
	}
 
- 具体的数值 (例如40px 60px 表示宽度为40px, 高度为60px)
 - 百分比 (根据父元素的尺寸进行百分比设置)
 - cover (将背景图扩展至足够大, 以使背景图像完全覆盖背景区域. 某些图像的部分区域可能无法显示在背景定位区域中)
 - contain (将图像扩展至最大尺寸, 以使其宽度和高度完全适应内容区域)
 
四、圆角矩形
| 标签 | 含义 | 
|---|---|
| border-radius | 设置圆角矩形 | 
div {
		width: 400px;
		height: 200px;
		border: 2px solid palegreen;
		border-radius: 200px;
	}
 
展开写法
div {
		width: 400px;
		height: 200px;
		border: 2px solid palegreen;
		/* border-radius: 200px; */
		border-top-left-radius: 200px;
		border-top-right-radius: 200px;
		border-bottom-right-radius: 100px;
		border-bottom-left-radius: 100px;
	}
 
- border - radius 是一个复合写法, 也可以分别对4个角进行设置
 - border-top-left-radius 左上角
 - border-top-right-radius 右上角
 - border-bottom-right-radius 右下角
 - border-bottom-left-radius 左下角
 
五、元素的显示模式
元素的显示模式
- 块级元素
 - 行内元素
 
块级元素
常见的块级元素
 h1 ~ h6、 p、 div、 ul、 ol、 li
块级元素的特点
- 独占一行
 - 高度, 宽度, 内外边距, 行高都可以控制
 - 宽度默认和父元素宽度相同
 - 是一个容器, 里面可以放行内元素和块级元素
 
注意事项
文字类的元素内不能使用块级元素
(例如 p 标签主要用于存放文字, 内部不能放块级元素)
行内元素
常见的行内元素
 a、 strong、b、 em、 I、 del、 s、 ins、 u、 span
行内元素的特点
- 不独占一行, 一行可以显示多个
 - 设置高度, 宽度, 行高无效
 - 左右外边距有效(上下无效), 内边距有效
 - 默认宽度就是元素本身的内容
 - 行内元素只能容纳文本和其他行内元素, 不能放块级元素
 
注意事项
a 标签中不建议再放 a 标签
a 标签可以放块级元素, 但是建议先把 a 标签转换为块级元素
行内元素与块级元素的区别
| 行内元素 | 块级元素 | 
|---|---|
| 行内元素不独占一行 | 块级元素独占一行 | 
| 行内元素不能设置宽高 | 块级元素可以设置宽高 | 
| 行内元素不能设置垂直方向的外边距 | 块级元素四个方向都能设置内外边距 | 
改变显示模式
span {
		display: block;
		display: inline;
	}
 
可以将行内元素变为块级元素, 也可以将块级元素变为行内元素
- display: block 改成块级元素
 - display: inline 改成行内元素
 
六、CSS 盒模型

- 内容 content
 - 内边距 padding
 - 边框 border
 - 外边距 margin
 
内容
div {
        width: 500px;
		height: 200px;
    }
 
通过上述代码将盒子的大小设置为宽度 500px, 高度 200px
 
div {
        width: 500px;
		height: 200px;
		max-width: 400px;
        min-height: 100px;
    }
 
设置容器最大宽度和最小高度,限制容器宽高
内边距
设置边框和内容之间的距离
div {
        padding: 5px;
		padding: 5px 10px;
		padding: 5px 10px 20px;
		padding: 5px 10px 20px 30px;
    }
 
- padding: 5px(表示四个方向内边距都是 5px)
 - padding: 5px 10px(表示上下内边距 5px, 左右内边距 10px)
 - padding: 5px 10px 20px(表示上内边距 5px, 左右内边距 10px, 下内边距 20px)
 - padding: 5px 10px 20px 30px(表示 上内边距 5px, 右内边距 10px, 下内边距 20px, 左内边距 30px)
 
外边距
控制盒子与盒子之间的距离
div {
		margin: 5px;
		margin: 5px 10px;
		margin: 5px 10px 20px;
		margin: 5px 10px 20px 30px;
	}
 
- margin: 5px(表示四个方向外边距都是 5px)
 - margin: 5px 10px(表示上下外边距 5px, 左右外边距 10px)
 - margin: 5px 10px 20px(表示上外边距 5px, 左右外边距 10px, 下外边距 20px)
 - margin: 5px 10px 20px 30px(表示上外边距 5px, 右外边距 10px, 下外边距 20px, 左外边距 30px)
 
边框会撑大盒子
加入内边距后
div {
		width: 500px;
		height: 200px;
		padding: 20px 30px;
	}
 
此时的盒子大小变为宽度 560px, 高度 240px
 
解决方法
div {
		width: 500px;
		height: 200px;
		padding: 20px 30px;
		box-sizing: border-box;
	}
 
通过 box - sizing: border-box 使边框不再撑大盒子
块级元素居中
div {
        margin-left: auto;
		margin-right: auto;
    }
 
注意事项
- margin: auto 是给块级元素用的
 - text-align 是给行内元素或行内块元素用的
 
去除浏览器默认样式
* {
		padding: 0;
		margin: 0;
	}
 
浏览器会给元素加上一些默认的样式, 尤其是内外边距. 不同浏览器的默认样式存在差别
 为了保证代码在不同的浏览器上都能按照统一的样式显示, 往往我们会去除浏览器默认样式
七、弹性布局
弹性布局
.one {
		width: 200px;
		height: 50px;
        background-color: aquamarine;
        
		display: flex;
	}
 
未开启弹性布局
 
开启弹性布局
 
justify-content
设置水平方向上的元素排列方式
.one {
		width: 600px;
		height:200px;
		background-color: aquamarine;
		display: flex;
		justify-content: flex-start;
		justify-content: flex-end;
		justify-content: center;
		justify-content: space-between;
		justify-content: space-around;	
	}
 
- flex-start(默认值, 左对齐)
 - flex-end(右对齐)
 - center(位于容器中间)
 - space-between(横向分布, 但开头和结尾没有额外空间)
 - space-around(横向分布, 但开头和结尾有额外空间)
 
flex-start

flex-end

center
 
space-between
 
space-around
 
align-items
设置垂直方向上的元素排列方式
.one {
		display: flex;
		align-items: stretch;
		align-items: center;
		align-items: flex-start;
		align-items: flex-end;
	}
 
- stretch(默认值, 行拉伸以占据剩余空间)
 - center(垂直居中)
 - flex-start(顶端对齐)
 - flex-end(底端对齐)
 
stretch
 
center
 
flex-start
 
flex-end
 


















