网页美化
字体
属性 | 描述 | 说明 |
---|---|---|
font-family |
字体类型 | \ |
font-size |
字体大小 | 像素值(10px 等)和关键字(small、medium 和 large 等) |
font-weight |
字体粗细 | 常见取值:数值(400,700)和关键字(normal,bold) |
font-style |
字体风格 | normal 正常(默认值),italic 或 oblique 斜体 |
color |
字体颜色 | \ |
font
复合属性:属性简写方式,各值之间用空格隔开。
顺序:是否倾斜style,是否加粗weight,字号size(必写),字体类型family(必写)(需要按顺序)。
1 | font: oblique blod 12px "楷体" |
文字样式
*行高 line-height
和盒子高度 height
相同时,文字会垂直居中。
属性 | 描述 | 说明 |
---|---|---|
text-indent |
首行缩进 | 数字+em(1em为当前字号) |
text-align |
水平对齐 | left 左对齐(默认值),center 居中对齐,right 右对齐 |
text-decoration |
文本修饰 | none(默认值),underline 下划线,line-through 中划线等 |
line-height |
行高 | 值为像素或数字(是当前标签字体大小的倍数) |
背景
属性 | 描述 | 说明 |
---|---|---|
background-attachment |
背景图像是否固定或者随着页面的其余部分滚动 | fixed 固定 |
background-color |
背景颜色 | \ |
background-image |
背景图片 | url(背景图url) |
background-position |
设置背景图像的起始位置 | 关键字或坐标(数字+px,正负均可),先水平后垂直,空格隔开 |
background-repeat |
设置背景图像是否及如何重复 | no-repeat 不平铺,repeat-x 水平平铺,repeat-y 垂直平铺,repeat 平铺(默认) |
background-size |
背景缩放 | 关键字,百分比或数字+px |
background
复合属性:属性简写方式,各值之间用空格隔开。
顺序:背景色,背景图,平铺方式,位置/缩放(用/连接),背景图固定(不需要按顺序)。
平面转换 transform
平面转换(transform
属性)改变盒子在平面内的形态,包括旋转、倾斜、缩放以及位移。
说明 | 属性 | 值 |
---|---|---|
平移 | transform: translate(x轴移动距离,y轴移动距离) |
像素或百分比,正负均可 |
旋转 | transform: rotate(旋转角度) |
角度+deg |
多重转换 | transform: translate() rotate() |
以第一种转换的坐标轴为准,一般先平移后旋转 |
缩放 | transform: scale() |
缩放倍数或 (x轴缩放倍数,y轴缩放倍数) |
倾斜 | transform: skew() |
角度+deg |
补充:
-
translate
只写一个数表示x轴移动,单独设置x或y轴移动可用translateX()
或translateY()
。 -
rotate
改变旋转原点:默认情况下旋转原点是盒子中心点,使用transform-origin: 水平原点位置 垂直原点位置
修改。
空间转换 transform
较平面转换多一条z轴,其他类似。旋转时左手握住旋转轴,拇指指向正值方向,四指弯曲方向为旋转正值方向。
透视效果
使用 perspective: 数值+px
实现透视效果(加给直接父级元素),实现近大远小、近实远虚的视觉效果。
立体呈现
transform-style: flat|preserve-3d;
加给父级元素,设置元素的子元素是位于 3D 空间中还是平面中。
-
flat
:设置元素的子元素位于该元素的平面中(子元素不设置3D空间) -
preserve-3d
:设置元素的子元素应用于3D空间中
动画 animation
-
定义方法
1 | @keyframes 动画名称 { |
-
使用动画
animation
:动画名称(必写),动画时长(必写),速度曲线,延迟时间,重复次数,动画方向 执行结束状态(取值不分先后)
渐变
两种渐变类型:
-
线性渐变(向下/向上/向左/向右/对角线):
to+方位名词
或角度 -
径向渐变(由其中心定义)
-
线性渐变
1 | background-image: linear-gradient( |
-
径向渐变
1 | background-image: radial-gradient( |
*半径写两条则为椭圆渐变
浮动
当一个元素浮动之后,它会被移出正常的文档流,然后向左或者向右平移,一直平移直到碰到了所处盒子的边界,或者碰到另外一个浮动的元素。浮动可以让块元素水平排列。父元素需确保足以容纳其中的浮动子元素。
属性名 float
:左对齐 left
,右对齐 right
。
清除浮动
如果不想让其他元素受到浮动元素的影响,需要清除浮动。
属性名 clear
:
-
left
元素被向下移动以清除左浮动。 -
right
元素被向下移动以清除右浮动。 -
both
元素被向下移动以清除左右浮动(最常用)。
清除浮动方法:
-
额外标签法在父元素内容的最后添加一个块级元素(一般把类名命名为
clearfix
),设置CSS属性clear
为both
。 -
单伪元素法
1
2
3
4
5.clearfix::after {
content: "";
display: block;
clear: both;
} -
双伪元素法(推荐)
1
2
3
4
5
6
7
8.clearfix::after,
.clearfix::before {
content: "";
display: table;
}
.clearfix::after {
clear: both;
} -
overflow法:父元素添加CSS属性
overflow:hidden
Flex
flex 是 flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为 flex 布局。
术语:
-
弹性容器:包含弹性项目的父元素。
-
弹性盒子,即flex项(flex item)。
-
主轴 (main axis):弹性项目排列的主要轴,默认水平方向,通过
flex-direction
更改。 -
主轴起点(main-start) | 主轴终点(main-end):弹性项目从主轴起点开始排列,直到主轴终点。
-
主轴尺寸(main size):弹性项目的宽度或高度,取决于主轴的方向。弹性项目的主尺寸属性是主维度上的
width
或height
属性。 -
侧轴/交叉轴 (cross axis):与主轴垂直的轴。其方向取决于主轴的方向。默认垂直方向。
-
交叉轴起点(cross-start) | 交叉轴终点(cross-end):弹性行(flex line)填充项目并放置在容器中,从交叉轴起点开始,向终点方向排列。
-
交叉轴尺寸(cross size):弹性项目的宽度或高度,取决于交叉轴的方向,是项目的横尺寸。横尺寸属性是横向维度上的
width
或height
属性。
父元素属性
-
给父元素设置
display:flex
,子元素可以自动挤压或拉伸。 -
主轴对齐方式:
justify-content
属性值 | 说明 |
---|---|
flex-start |
默认值,在主轴起点开始排列 |
flex-end |
在主轴的尾部开始排列 |
center |
在主轴居中显示 |
space-between |
沿主轴均匀排列,空白间距均分在中间 |
space-around |
沿主轴均匀排列,空白间距均分在两侧 |
space-evenly |
沿主轴均匀排列,弹性盒子与容器间距相同 |

-
行对齐方式
align-content
(对单行不生效)
属性值 | 说明 |
---|---|
flex-start |
默认值,从容器的起点开始排列 |
flex-end |
从容器的终点开始排列 |
center |
容器里居中显示 |
space-between |
第一行在容器的起点,最后一行在终点,空白间距均分在中间 |
space-around |
每行周围有相等的空间 |
space-evenly |
弹性盒子与容器间距相同,周围有相等的空间 |
-
侧轴对齐方式:
align-items
属性值 | 说明 |
---|---|
stretch |
默认值,拉伸以填充容器(仍然遵守最小宽度/最大宽度) |
center |
在侧轴居中显示 |
flex-start |
在起点开始排列 |
flex-end |
在尾部开始排列 |
-
主轴方向:
flex-direction
属性值 | 说明 |
---|---|
row |
(默认)水平方向从左到右 |
row-reverse |
水平方向从右到左 |
column |
垂直方向从上到下 |
column-reverse |
垂直方向从下到上 |
-
弹性盒子换行
flex-wrap
:nowrap
(默认):所有弹性项目都在一行上。wrap
:弹性项目将换行到多行,从上到下。
*默认情况下,子元素主轴方向尺寸靠内容撑开(可以用flex
给子元素单独设置),侧轴为拉伸
子元素属性
-
align-self
单独控制某个弹性盒子侧轴对齐方式 -
flex
:弹性伸缩比(控制在主轴方向的尺寸)的属性,数值表示占剩余空间的几份。
网页开发示例
logo
功能:点击跳转首页,提升搜索排名
实现方法:
-
标签结构:h1 > a > 网页名
-
CSS样式示例:
1
2
3
4
5
6
7
8.logo {
display: block;
width: 190px;
height: 40px;
background-image: url;
/* 隐藏文字 */
font-size: 0;
}
导航(nav)
功能:点击跳转页面
实现方法:
-
标签结构:ul > 多个li > a
-
CSS样式示例:
1
2
3
4
5
6
7
8.logo {
display: block;
width: 190px;
height: 40px;
background-image: url;
/* 隐藏文字 */
font-size: 0;
} -
布局思路示例:li 设置右侧 margin,a 设置左右 padding
搜索
-
标签结构:.search > input+a/bottom
- 本文链接:https://squirrelune.github.io/cn/Web%E5%BC%80%E5%8F%91/Web%E5%BC%80%E5%8F%9103/
- 许可协议: 除特殊声明外,本站博文均采用 CC BY-NC-SA 3.0 CN 许可协议,转载请注明出处!