前言
ok今天来总结一下学习的HTML和CSS
跳转
HTML
一、HTML 基础
- 定义:超文本标记语言(HyperText Markup Language),用于创建网页的标记语言
- 作用:构建网页的结构和内容,如文本、图像、链接、表单等
1. HTML 文档结构
<!DOCTYPE html>
:声明文档类型为 HTML5<html>
:根元素,整个 HTML 页面的容器<head>
:包含页面的元数据,如标题、字符编码、样式表链接等<title>
:设置页面的标题,显示在浏览器的标题栏或标签页上<meta>
:定义文档的元信息,如字符集(charset
)、描述(name="description"
)、关键词(name="keywords"
)
<body>
:包含页面的可见内容,如文本、图片、链接等
2. 基本标签
- 标题标签 :
<h1>
-<h6>
,用于定义不同级别的标题,<h1>
是最高级别的标题,<h6>
是最低级别的标题 - 段落标签 :
<p>
,用于定义段落文本 - 换行标签 :
<br>
,用于在文本中强制换行 - 水平线标签 :
<hr>
,用于在页面中插入一条水平线 - 文本格式化标签
- 加粗 :
<b>
或<strong>
,<strong>
- 斜体 :
<i>
或<em>
,<em>
- 下划线 :
<u>
- 删除线 :
<s>
或<del>
,<del>
- 上标文本:
<sup>
,用于公式中的上标 - 下标文本:
<sub>
,用于公式中的下标
- 加粗 :
- 列表标签
- 无序列表 :
<ul>
,列表项使用<li>
标签,用于创建无序列表,如项目符号列表 - 有序列表 :
<ol>
,列表项使用<li>
标签,用于创建有序列表,如数字列表 - 自定义列表 :
<dl>
,包含<dt>
(定义术语)和<dd>
(定义描述),用于创建自定义列表
- 无序列表 :
- 链接标签
<a>
:用于创建超链接href
:属性指定链接的目标地址target
:属性指定链接的打开方式(如_blank
在新窗口打开,_self
在同一窗口打开(默认))title
:为链接添加提示文本
- 图片标签
<img>
:用于插入图片src
:属性指定图片的源文件地址alt
:属性提供图片的替代文本,当图片无法显示时显示该文本width
和height
:设置图像的宽度和高度
- 表格标签
<table>
:定义表格。常用属性有:border
:设置表格的边框宽度width
和height
:设置表格的宽度和高度
<tr>
:定义表格行<td>
:定义表格单元格<th>
:定义表格表头单元格,通常用于第一行或第一列,加粗显示并居中对齐
- 表单标签
<form>
:定义表单,用于收集用户输入。常用属性:action
:指定表单提交的目标 URLmethod
:指定表单提交的方式,如get
或post
- 表单元素
- 文本输入框 :
<input type="text">
,用于输入单行文本 - 密码输入框 :
<input type="password">
,用于输入密码,输入内容会被隐藏 - 电子邮件输入框:
<input type="email">
,用于输入电子邮件,自动验证输入的格式 - 单选按钮 :
<input type="radio">
,用于从一组选项中选择一个选项,name
属性用于分组,value
属性指定选项的值 - 复选框 :
<input type="checkbox">
,用于选择多个选项,name
属性用于分组,value
属性指定选项的值 - 提交按钮 :
<input type="submit">
或<button type="submit">
,用于提交表单数据 - 下拉列表 :
<select>
用于创建下拉选择框。常用属性:name
:指定名称<option>
:定义下拉列表中的选项,value
属性指定选项的值,selected
属性指定默认选中的选项
- 文本域 :
<textarea>
,用于输入多行文本。常用属性:name
:指定名称rows
和cols
:指定文本框的行数和列数placeholder
:指定提示文本
- 文本输入框 :
二、HTML 语义化标签
<header>
:表示页面或区域的头部,通常包含网站标志、导航菜单等<nav>
:定义导航链接的区域,用于包含页面的导航菜单<main>
:表示页面的主要内容区域,一个页面只能有一个<main>
元素<article>
:表示独立的、完整的内容块,如博客文章、新闻报道等<section>
:定义文档中的一个区域,用于对页面内容进行分组<aside>
:表示页面的侧边栏内容,通常包含与页面主要内容相关的补充信息<footer>
:表示页面或区域的底部,通常包含版权信息、联系方式等
三、HTML5 新特性
多媒体标签
<video>
:定义视频播放器。常用属性:src
:指定视频文件的路径controls
:显示播放控件width
和height
:设置视频的宽度和高度- 支持的视频格式:MP4、WebM、Ogg
<audio>
:定义音频播放器。常用属性:src
:指定音频文件的路径controls
:显示播放控件- 支持的音频格式:MP3、WAV、OGG
表单新类型
date
:日期选择器time
:时间选择器datetime-local
:本地日期和时间选择器month
:月份选择器week
:周选择器number
:数字输入框,可设置最小值、最大值和步长range
:滑动条输入框,可设置最小值、最大值和步长color
:颜色选择器
CSS
一、CSS 基础
- 定义:层叠样式表(Cascading Style Sheets),用于控制 HTML 文档的外观和格式
- 作用:实现网页的布局、颜色、字体、间距等样式设计,使网页更加美观和易用
1. CSS 引入方式
- 内联样式 :在 HTML 元素中使用
style
属性直接设置样式,如<p style="color: red;">这是红色文本</p>
。 - 内部样式表 :在 HTML 文档的
<head>
部分使用<style>
标签定义样式,如<style>p { color: blue; }</style>
- 外部样式表 :创建独立的 CSS 文件(如
styles.css
),然后在 HTML 文档的<head>
部分使用<link rel="stylesheet" href="styles.css">
引入
2. CSS 选择器
- 优先级判定
- 优先级规则:内联样式 > ID 选择器 > 类选择器、属性选择器、伪类选择器 > 元素选择器、伪元素选择器。
- 具体优先级计算:通过选择器的组合和重要性(
! important
)来确定最终的优先级。
- 标签选择器 :根据 HTML 标签名选择元素,如
p { color: green; }
会选择所有的<p>
元素 - 类选择器 :以
.
开头,根据元素的class
属性值选择元素,如.highlight { background-color: yellow; }
会选择所有class
为highlight
的元素 - ID 选择器 :以
#
开头,根据元素的id
属性值选择元素,如#main-content { width: 800px; }
会选择id
为main-content
的元素 - 通用选择器 :
*
,选择所有元素,如* { margin: 0; padding: 0; }
- 组合选择器
- 后代选择器 :如
div p
选择<div>
元素内的所有<p>
元素 - 子元素选择器 :如
div > p
选择<div>
元素的直接子<p>
元素 - 相邻兄弟选择器 :如
h1 + p
选择紧跟在<h1>
元素后的<p>
元素 - 通用兄弟选择器 :如
h1 ~ p
选择在<h1>
元素之后的所有<p>
元素
- 后代选择器 :如
- 属性选择器 :根据 HTML 元素的属性值选择元素,如
a[href="https://www.example.com"] { color: blue; }
选择所有href
属性值为https://www.example.com
的<a>
标签
3. CSS 属性
- 文本属性
color
:设置文本颜色font-size
:设置字体大小font-family
:设置字体族text-align
:设置文本对齐方式:left
、right
、center
、justify
text-decoration
:设置文本装饰,如下划线(underline
)、删除线(line-through
)、上方线(overline
)、默认无(none
)line-height
:设置行高
- 盒模型属性
width
和height
:设置元素的宽度和高度padding
:设置元素的内边距,可分别设置上、右、下、左的内边距margin
:设置元素的外边距,可分别设置上、右、下、左的外边距border
:设置元素边框,可细分为border-style
、border-width
、border-color
等box-sizing
:定义盒模型的计算方式,content-box
(默认,宽度和高度只包括内容区域)或border-box
(宽度和高度包括内容区域、内边距和边框)
- 边框属性
border-style
:设置边框样式:solid
、dashed
、dotted
、double
、none
border-width
:设置边框宽度border-color
:设置边框颜色border-radius
:设置边框圆角border
:综合设置边框属性
- 背景属性
background-color
:设置背景颜色background-image
:设置背景图片。background-repeat
:设置背景图片的重复方式,如repeat
、no-repeat
等background-position
:设置背景图片的位置background-size
:设置背景图片的大小background
:综合设置背景属性
- 布局属性
display
:设置元素的显示类型:block
:块级元素,独占一行inline
:行内元素,不独占一行inline-block
:行内块级元素,不独占一行,但可以设置宽高和内边距、外边距none
:隐藏元素flex
:弹性布局grid
:网格布局
二、CSS 高级特性
1. CSS 盒模型
- 标准盒模型 :元素的
width
和height
只包括内容区域,padding
、border
和margin
在其外部 - 怪异盒模型(IE 盒模型) :元素的
width
和height
包括内容区域、padding
和border
,margin
在其外部 - 可以通过
box-sizing
属性来设置盒模型,box-sizing: content-box
为标准盒模型,box-sizing: border-box
为怪异盒模型
2. CSS 浮动
float
属性 :如float: left
或float: right
用于使元素向左或向右浮动,脱离标准文档流- 清除浮动 :使用
clear
属性,如clear: both
来清除浮动对周围元素的影响,防止父元素塌陷
3. CSS 定位
static
:默认定位方式,元素按照正常的文档流排列relative
:相对定位,元素相对于其正常位置进行偏移,在文档流中仍占据原来的空间absolute
:绝对定位,元素相对于最近的已定位祖先元素(position
不是static
的元素)进行定位,脱离标准文档流fixed
:固定定位,元素相对于浏览器窗口进行定位,脱离标准文档流sticky
:粘性定位,元素在滚动过程中根据位置变化表现为相对定位和固定定位的结合
4. CSS 弹性盒模型(Flexbox)
- 使用方法 :将容器设置为弹性容器,
display: flex
- 弹性容器的属性
flex-direction
:设置主轴方向,如row
、row-reverse
、column
、column-reverse
justify-content
:设置主轴上子元素的对齐方式,如flex-start
、flex-end
、center
、space-between
、space-around
align-items
:设置交叉轴上子元素的对齐方式,如flex-start
、flex-end
、center
、stretch
、baseline
- 弹性子元素的属性
flex-grow
:设置子元素的增长因子flex-shrink
:设置子元素的收缩因子flex-basis
:设置子元素的初始大小
5. CSS 网格布局(Grid)
- 使用方法 :将容器设置为网格容器,
display: grid
- 网格容器的属性
grid-template-columns
:定义列的大小,如grid-template-columns: 100px 200px auto;
grid-template-rows
:定义行的大小grid-gap
:设置网格间隙
- 网格项的属性
grid-column-start
、grid-column-end
、grid-row-start
、grid-row-end
:用于指定网格项在网格中的位置
以下未正式学习,网络搜索得来
6. CSS 动画与过渡
- 过渡(Transition)
transition-property
:指定应用过渡效果的 CSS 属性。transition-duration
:指定过渡效果的持续时间。transition-timing-function
:指定过渡效果的时间函数,如ease
、linear
、ease-in
、ease-out
、ease-in-out
。transition-delay
:指定过渡效果的延迟时间。transition
:综合设置过渡属性。
- 动画(Animation)
@keyframes
:定义动画的关键帧,指定在动画过程中元素的样式变化。animation-name
:指定动画的名称,对应@keyframes
中定义的动画。animation-duration
:指定动画的持续时间。animation-timing-function
:指定动画的时间函数。animation-delay
:指定动画的延迟时间。animation-iteration-count
:指定动画的播放次数,如infinite
表示无限次播放。animation-direction
:指定动画的播放方向,如normal
、reverse
、alternate
、alternate-reverse
。animation-play-state
:指定动画的播放状态,如running
、paused
。animation
:综合设置动画属性。
7. CSS 响应式设计
- 媒体查询(Media Query)
- 使用
@media
查询不同的设备类型和屏幕特征,如屏幕宽度、高度、分辨率等,为不同的设备应用不同的 CSS 样式。 - 常见的媒体查询条件:
max-width
:最大屏幕宽度。min-width
:最小屏幕宽度。orientation
:屏幕方向,portrait
(竖屏)或landscape
(横屏)。
- 使用
- 响应式布局技巧
- 使用百分比宽度:为元素设置百分比宽度,使其在不同屏幕尺寸下自动调整大小。
- 使用弹性布局(Flexbox):通过
display: flex
和相关属性实现灵活的布局。 - 使用网格布局(Grid):通过
display: grid
和相关属性创建网格布局。 - 使用图片的响应式处理:为图片设置
max-width: 100%;
和height: auto;
,使其在不同屏幕尺寸下自动调整大小并保持比例。
示例:
1 |
|
1 | /* 全局样式 */ |