type
status
date
slug
summary
tags
category
icon
password
HTML + CSS 详解
阶段目标:掌握HTML、CSS常用布局技巧,能够独立制作网页。
day01:HTML 基础
目标:掌握标签基本语法,能够独立布局文章页。
01-今日课程介绍
今日目标:掌握标签基本语法,能够独立布局文章页。
核心技术点
- 网页组成
- 排版标签
- 多媒体标签及属性
- 综合案例一 - 个人简介
![notion image](https://img.lvems.top/img/202312091650441.webp?t=c0af7b4c-72a3-41fa-9fe9-03a1afe51129)
- 综合案例二 - Vue 简介
![notion image](https://img.lvems.top/img/202312091650856.webp?t=1b6b42ce-f6b3-47c1-9559-1af0e8876a75)
02-标签语法
HTML 超文本标记语言——HyperText Markup Language。
- 超文本:链接
- 标记:标签,带尖括号的文本
![notion image](https://img.lvems.top/img/202312091650299.webp?t=c302e67c-42b1-43b5-8474-e01142d120ce)
标签结构
- 标签要成对出现,中间包裹内容
- <>里面放英文字母(标签名)
- 结束标签比开始标签多 /
- 标签分类:双标签和单标签
![notion image](https://img.lvems.top/img/202312091651486.webp?t=501bfef1-749d-4588-98f2-5a214266333e)
03-HTML骨架
- html:整个网页
- head:网页头部,用来存放给浏览器看的信息,例如 CSS
- title:网页标题
- body:网页主体,用来存放给用户看的信息,例如图片、文字
提示VS Code 可以快速生成骨架:在 HTML 文件(.html)中,!(英文)配合 Enter / Tab 键
04-标签的关系
作用:明确标签的书写位置,让代码格式更整齐
- 父子关系(嵌套关系):子级标签换行且缩进(Tab键)
![notion image](https://img.lvems.top/img/202312091651129.webp?t=7bfcd7df-828c-4d00-b395-31781322b37d)
- 兄弟关系(并列关系):兄弟标签换行要对齐
![notion image](https://img.lvems.top/img/202312091651575.webp?t=7ce06c3f-b7e6-4f6e-a44f-99d335bd5f0f)
05-注释
概念:注释是对代码的解释和说明,能够提高程序的可读性,方便理解、查找代码。
注释不会再浏览器中显示。
在 VS Code 中,添加 / 删除注释的快捷键:Ctrl + /
06-标题标签
一般用在新闻标题、文章标题、网页区域名称、产品名称等等。
显示特点:
- 文字加粗
- 字号逐渐减小
- 独占一行(换行)
经验
- h1 标签在一个网页中只能用一次,用来放新闻标题或网页的 logo
- h2 ~ h6 没有使用次数的限制
07-段落标签
一般用在新闻段落、文章段落、产品描述信息等等。
显示特点:
- 独占一行
- 段落之间存在间隙
08-换行和水平线
- 换行:br
- 水平线:hr
09-文本格式化标签
作用:为文本添加特殊格式,以突出重点。常见的文本格式:加粗、倾斜、下划线、删除线等。
![notion image](https://img.lvems.top/img/202312091651742.webp?t=9239d35d-274b-44ee-9fc0-186eb2725a9a)
提示:strong、em、ins、del 标签自带强调含义(语义)。
10-图像标签
作用:在网页中插入图片
src用于指定图像的位置和名称,是 <img> 的必须属性。
图像属性
![notion image](https://img.lvems.top/img/202312091651739.webp?t=24809610-773d-455f-aa82-85cf89961f90)
属性语法
- 属性名="属性值"
- 属性写在尖括号里面,标签名后面,标签名和属性之间用空格隔开,不区分先后顺序
![notion image](https://img.lvems.top/img/202312091651842.webp?t=fcd8a8ec-03cd-4566-afcc-f889c92e98c8)
11-路径
概念:路径指的是查找文件时,从起点到终点经历的路线。
路径分类:
- 相对路径:从当前文件位置出发查找目标文件
- 绝对路径:从盘符出发查找目标文件
- Windows 电脑从盘符出发
- Mac 电脑从根目录出发
相对路径
查找方式:从当前文件位置出发查找目标文件
特殊符号:
- / 表示进入某个文件夹里面 → 文件夹名/
- *. ** 表示当前文件所在文件夹 → ./
- .. 表示当前文件的上一级文件夹 → ../
![notion image](https://img.lvems.top/img/202312091651809.webp?t=74de06dc-b278-485f-beb5-782ea6c7ad04)
绝对路径
查找方式:Windows 电脑从盘符出发;Mac 电脑从根目录(/)出发
提示
- Windows 默认是 \ ,其他系统是 /,建议统一写为 /
- 特殊的绝对路径 → 文件的在线网址:https://www.itheima.com/images/logo.png ",应用场景:网页底部友情链接
![notion image](https://img.lvems.top/img/202312091651781.webp?t=2cb78692-3de3-4746-b7aa-6de0dbba99f2)
12-超链接标签
作用:点击跳转到其他页面。
href 属性值是跳转地址,是超链接的必须属性。
超链接默认是在当前窗口跳转页面,添加 target="_blank" 实现新窗口打开页面。
拓展:开发初期,不确定跳转地址,则 href 属性值写为 #,表示空链接,页面不会跳转,在当前页面刷新一次。
13-音频
常用属性
![notion image](https://img.lvems.top/img/202312091651386.webp?t=2bed0187-0d90-47e8-abac-9ebb83e80043)
拓展:书写 HTML5 属性时,如果属性名和属性值相同,可以简写为一个单词。
14-视频
常用属性
![notion image](https://img.lvems.top/img/202312091651601.webp?t=c49b3f86-3692-4b4a-ba03-6f45d1bf7e32)
15-综合案例一-个人简介
网页制作思路:从上到下,先整体再局部,逐步分析制作分析内容 → 写代码 → 保存 → 刷新浏览器,看效果
![notion image](https://img.lvems.top/img/202312091651133.webp?t=38823148-5006-4577-9888-e65ed351c365)
16-综合案例二-Vue简介
![notion image](https://img.lvems.top/img/202312091651544.webp?t=d909285e-3037-45e6-b812-31754b83ea58)
day02:列表、表格、表单
目标:掌握嵌套关系标签的写法,使用列表标签布局网页
01-列表
作用:布局内容排列整齐的区域。
列表分类:无序列表、有序列表、定义列表。
无序列表
作用:布局排列整齐的不需要规定顺序的区域。
标签:ul 嵌套 li,ul 是无序列表,li 是列表条目。
注意事项:
- ul 标签里面只能包裹 li 标签
- li 标签里面可以包裹任何内容
有序列表
作用:布局排列整齐的需要规定顺序的区域。
标签:ol 嵌套 li,ol 是有序列表,li 是列表条目。
注意事项:
- ol 标签里面只能包裹 li 标签
- li 标签里面可以包裹任何内容
定义列表
标签:dl 嵌套 dt 和 dd,dl 是定义列表,dt 是定义列表的标题,dd 是定义列表的描述 / 详情。
![notion image](https://img.lvems.top/img/202312091653547.webp?t=fe258075-8c45-473f-acc8-20d5b728d54d)
注意事项:
- dl 里面只能包含dt 和 dd
- dt 和 dd 里面可以包含任何内容
02-表格
网页中的表格与 Excel 表格类似,用来展示数据。
![notion image](https://img.lvems.top/img/202312091653619.webp?t=2490a451-7c98-4d4e-acef-1fe15da20ff3)
基本使用
标签:table 嵌套 tr,tr 嵌套 td / th。
![notion image](https://img.lvems.top/img/202312091653575.webp?t=cddac2c5-eb3d-447c-827d-82420f151847)
提示:在网页中,表格默认没有边框线,使用 border 属性可以为表格添加边框线。
表格结构标签-了解
作用:用表格结构标签把内容划分区域,让表格结构更清晰,语义更清晰。
![notion image](https://img.lvems.top/img/202312091653106.webp?t=8c9ecbd6-77cc-4cc3-a88c-880aca87a395)
提示:表格结构标签可以省略。
合并单元格
作用:将多个单元格合并成一个单元格,以合并同类信息。
![notion image](https://img.lvems.top/img/202312091653284.webp?t=6c442a1f-c798-480c-986d-528f048e83f2)
合并单元格的步骤:
- 明确合并的目标
- 保留最左最上的单元格,添加属性(取值是数字,表示需要合并的单元格数量)
- 跨行合并,保留最上单元格,添加属性 rowspan
- 跨列合并,保留最左单元格,添加属性 colspan
- 删除其他单元格
注意:不能跨表格结构标签合并单元格(thead、tbody、tfoot)。
03-表单
作用:收集用户信息。
使用场景:
- 登录页面
- 注册页面
- 搜索区域
input 标签
input 标签 type 属性值不同,则功能不同。
![notion image](https://img.lvems.top/img/202312091653838.webp?t=08755ccb-c9ee-469d-8b69-9faae51dbd2d)
input 标签占位文本
占位文本:提示信息,文本框和密码框都可以使用。
单选框
常用属性
![notion image](https://img.lvems.top/img/202312091653954.webp?t=b380a691-cb45-46ac-b99e-0a6cce43acb2)
提示:name 属性值自定义。
上传文件
默认情况下,文件上传表单控件只能上传一个文件,添加 multiple 属性可以实现文件多选功能。
多选框
多选框也叫复选框,默认选中:checked。
下拉菜单
![notion image](https://img.lvems.top/img/202312091653565.webp?t=e578bac4-70f8-46c4-8c64-db145065e293)
标签:select 嵌套 option,select 是下拉菜单整体,option是下拉菜单的每一项。
默认显示第一项,selected 属性实现默认选中功能。
文本域
作用:多行输入文本的表单控件。
![notion image](https://img.lvems.top/img/202312091654109.webp?t=f9c2538d-e821-40a9-803d-229dcdf2ac06)
注意点:
- 实际开发中,使用 CSS 设置 文本域的尺寸
- 实际开发中,一般禁用右下角的拖拽功能
label 标签
作用:网页中,某个标签的说明文本。
![notion image](https://img.lvems.top/img/202312091654947.webp?t=182e1c5e-9a65-4f26-831e-b274114611f4)
经验:用 label 标签绑定文字和表单控件的关系,增大表单控件的点击范围。
![notion image](https://img.lvems.top/img/202312091654381.webp?t=f09cff7a-788b-4eb6-a0b2-793c4c075f6e)
- 写法一
- label 标签只包裹内容,不包裹表单控件
- 设置 label 标签的 for 属性值 和表单控件的 id 属性值相同
- 写法二:使用 label 标签包裹文字和表单控件,不需要属性
提示:支持 label 标签增大点击范围的表单控件:文本框、密码框、上传文件、单选框、多选框、下拉菜单、文本域等等。
按钮
![notion image](https://img.lvems.top/img/202312091654964.webp?t=ab9d9ddd-4a4e-46f5-b5de-d95ab96b8c70)
提示:按钮需配合 form 标签(表单区域)才能实现对应的功能。
04-语义化
无语义的布局标签
作用:布局网页(划分网页区域,摆放内容)
- div:独占一行
- span:不换行
有语义的布局标签
![notion image](https://img.lvems.top/img/202312091654484.webp?t=565b6065-2d64-4a5b-8c44-b9aa9bc56efd)
05-字符实体
![notion image](https://img.lvems.top/img/202312091654377.webp?t=a44d5748-d620-4aa6-94c0-bed0e5cac04d)
06-综合案例一-体育新闻列表
![notion image](https://img.lvems.top/img/202312091654613.webp?t=f9558440-4482-4646-9535-2be36b59d4a3)
07-综合案例二-注册信息
![notion image](https://img.lvems.top/img/202312091654860.webp?t=0669bc87-64ff-4637-9d29-3149b7543144)
day03-CSS基础
目标:掌握 CSS 属性基本写法,能够使用文字相关属性美化文章页。
01-CSS初体验
层叠样式表 (Cascading Style Sheets,缩写为 CSS),是一种 样式表 语言,用来描述 HTML 文档的呈现(美化内容)。
书写位置:title 标签下方添加 style 双标签,style 标签里面书写 CSS 代码。
提示:属性名和属性值成对出现 → 键值对。
02-CSS引入方式
- 内部样式表:学习使用
- CSS 代码写在 style 标签里面
- 外部样式表:开发使用
- CSS 代码写在单独的 CSS 文件中(.css)
- 在 HTML 使用 link 标签引入
- 行内样式:配合 JavaScript 使用
- CSS 写在标签的 style 属性值里
03-选择器
作用:查找标签,设置样式。
标签选择器
标签选择器:使用标签名作为选择器 → 选中同名标签设置相同的样式。
例如:p, h1, div, a, img......
注意:标签选择器无法差异化同名标签的显示效果。
类选择器
作用:查找标签,差异化设置标签的显示效果。
步骤:
- 定义类选择器 → .类名
- 使用类选择器 → 标签添加 class="类名"
注意:
- 类名自定义,不要用纯数字或中文,尽量用英文命名
- 一个类选择器可以供多个标签使用
- 一个标签可以使用多个类名,类名之间用空格隔开
开发习惯:类名见名知意,多个单词可以用 - 连接,例如:news-hd。
id选择器
作用:查找标签,差异化设置标签的显示效果。
场景:id 选择器一般配合 JavaScript 使用,很少用来设置 CSS 样式
步骤:
- 定义 id 选择器 → #id名
- 使用 id 选择器 → 标签添加 id= "id名"
规则:同一个 id 选择器在一个页面只能使用一次。
通配符选择器
作用:查找页面所有标签,设置相同样式。
通配符选择器: *,不需要调用,浏览器自动查找页面所有标签,设置相同的样式
经验:通配符选择器可以用于清除标签的默认样式,例如:标签默认的外边距、内边距。
![notion image](https://img.lvems.top/img/202312091655623.webp?t=68d41ff6-367d-48f9-b9ff-673548afe930)
04-盒子尺寸和背景色
![notion image](https://img.lvems.top/img/202312091655555.webp?t=edadd3fa-2242-49f6-86af-89f10d1e9554)
05-文字控制属性
字体大小
- 属性名:font-size
- 属性值:文字尺寸,PC 端网页最常用的单位 px
经验:谷歌浏览器默认字号是16px。
字体样式(是否倾斜)
作用:清除文字默认的倾斜效果
属性名:font-style
属性值
- 正常(不倾斜):normal
- 倾斜:italic
行高
作用:设置多行文本的间距
属性名:line-height
属性值
- 数字 + px
- 数字(当前标签font-size属性值的倍数)
![notion image](https://img.lvems.top/img/202312091655596.webp?t=1bce5f50-aec3-40e4-97bc-3d9c2a0fc003)
行高的测量方法:从一行文字的最顶端(最底端)量到下一行文字的最顶端(最底端)。
单行文字垂直居中
垂直居中技巧:行高属性值等于盒子高度属性值
注意:该技巧适用于单行文字垂直居中效果
字体族
属性名:font-family
属性值:字体名
拓展(了解):font-family属性值可以书写多个字体名,各个字体名用逗号隔开,执行顺序是从左向右依次查找
- font-family 属性最后设置一个字体族名,网页开发建议使用无衬线字体
![notion image](https://img.lvems.top/img/202312091655918.webp?t=cdfebe89-a290-4c4d-855f-104c419a7411)
font复合属性
使用场景:设置网页文字公共样式
![notion image](https://img.lvems.top/img/202312091655644.webp?t=87d26a7b-f9b5-4ba2-8247-2515b9dc36f3)
复合属性:属性的简写方式,一个属性对应多个值的写法,各个属性值之间用空格隔开。
font: 是否倾斜 是否加粗 字号/行高 字体(必须按顺序书写)
注意:字号和字体值必须书写,否则 font 属性不生效 。
文本缩进
属性名:text-indent
属性值:
- 数字 + px
- 数字 + em(推荐:1em = 当前标签的字号大小)
文本对齐方式
作用:控制内容水平对齐方式
属性名:text-align
![notion image](https://img.lvems.top/img/202312091655011.webp?t=02a918e2-99f6-4cbf-847b-8338ff4ae888)
text-align本质是控制内容的对齐方式,属性要设置给内容的父级。
文本修饰线
属性名: text-decoration
![notion image](https://img.lvems.top/img/202312091655894.webp?t=afc57e84-828b-4ed7-aa04-374efa0e43b3)
color 文字颜色
![notion image](https://img.lvems.top/img/202312091656504.webp?t=9972ca4b-6f87-41eb-b27d-b1e037d8841f)
提示:只要属性值为颜色,都可以使用上述四种颜色表示方式,例如:背景色。
06-调试工具
作用:检查、调试代码;帮助程序员发现代码问题、解决问题
- 打开调试工具
- 浏览器窗口内任意位置 / 选中标签 → 鼠标右键 → 检查
- F12
- 使用调试工具
![notion image](https://img.lvems.top/img/202312091656267.webp?t=d7075e13-27ec-4346-a641-dba3b739d612)
07-综合案例一-新闻详情
网页制作思路:
- 从上到下,先整体再局部
- 先标签,再 CSS 美化
![notion image](https://img.lvems.top/img/202312091656593.webp?t=2e22ed68-0f1f-4199-96f5-1ded6150b8f3)
HTML标签
CSS样式
08-综合案例二-CSS简介
![notion image](https://img.lvems.top/img/202312091656728.webp?t=3550da82-77c8-40b6-8956-eef61d5785d7)
HTML标签
CSS样式
day04-CSS进阶
目标:掌握复合选择器作用和写法;使用background属性添加背景效果
01-复合选择器
定义:由两个或多个基础选择器,通过不同的方式组合而成。
作用:更准确、更高效的选择目标元素(标签)。
后代选择器
后代选择器:选中某元素的后代元素。
选择器写法:父选择器 子选择器 { CSS 属性},父子选择器之间用空格隔开。
子代选择器
子代选择器:选中某元素的子代元素(最近的子级)。
选择器写法:父选择器 > 子选择器 { CSS 属性},父子选择器之间用 > 隔开。
并集选择器
并集选择器:选中多组标签设置相同的样式。
选择器写法:选择器1, 选择器2, …, 选择器N { CSS 属性},选择器之间用 , 隔开。
交集选择器
交集选择器:选中同时满足多个条件的元素。
选择器写法:选择器1选择器2 { CSS 属性},选择器之间连写,没有任何符号。
注意:如果交集选择器中有标签选择器,标签选择器必须书写在最前面。
伪类选择器
伪类选择器:伪类表示元素状态,选中元素的某个状态设置样式。
鼠标悬停状态:选择器:hover { CSS 属性 }
超链接伪类
![notion image](https://img.lvems.top/img/202312091657281.webp?t=d2c6c4d2-29a9-4433-a0a8-214e5149a2db)
提示:如果要给超链接设置以上四个状态,需要按 LVHA 的顺序书写。经验:工作中,一个 a 标签选择器设置超链接的样式, hover状态特殊设置
02-CSS特性
CSS特性:化简代码 / 定位问题,并解决问题
- 继承性
- 层叠性
- 优先级
继承性
继承性:子级默认继承父级的文字控制属性。
![notion image](https://img.lvems.top/img/202312091657796.webp?t=224ce22b-6dcf-4bb0-87cd-88c0487db832)
注意:如果标签有默认文字样式会继承失败。 例如:a 标签的颜色、标题的字体大小。
层叠性
特点:
- 相同的属性会覆盖:后面的 CSS 属性覆盖前面的 CSS 属性
- 不同的属性会叠加:不同的 CSS 属性都生效
注意:选择器类型相同则遵循层叠性,否则按选择器优先级判断。
优先级
优先级:也叫权重,当一个标签使用了多种选择器时,基于不同种类的选择器的匹配规则。
基础选择器
规则:选择器优先级高的样式生效。
公式:通配符选择器 < 标签选择器 < 类选择器 < id选择器 < 行内样式 < !important
复合选择器-叠加
叠加计算:如果是复合选择器,则需要权重叠加计算。
公式:(每一级之间不存在进位)
![notion image](https://img.lvems.top/img/202312091657840.webp?t=3e8ec06d-fd41-4539-b0f5-09908f0ace8c)
规则:
- 从左向右依次比较选个数,同一级个数多的优先级高,如果个数相同,则向后比较
- !important 权重最高
- 继承权重最低
03-Emmet 写法
Emmet写法:代码的简写方式,输入缩写 VS Code 会自动生成对应的代码。
- HTML标签
![notion image](https://img.lvems.top/img/202312091658122.webp?t=bdf02732-bc78-448e-9c4b-cd8c52181577)
- CSS:大多数简写方式为属性单词的首字母
![notion image](https://img.lvems.top/img/202312091658763.webp?t=5a77ae72-80eb-40cf-b8e9-db9b3917e110)
04-背景属性
![notion image](https://img.lvems.top/img/202312091658354.webp?t=12b3fb91-6ae8-40cb-92aa-3206caeb3993)
背景图
网页中,使用背景图实现装饰性的图片效果。
- 属性名:background-image(bgi)
- 属性值:url(背景图 URL)
提示:背景图默认有平铺(复制)效果。
平铺方式
属性名:background-repeat(bgr)
![notion image](https://img.lvems.top/img/202312091658987.webp?t=a56142c8-1a9f-4f9f-acca-288c5d4cc8a6)
背景图位置
属性名:background-position(bgp)
属性值:水平方向位置 垂直方向位置
- 关键字
![notion image](https://img.lvems.top/img/202312091658751.webp?t=c8772fef-23c2-438c-8ad8-60a79f09dd83)
- 坐标
- 水平:正数向右;负数向左
- 垂直:正数向下;负数向上
提示:
- 关键字取值方式写法,可以颠倒取值顺序
- 可以只写一个关键字,另一个方向默认为居中;数字只写一个值表示水平方向,垂直方向为居中
背景图缩放
作用:设置背景图大小
属性名:background-size(bgz)
常用属性值:
- 关键字
- cover:等比例缩放背景图片以完全覆盖背景区,可能背景图片部分看不见
- contain:等比例缩放背景图片以完全装入背景区,可能背景区部分空白
- 百分比:根据盒子尺寸计算图片大小
- 数字 + 单位(例如:px)
提示:工作中,图片比例与盒子比例相同,使用 cover 或 contain 缩放背景图效果相同。
背景图固定
作用:背景不会随着元素的内容滚动。
属性名:background-attachment(bga)
属性值:fixed
背景复合属性
属性名:background(bg)
属性值:背景色 背景图 背景图平铺方式 背景图位置/背景图缩放 背景图固定(空格隔开各个属性值,不区分顺序)
05-显示模式
显示模式:标签(元素)的显示方式。
![notion image](https://img.lvems.top/img/202312091658744.webp?t=d86adb99-d1be-45e8-afcd-2a1af73edae0)
作用:布局网页的时候,根据标签的显示模式选择合适的标签摆放内容。
块级元素
特点:
- 独占一行
- 宽度默认是父级的100%
- 添加宽高属性生效
![notion image](https://img.lvems.top/img/202312091658242.webp?t=1498a6e6-f96f-468e-aa1f-7509afdf77fd)
行内元素
特点:
- 一行可以显示多个
- 设置宽高属性不生效
- 宽高尺寸由内容撑开
![notion image](https://img.lvems.top/img/202312091658830.webp?t=76c6ece6-204b-4047-900e-548771616d9d)
行内块元素
特点:
- 一行可以显示多个
- 设置宽高属性生效
- 宽高尺寸也可以由内容撑开
![notion image](https://img.lvems.top/img/202312091659477.webp?t=a3cde2ad-758d-4da0-a8ad-290f00ea919d)
转换显示模式
属性:display
![notion image](https://img.lvems.top/img/202312091659152.webp?t=36e3ceab-5275-4b3a-a38f-709f11a27606)
06-综合案例一-热词
![notion image](https://img.lvems.top/img/202312091659087.webp?t=d8ac39a6-a4d8-4bc4-b3a3-409a3128bf85)
HTML标签
CSS样式
07-综合案例二 – banner 效果
![notion image](https://img.lvems.top/img/202312091659418.webp?t=97e843b9-10e4-491c-a564-f77534a4aac8)
HTML标签
CSS样式
day05-盒子模型
目标:掌握盒子模型组成部分,使用盒子模型布局网页区域
01-选择器
结构伪类选择器
基本使用
作用:根据元素的结构关系查找元素。
![notion image](https://img.lvems.top/img/202312091659466.webp?t=628b4bc2-b54e-4595-982b-414a55238266)
:nth-child(公式)
![notion image](https://img.lvems.top/img/202312091659211.webp?t=e06064b7-52c0-4c66-b543-db759104238e)
提示:公式中的n取值从 0 开始。
伪元素选择器
作用:创建虚拟元素(伪元素),用来摆放装饰性的内容。
![notion image](https://img.lvems.top/img/202312091700783.webp?t=19a88e7b-055a-4615-87e2-f42a53dd3a63)
![notion image](https://img.lvems.top/img/202312091700479.webp?t=c443e2b9-5899-49e9-ac8e-6ea23523b0b5)
注意点:
- 必须设置 content: ””属性,用来 设置伪元素的内容,如果没有内容,则引号留空即可
- 伪元素默认是行内显示模式
- 权重和标签选择器相同
02-PxCook
PxCook(像素大厨) 是一款切图设计工具软件。支持PSD文件的文字、颜色、距离自动智能识别。
- 开发面板(自动智能识别)
- 设计面板(手动测量尺寸和颜色)
使用方法:创建项目 → 输入 项目名称、项目类型 Web → 单击按钮【创建项目】 → 单击按钮【添加】,导入设计稿
![notion image](https://img.lvems.top/img/202312091700686.webp?t=1ecccaa6-b506-47d3-9db9-0a7e211285e7)
03-盒子模型
作用:布局网页,摆放盒子和内容。
盒子模型-组成
- 内容区域 – width & height
- 内边距 – padding(出现在内容与盒子边缘之间)
- 边框线 – border
- 外边距 – margin(出现在盒子外面)
![notion image](https://img.lvems.top/img/202312091700967.webp?t=7e79618c-b9bc-4ceb-9847-950251c55256)
![notion image](https://img.lvems.top/img/202312091700154.webp?t=141ccecb-c612-4000-96b0-96b3789fe88a)
边框线
四个方向
属性名:border(bd)
属性值:边框线粗细 线条样式 颜色(不区分顺序)
![notion image](https://img.lvems.top/img/202312091700773.webp?t=d2e1302e-4750-471c-9db2-3d4cab4eef28)
单方向边框线
属性名:border-方位名词(bd+方位名词首字母,例如,bdl)
属性值:边框线粗细 线条样式 颜色(不区分顺序)
内边距
作用:设置 内容 与 盒子边缘 之间的距离。
- 属性名:padding / padding-方位名词
提示:添加 padding 会撑大盒子。
- padding 多值写法
![notion image](https://img.lvems.top/img/202312091700550.webp?t=7d75a7bc-39ec-451a-b926-84e4cace435d)
技巧:从上开始顺时针赋值,当前方向没有数值则与对面取值相同。
尺寸计算
![notion image](https://img.lvems.top/img/202312091700634.webp?t=37c45b70-98c2-4d87-b949-feee91955587)
默认情况:盒子尺寸 = 内容尺寸 + border 尺寸 + 内边距尺寸
结论:给盒子加 border / padding 会撑大盒子
解决:
- 手动做减法,减掉 border / padding 的尺寸
- 內减模式:box-sizing: border-box
外边距
作用:拉开两个盒子之间的距离
属性名:margin
提示:与 padding 属性值写法、含义相同
版心居中
![notion image](https://img.lvems.top/img/202312091700527.webp?t=09df714d-7c95-4324-bd1b-af595eb068ae)
左右 margin 值 为 auto(盒子要有宽度)
清除默认样式
![notion image](https://img.lvems.top/img/202312091700453.webp?t=415b674a-d54b-413f-82d3-f058dc13f52f)
清除标签默认的样式,比如:默认的内外边距。
![notion image](https://img.lvems.top/img/202312091701528.webp?t=f1f919cc-6520-499a-8da2-8698eef91708)
元素溢出
作用:控制溢出元素的内容的显示方式。
属性名:overflow
![notion image](https://img.lvems.top/img/202312091701098.webp?t=2b8b1b47-99d0-4986-8cc5-b8c599974239)
外边距问题
合并现象
场景:垂直排列的兄弟元素,上下 margin 会合并
现象:取两个 margin 中的较大值生效
![notion image](https://img.lvems.top/img/202312091701358.webp?t=d3a67a08-f52f-4b89-b7e5-b983c765bf91)
外边距塌陷
场景:父子级的标签,子级的添加 上外边距 会产生塌陷问题
现象:导致父级一起向下移动
![notion image](https://img.lvems.top/img/202312091701608.webp?t=4b8265cd-42a0-43a0-9602-df37c049353e)
解决方法:
- 取消子级margin,父级设置padding
- 父级设置 overflow: hidden
- 父级设置 border-top
行内元素 – 内外边距问题
场景:行内元素添加 margin 和 padding,无法改变元素垂直位置
解决方法:给行内元素添加 line-height 可以改变垂直位置
圆角
作用:设置元素的外边框为圆角。
属性名:border-radius
属性值:数字+px / 百分比
提示:属性值是圆角半径
![notion image](https://img.lvems.top/img/202312091701142.webp?t=b4da6e44-1b78-4e29-9d52-0571fbce1c0a)
- 多值写法
![notion image](https://img.lvems.top/img/202312091701292.webp?t=81adcfb1-1e8b-42e3-974d-d86e15c66613)
技巧:从左上角开始顺时针赋值,当前角没有数值则与对角取值相同。
- 正圆形状:给正方形盒子设置圆角属性值为 宽高的一半 / 50%
![notion image](https://img.lvems.top/img/202312091701263.webp?t=89d8589d-5201-47eb-ab74-8f35e8e98c92)
- 胶囊形状:给长方形盒子设置圆角属性值为 盒子高度的一半
![notion image](https://img.lvems.top/img/202312091702295.webp?t=c9864fa9-1371-4168-8d0b-bf13badae844)
盒子阴影(拓展)
作用:给元素设置阴影效果
属性名:box-shadow
属性值:X 轴偏移量 Y 轴偏移量 模糊半径 扩散半径 颜色 内外阴影
注意:
- X 轴偏移量 和 Y 轴偏移量 必须书写
- 默认是外阴影,内阴影需要添加 inset
04-综合案例-产品卡片
![notion image](https://img.lvems.top/img/202312091702746.webp?t=2be439ff-51e5-48d6-8bd3-be1c78add903)
CSS 书写顺序:
- 盒子模型属性
- 文字样式
- 圆角、阴影等修饰属性
HTML标签
CSS样式
05-综合案例二 – 新闻列表
![notion image](https://img.lvems.top/img/202312091702046.webp?t=98f0703d-189c-4b02-8450-41c8383cdcbf)
整体布局
标题区域
内容区域
day06-Flex布局
目标:熟练使用 Flex 完成结构化布局
01-标准流
标准流也叫文档流,指的是标签在页面中默认的排布规则,例如:块元素独占一行,行内元素可以一行显示多个。
![notion image](https://img.lvems.top/img/202312091702672.webp?t=63edcc37-a639-4061-bfd7-7b0680c084f3)
02-浮动
基本使用
作用:让块元素水平排列。
属性名:float
属性值
- left:左对齐
- right:右对齐
特点:
- 浮动后的盒子顶对齐
- 浮动后的盒子具备行内块特点
- 浮动后的盒子脱标,不占用标准流的位置
产品区域布局
![notion image](https://img.lvems.top/img/202312091703839.webp?t=a3650e40-8a6c-4037-b29e-9e66f2600999)
HTML标签
CSS样式
清除浮动
场景:浮动元素会脱标,如果父级没有高度,子级无法撑开父级高度(可能导致页面布局错乱)
解决方法:清除浮动(清除浮动带来的影响)
场景搭建
![notion image](https://img.lvems.top/img/202312091703214.webp?t=8af44474-7fc9-4fe4-91f8-9f8749d78f28)
额外标签法
在父元素内容的最后添加一个块级元素,设置 CSS 属性 clear: both
单伪元素法
- 准备 after 伪元素
- 父级使用 clearfix 类
双伪元素法
- 准备 after 和 before 伪元素
- 父级使用 clearfix 类
overfow法
03-Flex布局
Flex 布局也叫弹性布局,是浏览器提倡的布局模型,非常适合结构化布局,提供了强大的空间分布和对齐能力。
Flex 模型不会产生浮动布局中脱标现象,布局网页更简单、更灵活。
![notion image](https://img.lvems.top/img/202312091703918.webp?t=c865769d-c659-47b0-a91f-c9a6d1e4a5aa)
Flex组成
设置方式:给父元素设置 display: flex,子元素可以自动挤压或拉伸
组成部分:
- 弹性容器
- 弹性盒子
- 主轴:默认在水平方向
- 侧轴 / 交叉轴:默认在垂直方向
![notion image](https://img.lvems.top/img/202312091703059.webp?t=b5438fb3-e3f2-4d5a-8d81-0463e20d6d57)
主轴对齐方式
属性名:justify-content
![notion image](https://img.lvems.top/img/202312091703836.webp?t=b6b759c3-e77f-458e-992b-835d2720205a)
侧轴对齐方式
- align-items:当前弹性容器内所有弹性盒子的侧轴对齐方式(给弹性容器设置)
- align-self:单独控制某个弹性盒子的侧轴对齐方式(给弹性盒子设置)
![notion image](https://img.lvems.top/img/202312091703165.webp?t=0264f3d8-170a-49a1-b226-762df141082b)
修改主轴方向
主轴默认在水平方向,侧轴默认在垂直方向
属性名:flex-direction
![notion image](https://img.lvems.top/img/202312091703648.webp?t=3c5a94fe-5132-4b26-82b5-8b3171ff57f6)
弹性伸缩比
作用:控制弹性盒子的主轴方向的尺寸。
属性名:flex
属性值:整数数字,表示占用父级剩余尺寸的份数。
弹性盒子换行
弹性盒子可以自动挤压或拉伸,默认情况下,所有弹性盒子都在一行显示。
属性名:flex-wrap
属性值
- wrap:换行
- nowrap:不换行(默认)
行内对齐方式
属性名:align-content
![notion image](https://img.lvems.top/img/202312091703446.webp?t=9f3c9b49-68ff-4df0-b749-dcce13453945)
注意:该属性对单行弹性盒子模型无效。
04-综合案例 – 抖音解决方案
![notion image](https://img.lvems.top/img/202312091704352.webp?t=44b45b0a-d26b-4f4e-a0db-9a29540e94b1)
整体布局
列表布局
内容样式
day07-学成在线
01-项目目录
网站根目录是指存放网站的第一层文件夹,内部包含当前网站的所有素材,包含 HTML、CSS、图片、JavaScript等等。
![notion image](https://img.lvems.top/img/202312091704799.webp?t=732c94dc-3a41-42e6-ab11-2a2a94910586)
- 首页引入CSS文件
02-版心居中
![notion image](https://img.lvems.top/img/202312091704784.webp?t=ad28a531-60a2-4fa2-aba5-68152c860053)
03-布局思路
- 布局思路:先整体再局部,从外到内,从上到下,从左到右
- CSS 实现思路
- 画盒子,调整盒子范围 → 宽高背景色
- 调整盒子位置 → flex 布局、内外边距
- 控制图片、文字内容样式
04-header区域-整体布局
![notion image](https://img.lvems.top/img/202312091704257.webp?t=79c937ca-7b53-48e8-bbbe-475d20e8377a)
HTML结构
CSS样式
05-header区域-logo
![notion image](https://img.lvems.top/img/202312091705947.webp?t=91dd2e43-26ce-4ef9-8872-385b8b81542c)
logo 功能:
- 单击跳转到首页
- 搜索引擎优化:提升网站百度搜索排名
实现方法:
- 标签结构:h1 > a > 网站名称(搜索关键字)
- CSS 样式
06-header区域-导航
实现方法:
- 标签结构:ul > li * 3 > a
- 优势:避免堆砌 a 标签,网站搜索排名降级
![notion image](https://img.lvems.top/img/202312091705790.webp?t=bf291004-a21f-4efb-b614-34ef76fe014d)
HTML结构
CSS样式
07-header区域-搜索布局
![notion image](https://img.lvems.top/img/202312091705258.webp?t=5ca14e8a-db74-45eb-99f7-8236efee9ad5)
HTML结构
CSS样式
08-header区域-搜索内容
HTML结构
CSS样式
09-header区域-用户区域
![notion image](https://img.lvems.top/img/202312091705479.webp?t=120b0c13-5a74-484e-bbd2-87b62931eadf)
HTML结构
CSS样式
10-banner区域-布局
![notion image](https://img.lvems.top/img/202312091705986.webp?t=86eaafa1-4daa-4183-8d21-b8c8cec8c8da)
HTML结构
CSS样式
11-banner区域-侧导航
HTML结构
CSS样式
12-banner区域-课程表布局
![notion image](https://img.lvems.top/img/202312091705527.webp?t=b5c4221f-a201-4281-af8c-2a89e0bcb6e2)
HTML布局
CSS样式
13-banner区域-课程表内容
HTML结构
CSS样式
14-banner区域-全部课程
HTML结构
CSS样式
15-精品推荐-区域布局
![notion image](https://img.lvems.top/img/202312091705534.webp?t=f84d3e1f-448e-40e2-b4e2-b787f6962e26)
HTML结构
CSS样式
16-精品推荐-内容样式
HTML结构
CSS样式
17-推荐课程-标题区域
![notion image](https://img.lvems.top/img/202312091705584.webp?t=5d1ad1df-133f-4bfa-98f4-b5489e84244e)
HTML结构
CSS样式
18-推荐课程-内容布局
HTML结构
CSS样式
19-推荐课程-内容样式
HTML结构
CSS样式
20-前端开发工程师区域
![notion image](https://img.lvems.top/img/202312091706693.webp?t=e1fe0885-8924-4b73-bdd1-9cf9a81f96f8)
HTML结构
CSS样式
21-版权-布局
![notion image](https://img.lvems.top/img/202312091706023.webp?t=d2d79698-d716-48c9-9565-064f20212ecc)
HTML结构
CSS样式
22-版权-内容
HTML结构
CSS样式
day08-CSS高级
目标:掌握定位的作用及特点;掌握 CSS 高级技巧
01-定位
作用:灵活的改变盒子在网页中的位置
实现:
1.定位模式:position
2.边偏移:设置盒子的位置
- left
- right
- top
- bottom
相对定位
position: relative
特点:
- 不脱标,占用自己原来位置
- 显示模式特点保持不变
- 设置边偏移则相对自己原来位置移动
绝对定位
position: absolute
使用场景:子级绝对定位,父级相对定位(子绝父相)
特点:
- 脱标,不占位
- 显示模式具备行内块特点
- 设置边偏移则相对最近的已经定位的祖先元素改变位置
- 如果祖先元素都未定位,则相对浏览器可视区改变位置
定位居中
![notion image](https://img.lvems.top/img/202312091706951.webp?t=15faff55-5b9e-4a7d-8df6-5a0b7a8a3680)
实现步骤:
- 绝对定位
- 水平、垂直边偏移为 50%
- 子级向左、上移动自身尺寸的一半
- 左、上的外边距为 –尺寸的一半
- transform: translate(-50%, -50%)
固定定位
position: fixed
场景:元素的位置在网页滚动时不会改变
特点:
- 脱标,不占位
- 显示模式具备行内块特点
- 设置边偏移相对浏览器窗口改变位置
堆叠层级z-index
![notion image](https://img.lvems.top/img/202312091706871.webp?t=0098041d-2b0c-459d-90bb-3afcf47df20f)
默认效果:按照标签书写顺序,后来者居上
作用:设置定位元素的层级顺序,改变定位元素的显示顺序
属性名:z-index
属性值:整数数字(默认值为0,取值越大,层级越高)
02-高级技巧
CSS精灵
CSS 精灵,也叫 CSS Sprites,是一种网页图片应用处理方式。把网页中一些背景图片整合到一张图片文件中,再background-position 精确的定位出背景图片的位置。
![notion image](https://img.lvems.top/img/202312091708099.webp?t=5e34ea4a-a4f6-4d51-a345-23a63b78cbc6)
优点:减少服务器被请求次数,减轻服务器的压力,提高页面加载速度
![notion image](https://img.lvems.top/img/202312091708806.webp?t=11fa6345-9401-4d6f-a206-58363895ed40)
实现步骤:
- 创建盒子,盒子尺寸与小图尺寸相同
- 设置盒子背景图为精灵图
- 添加 background-position 属性,改变背景图位置
案例-京东服务
![notion image](https://img.lvems.top/img/202312091708643.webp?t=e8475cea-a379-423f-b116-dde6dd486f83)
HTML结构
CSS样式
字体图标
![notion image](https://img.lvems.top/img/202312091708160.webp?t=9b0e1059-5207-4a5d-9ed1-6d5ed24337b9)
字体图标:展示的是图标,本质是字体
作用:在网页中添加简单的、颜色单一的小图标
优点
- 灵活性:灵活地修改样式,例如:尺寸、颜色等
- 轻量级:体积小、渲染快、降低服务器请求次数
- 兼容性:几乎兼容所有主流浏览器
- 使用方便:先下载再使用
下载字体
iconfont 图标库:https://www.iconfont.cn/
登录 → 素材库 → 官方图标库 → 进入图标库 → 选图标,加入购物车 → 购物车,添加至项目,确定 → 下载至本地
![notion image](https://img.lvems.top/img/202312091708594.webp?t=011e7700-5b6f-474f-b69a-745ceb6f89dd)
使用字体
- 引入字体样式表(iconfont.css)
![notion image](https://img.lvems.top/img/202312091708214.webp?t=88a489c8-b0d7-43e8-904a-c8640d663ae9)
- 标签使用字体图标类名
- iconfont:字体图标基本样式(字体名,字体大小等等)
- icon-xxx:图标对应的类名
![notion image](https://img.lvems.top/img/202312091708011.webp?t=86fe36c3-b350-46e8-a472-2c051704166c)
上传矢量图
作用:项目特有的图标上传到 iconfont 图标库,生成字体
![notion image](https://img.lvems.top/img/202312091708049.webp?t=95b27b64-25c3-4994-a035-3e661eb33bf1)
上传步骤:上传 → 上传图标 → 选择 svg 矢量图,打开 → 提交 → 系统审核
03-CSS修饰属性
垂直对齐方式
![notion image](https://img.lvems.top/img/202312091708227.webp?t=4b158ba7-0f96-4bd9-abc7-5a3504539aff)
属性名:vertical-align
![notion image](https://img.lvems.top/img/202312091708231.webp?t=e2a56326-2226-4333-b54c-5e2fd419a825)
过渡
作用:可以为一个元素在不同状态之间切换的时候添加过渡效果
属性名:transition(复合属性)
属性值:过渡的属性 花费时间 (s)
提示:
- 过渡的属性可以是具体的 CSS 属性
- 也可以为 all(两个状态属性值不同的所有属性,都产生过渡效果)
- transition 设置给元素本身
透明度opacity
作用:设置整个元素的透明度(包含背景和内容)
属性名:opacity
属性值:0 – 1
- 0:完全透明(元素不可见)
- 1:不透明
- 0-1之间小数:半透明
光标类型cursor
作用:鼠标悬停在元素上时指针显示样式
属性名:cursor
![notion image](https://img.lvems.top/img/202312091709929.webp?t=e8bdd5f0-2e86-4152-a31a-012aee39376f)
04-综合案例-轮播图
![notion image](https://img.lvems.top/img/202312091709390.webp?t=285700d4-497c-4ef5-8622-4eee36017f3d)
图片效果
HTML结构
CSS样式
箭头
HTML结构
CSS样式
圆点
HTML结构
CSS样式
day09-小兔鲜儿
01-搭建项目目录
![notion image](https://img.lvems.top/img/202312091709956.webp?t=a2913427-0db3-41db-acea-6d22700a5419)
- xtx-pc
- images 文件夹:存放固定使用的图片素材,例如:logo、样式修饰图等等
- uploads 文件夹:存放非固定使用的图片素材,例如:商品图、宣传图需要上传的图片
- iconfont 文件夹:字体图标素材
- css 文件夹:存放 CSS 文件(link 标签引入)
- base.css:基础公共样式
- common.css:各个网页相同模块的重复样式,例如:头部、底部
- index.css:首页 CSS 样式
- index.html:首页 HTML 文件
引入样式表
02-网页头部SEO三大标签
SEO:搜索引擎优化,提升网站百度搜索排名
提升SEO的常见方法:
- 竞价排名
- 将网页制作成html后缀
- 标签语义化(在合适的地方使用合适的标签)
- ……
网页头部 SEO 标签:
- title:网页标题标签
- description:网页描述
- keywords:网页关键词
![notion image](https://img.lvems.top/img/202312091709262.webp?t=3f35a682-16bc-4345-afda-3cf12ae0a08d)
03-Favicon图标
![notion image](https://img.lvems.top/img/202312091710339.webp?t=150f7dc0-4969-4b45-a69e-b7a48b71bbba)
Favicon 图标:网页图标,出现在浏览器标题栏,增加网站辨识度。
图标:favicon.ico,一般存放到网站的根目录里面
![notion image](https://img.lvems.top/img/202312091710645.webp?t=4e2248e2-85f3-4b28-8eb2-b7b3301b4afd)
04-版心
common.css
05-快捷导航-布局
![notion image](https://img.lvems.top/img/202312091710656.webp?t=b327d156-d584-4bce-88b7-ae2db2cc82a6)
HTML结构
CSS样式
06-快捷导航-内容
HTML结构
CSS样式
07-头部-布局
![notion image](https://img.lvems.top/img/202312091710994.webp?t=4f7013f1-1323-4160-9e5b-419c41cfc086)
HTML结构
CSS样式
08-头部-logo
HTML结构
CSS样式
09-头部-导航
HTML结构
CSS样式
10-头部-搜索
HTML结构
CSS样式
11-头部-购物车
HTML结构
CSS样式
12-底部-布局
![notion image](https://img.lvems.top/img/202312091710793.webp?t=b0b7ed8a-65a0-40f5-93be-8bf9f2017e50)
HTML结构
CSS样式
13-底部-服务区域
HTML结构
CSS结构
14-底部-帮助中心-左侧
HTML结构
CSS样式
15-底部-帮助中心-右侧
HTML结构
CSS样式
16-底部-版权
HTML结构
CSS样式
day10-小兔鲜儿
01-banner-轮播图
![notion image](https://img.lvems.top/img/202312091711761.webp?t=8453431d-bca6-4ef9-aab1-4d11ed47269f)
index.css
HTML结构
CSS样式
02-banner-侧导航
HTML结构
CSS样式
03-banner-圆点指示器
HTML结构
CSS样式
04-新鲜好物-标题
![notion image](https://img.lvems.top/img/202312091711916.webp?t=1c8d4022-ff18-4294-8712-3b702ee76c95)
考虑公共样式
HTML结构
CSS样式
05-新鲜好物-内容
HTML结构
CSS样式
06-人气推荐
![notion image](https://img.lvems.top/img/202312091711045.webp?t=9b26b087-5eee-4164-8ba4-efa66ed74dc8)
HTML结构
CSS样式
07-热门品牌-布局
![notion image](https://img.lvems.top/img/202312091712726.webp?t=81cfea11-d0f1-4f56-b388-88f268a21223)
HTML结构
CSS样式
08-热门品牌-内容
HTML结构
CSS样式
09-生鲜-标题
![notion image](https://img.lvems.top/img/202312091712949.webp?t=1f576da9-56b7-4b88-8c34-f70fffba926a)
HTML结构
CSS样式
10-生鲜-内容布局
HTML结构
CSS样式
11-生鲜-产品内容
HTML结构
CSS样式
12-生鲜-过渡效果
HTML结构
CSS样式
13-最新专题-布局
![notion image](https://img.lvems.top/img/202312091712500.webp?t=a4371cdd-22a3-429f-a153-280e9c0ae821)
HTML结构
CSS样式
14-最新专题-内容
HTML结构
CSS样式
15-最新专题-定位文字
HTML结构
CSS样式
- 作者:lveMonsi
- 链接:https://blog.lvems.top/article/231209
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。