html和css的复习(1)

html和css的复习(1)

文章目录

  • html和css的复习(1)
  • [一、HTML 复习](#一、HTML 复习)
      • [1. 什么是 HTML?作用是什么?](#1. 什么是 HTML?作用是什么?)
      • [2. 什么是 HTML 语义化?为什么要用?](#2. 什么是 HTML 语义化?为什么要用?)
      • [3. 作用是什么?不写会怎样?](#3. 作用是什么?不写会怎样?)
      • [4. 行内元素 / 块级元素 / 行内块元素 区别](#4. 行内元素 / 块级元素 / 行内块元素 区别)
      • [5. img 标签的 alt 和 title 区别](#5. img 标签的 alt 和 title 区别)
      • [6. get 和 post 区别](#6. get 和 post 区别)
      • [7. 表单元素必须有的属性:name](#7. 表单元素必须有的属性:name)
      • [8. href 和 src 区别](#8. href 和 src 区别)
      • [9. 浏览器解析 HTML 过程](#9. 浏览器解析 HTML 过程)
  • 二、css的复习
      • [1. CSS 选择器优先级](#1. CSS 选择器优先级)
      • [2. CSS 盒模型](#2. CSS 盒模型)
      • [3. 块元素上下 margin 重叠问题](#3. 块元素上下 margin 重叠问题)
      • [4. 浮动 float 问题(高频)](#4. 浮动 float 问题(高频))
      • [5. position 定位(必考)](#5. position 定位(必考))
  • 总结

一、HTML 复习

1. 什么是 HTML?作用是什么?

  • 超文本标记语言,不是编程语言
  • 负责网页结构:标题、段落、图片、按钮、表单等
  • 给内容语义化,让浏览器、搜索引擎、屏幕阅读器能读懂

2. 什么是 HTML 语义化?为什么要用?

  1. 语义化 = 用正确的标签表达正确的内容含义
  2. 好处:
  • 代码可读性高,别人一看就知道结构
  • SEO 更友好,搜索引擎更容易抓取
  • 无障碍支持,屏幕阅读器能识别
  • 便于维护,结构清晰不乱
  1. 常用语义化标签:
java 复制代码
<header>    页头
<nav>       导航
<main>      页面主体=
<section>   区块
<article>   文章/内容
<aside>     侧边栏
<footer>    页脚
<h1>~<h6>   标题
<p>         段落
<ul>/<ol>   列表

3. 作用是什么?不写会怎样?

  1. 告诉浏览器这是 HTML5 文档
    让浏览器用标准模式渲染
  2. 不写会进入怪异模式
    盒模型解析错误
    样式错乱
    布局兼容问题

4. 行内元素 / 块级元素 / 行内块元素 区别

  1. 块级元素(block)
  • 独占一行
  • 可设置宽高、margin、padding
  • 默认宽度 100%
  • 例:div p h1 ul li header section
  1. 行内元素(inline)
  • 不独占一行,同行显示
  • 不能设置宽高
  • 上下 margin 无效
  • 例:span a b i strong em
  1. 行内块元素(inline-block)
  • 不换行
  • 可设置宽高
  • 例:img button input

5. img 标签的 alt 和 title 区别

  • alt:图片加载失败显示的文字,必须写,SEO + 无障碍
  • title:鼠标 hover 提示文字,可选

6. get 和 post 区别

GET 与 POST 方法的对比表格

特点 GET 方法 POST 方法
数据位置 URL 里可见 请求体中,不可见
安全性
数据大小 有限制(受 URL 长度限制) 无限制
缓存 会缓存 不会缓存
用途 查询、搜索 登录、上传、提交敏感数据

7. 表单元素必须有的属性:name

后端接收数据必须靠 name,没有 name 提交不了!

java 复制代码
<input name="username">

8. href 和 src 区别

  • href:链接、引用(建立关联)
java 复制代码
<a href=""> <link href="">
  • src:引入资源(替换当前内容)
java 复制代码
<img src=""> <script src=""> <video src="">

9. 浏览器解析 HTML 过程

  1. 解析 HTML → 生成 DOM 树
  2. 解析 CSS → 生成 CSSOM 树
  3. 合成渲染树
  • 布局(Layout)→ 绘制(Paint)→ 显示

二、css的复习

1. CSS 选择器优先级

  • 优先级从高到低:
    !important > 行内样式 > ID选择器 > 类/属性/伪类 > 元素 > 通配符
  • 快速计算法:
    ID:100
    类 / 伪类:10
    元素:1
    数值越大优先级越高

2. CSS 盒模型

  • 所有元素都是盒子分为两种:
    (1)标准盒模型(默认)
java 复制代码
box-sizing: content-box;
宽度 = content
padding + border 会撑大盒子

(2)怪异盒模型

java 复制代码
box-sizing: border-box;
宽度 = content + padding + border
padding、border 不会撑大盒子

3. 块元素上下 margin 重叠问题

  • 只发生在垂直方向两个相邻块级元素,margin 会合并,取较大值
  • 解决方法:
  1. 给其中一个加 float
  2. 给其中一个加 inline-block
  3. 用 flex 布局
  4. 加 padding /border 隔开

4. 浮动 float 问题(高频)

  1. 浮动特点:
  • 元素脱离文档流
  • 文字会环绕
  • 父元素高度塌陷
  1. 清除浮动:
  • 最后加一个空标签 clear:both
  • 父元素 overflow:hidden
  • 伪元素清除法
css 复制代码
.clearfix::after{
  content:"";
  display:block;
  clear:both;
}

5. position 定位(必考)

  1. static
  • 正常文档流
  • 不能用 top/left
  1. relative(相对定位)
  • 相对自己原来位置
  • 不脱离文档流
  • 不影响别人
  1. absolute(绝对定位)
  • 相对最近的非 static 父级
  • 脱离文档流
  • 常配合 relative 使用
  1. fixed(固定定位)
  • 相对浏览器窗口
  • 滚动页面不动
  1. sticky(粘性定位)
  • 滚动到位置后吸附住
  1. 隐藏元素的三种方法区别
  • display: none; 隐藏、不占位置、不触发事件
  • visibility: hidden; 隐藏、占位置、不触发事件
  • opacity: 0; 透明、占位置、可触发事件
  1. 水平垂直居中(至少会 3 种)
  • 方法 1:flex
css 复制代码
.parent {
  display: flex;
  justify-content: center;
  align-items: center;
}
  • 方法 2:定位 + transform
css 复制代码
.child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

方法 3:定位 + margin:auto

css 复制代码
.child {
  position: absolute;
  top:0;left:0;right:0;bottom:0;
  margin:auto;
}
  1. flex 布局高频考点
  • flex-direction 方向
  • justify-content 主轴对齐
  • align-items 交叉轴对齐
  • flex-wrap: wrap 换行
  • flex:1 占满剩余空间
  • flex:1 完整含义:
    flex-grow:1;
    flex-shrink:1;
    flex-basis:0%;
  1. BFC 是什么?
  • BFC = 块级格式化上下文独立渲染区域,内部不影响外部
  • 触发 BFC:
css 复制代码
overflow:hidden
position:absolute/fixed
display:flex/inline-block
float:left/right
  • 作用:
    解决 margin 重叠
    解决浮动塌陷
    避免被浮动元素覆盖
  1. 重排与重绘
  • 重排:元素布局发生变化 → 消耗性能高
  • 重绘:颜色、背景变化 → 消耗低
  • 尽量减少重排:
    不要频繁修改 style
    使用 class 替换
    使用 transform=

总结

这个是这几周简单的看来一下关于css和html的知识点,后续会继续复习来补充

相关推荐
vim怎么退出13 小时前
Dive into React——Diff 算法
前端·react.js·源码阅读
拾年27513 小时前
别调 BERT 了:我用 Prompt 做了套 NLP 系统,20 分钟搞定
前端·人工智能
半个落月13 小时前
别再死记变量提升了——从 V8 编译过程真正理解 JS 执行机制
前端
橘子星13 小时前
别再懵圈!JS 执行机制的 “千层套路” 全揭秘
前端·javascript
GuWenyue13 小时前
LeetCode 76 最小覆盖子串|JS 滑动窗口标准解法
前端·算法·面试
YHHLAI13 小时前
前端 HTTP 请求 & LLM 接口开发
前端·网络协议·http
拾年27513 小时前
__proto__ vs prototype:90% 的人分不清的 JavaScript 核心
前端·javascript·面试
国科安芯13 小时前
国科安芯推出商业航天级抗辐照半双工 RS485 收发器 ASC485S2Y
前端·单片机·嵌入式硬件·架构·安全性测试
丑过三八线13 小时前
Umi 运行时配置 app.tsx 详解
前端
提子拌饭13314 小时前
个人月事记录表应用 - 鸿蒙PC Electron框架完整实现指南
前端·javascript·华为·electron·前端框架·开源·鸿蒙系统