前端开发知识梳理 - HTMLCSS

1. 盒模型

由内容区(content)、内边距(padding)、边框(border)和外边距(margin)组成。

  • (1)标准盒模型(box-sizing默认值, content-box):width/height = content(尺寸),元素的总宽度/高度 = width/height + padding + border
  • (2)怪异盒模型(box-sizing: border-box):width/height = content + padding + border(尺寸),即元素的总宽度/总高度 = width/height

2. HTML5 新特性

HTML5 是 HTML 语言的第五个主要版本,引入了许多新特性,极大地增强了网页的功能和表现力,以下是一些重要的新特性:

语义化标签

HTML5 引入了一系列语义化标签,使得代码结构更加清晰,便于开发者理解和搜索引擎解析。

  • <header>:通常用于表示页面或页面中某个区域的头部,包含网站标题、导航栏等内容。
  • <nav>:专门用于定义导航链接的区域,比如网站的菜单导航。
  • <article>:表示一个独立的、完整的内容块,可独立于页面其他部分被复用,如一篇博客文章、论坛帖子等。
  • <section>:用于对页面进行分块,将相关内容组织在一起,例如文章的章节。
  • <aside>:表示与页面主要内容间接相关的部分,如侧边栏、广告等。
  • <footer>:一般用于页面或页面中某个区域的底部,包含版权信息、联系方式等。

表单增强

HTML5 为表单元素增加了许多新的属性和输入类型,提升了表单的用户体验和数据验证能力。

  • 新的输入类型:如 emailurlnumberdaterangecolor 等。例如,使用 email 类型时,浏览器会自动验证输入是否为有效的电子邮件地址。
<input type="email" placeholder="请输入邮箱地址">
  • 新的表单属性placeholder 用于在输入框内显示提示信息;required 表示该字段为必填项;pattern 可使用正则表达式对输入内容进行验证。
<input type="text" placeholder="请输入用户名" required pattern="[a-zA-Z]{3,}">

多媒体支持

HTML5 原生支持音频和视频播放,无需依赖第三方插件(如 Flash)。

  • <audio> 标签:用于在网页中嵌入音频文件,支持多种音频格式,如 MP3、OGG 等。
<audio controls><source src="example.mp3" type="audio/mpeg">您的浏览器不支持音频播放。
</audio>
  • <video> 标签:用于嵌入视频文件,支持 MP4、WebM、OGG 等格式。
<video width="320" height="240" controls><source src="example.mp4" type="video/mp4">您的浏览器不支持视频播放。
</video>

画布(<canvas>

<canvas> 元素提供了一个可以使用 JavaScript 进行绘图的区域,可用于创建动态图形、动画、游戏等。

<canvas id="myCanvas" width="200" height="100"></canvas>
<script>const canvas = document.getElementById('myCanvas');const ctx = canvas.getContext('2d');ctx.fillStyle = 'red';ctx.fillRect(10, 10, 50, 50);
</script>

上述代码在画布上绘制了一个红色的矩形。

地理定位(Geolocation)

HTML5 的地理定位 API 允许网页获取用户的地理位置信息,可用于开发地图应用、附近商家推荐等功能。

if (navigator.geolocation) {navigator.geolocation.getCurrentPosition(function(position) {const latitude = position.coords.latitude;const longitude = position.coords.longitude;console.log(`纬度: ${latitude}, 经度: ${longitude}`);}, function(error) {console.log(`定位失败: ${error.message}`);});
} else {console.log('您的浏览器不支持地理定位功能。');
}

本地存储

HTML5 提供了 localStoragesessionStorage 两种本地存储方式,用于在浏览器中存储数据。

  • localStorage:数据会永久存储在浏览器中,除非手动删除,否则不会过期。
// 存储数据
localStorage.setItem('username', 'John');
// 获取数据
const username = localStorage.getItem('username');
console.log(username);
  • sessionStorage:数据仅在当前会话期间有效,关闭浏览器窗口或标签页后数据会被清除。
// 存储数据
sessionStorage.setItem('message', 'Hello, World!');
// 获取数据
const message = sessionStorage.getItem('message');
console.log(message);

Web Workers

Web Workers 允许在浏览器中创建独立于主线程的后台线程,用于执行耗时的脚本,避免阻塞主线程,提高页面的响应性能。

// main.js
if (typeof(Worker) !== "undefined") {const worker = new Worker('worker.js');worker.postMessage('开始计算');worker.onmessage = function(event) {console.log('计算结果: ' + event.data);};
} else {console.log('您的浏览器不支持 Web Workers。');
}// worker.js
onmessage = function(event) {let result = 0;for (let i = 0; i < 1000000; i++) {result += i;}postMessage(result);
};

WebSocket

WebSocket 提供了一种在浏览器和服务器之间进行实时双向通信的机制,适用于实时聊天、实时数据更新等场景。

// 客户端代码
const socket = new WebSocket('ws://example.com/socket');
socket.onopen = function() {socket.send('Hello, server!');
};
socket.onmessage = function(event) {console.log('收到服务器消息: ' + event.data);
};
socket.onclose = function() {console.log('连接已关闭');
};

3. 响应式布局

px:像素,相对长度单位,它的大小取决于屏幕的分辨率,是一个固定值,不能够自适应。
em:相对长度的单位,相对于当前对象内文本的字体尺寸,未设置则默认是浏览器默认字体尺寸。
rem:CSS3 中新增的一个相对长度单位,相对于根元素 的 font-size 字体大小,根元素字体大小未设置,使用浏览器默认字体大小。
vw:相对于视口的宽度。视口被均分为100单位的 vw。
vh:相对视口高度,视口被均分为100单位的 vh。
vmin:相对于视口宽度或高度中较小的那个。其中最小的那个被均分为100单位的 vmin。
vmax:相对于视口宽度或高度中较大的那个。其中最大的那个被均分为100单位的 vmax。

  • (1)在移动端网页开发中,页面要做成响应式的,可使用 rem 配合媒体查询实现。
    原理: 通过媒体查询,能够在屏幕尺寸发生改变时,重置 html 根元素的字体大小;页面中的元素都是使用rem 为单位设置的尺寸,因此只要改变根元素字体大小,页面中的其他元素的尺寸就自动跟着修改。
  • (2)利用 vw 和rem实现响应式。
    原理: 由于 vw 被更多浏览器兼容之后,在做移动端响应式页面时, 通常使用 vw 配合 rem
    原理是使用vw设置根元素 html 字体的大小,当窗口大小发生改变,vw 代表的尺寸随着修改,无需加入媒体查询,页面中的其他元素仍使用rem为单位,就可实现响应式。
// 【(1)只使用rem示例】,需要一直通过媒体查询分段设置html根元素的字体大小。
// 下面例子中,屏幕大于等于1025px,就一直根据16px来计算了。
html {font-size: 16px; /* 默认大小 */
}@media (max-width: 600px) {html {font-size: 14px; /* 小屏幕设备 */}
}@media (min-width: 601px) and (max-width: 1024px) {html {font-size: 15px; /* 中等屏幕设备 */}
}@media (min-width: 1025px) {html {font-size: 16px; /* 大屏幕设备 */}
}//页面代码
div{ width: 10rem;}
//【(2)rem+vw结合示例】,不需要在多个断点处设置多个媒体查询
html {font-size: calc(16px + 0.5vw); /* 基于视口宽度动态调整 */
}@media (max-width: 600px) {html {font-size: 14px; /* 小屏幕设备 */}
}

HTML 部分

  1. 简述 HTML5 有哪些新特性?
  2. HTML5 的语义化标签有哪些,使用语义化标签的好处是什么?(语义化标签)
  3. 说说 <canvas> 元素的作用和使用场景。(<canvas> 元素)
  4. <video><audio> 标签的常见属性有哪些?(音视频标签)
  5. 如何在 HTML 中实现文件上传功能?(文件上传)
  6. 简述 HTML 中 meta 标签的作用和常见用法。(meta 标签)
  7. 如何在 HTML 中实现响应式图片?(响应式图片)
  8. 说说 <datalist> 标签的用途。(<datalist> 标签)
  9. 如何优化 HTML 代码的性能?(性能优化)
  10. 简述 HTML 中 noscript 标签的作用。(noscript 标签)
  11. 如何在 HTML 中创建一个表格并设置表头和单元格样式?(表格创建)
  12. 说说 HTML 中 iframe 的优缺点。(iframe 标签)
  13. 如何在 HTML 中实现锚点链接?(锚点链接)
  14. 简述 HTML 中 web storagelocalStoragesessionStorage)的区别和使用方法。(web storage
  15. 如何在 HTML 中实现多列布局?(多列布局)
  16. 说说 HTML 中 form 表单的 enctype 属性有哪些取值和用途。(表单 enctype 属性)
  17. 如何在 HTML 中实现拖放功能?(拖放功能)
  18. 简述 HTML 中 keygen 标签的作用(虽然已被弃用)。(keygen 标签)
  19. 如何在 HTML 中创建一个无序列表和有序列表,并设置列表样式?(列表创建)
  20. 说说 HTML 中 rubyrtrp 标签的作用。(ruby 相关标签)
  21. 如何在 HTML 中实现模态框(弹出框)?(模态框实现)
  22. 简述 HTML 中 wbr 标签的用途。(wbr 标签)
  23. 如何在 HTML 中实现分页功能?(分页功能)
  24. 说说 HTML 中 output 标签的作用。(output 标签)
  25. 如何在 HTML 中设置页面的标题和图标?(页面标题和图标)

CSS 部分

  1. 简述 CSS 盒模型的组成部分。(盒模型)
  2. 如何清除浮动,有哪些方法?(清除浮动)
  3. 说说 CSS 中的定位方式有哪些,以及它们的区别。(定位方式)
  4. 如何实现水平和垂直居中,有哪些常见方法?(元素居中)
  5. 简述 CSS 中的 flexbox 布局和它的主要属性。(flexbox 布局)
  6. 说说 CSS 中的 grid 布局和它的主要属性。(grid 布局)
  7. 如何使用 CSS 实现响应式布局?(响应式布局)
  8. 简述 CSS 中的选择器有哪些,优先级是如何计算的?(选择器和优先级)
  9. 说说 CSS 中的伪类和伪元素有哪些,以及它们的区别。(伪类和伪元素)
  10. 如何使用 CSS 实现动画效果,有哪些方法?(动画效果)
  11. 简述 CSS 中的过渡效果和如何使用。(过渡效果)
  12. 说说 CSS 中的背景属性有哪些,如何实现背景渐变?(背景属性和渐变)
  13. 如何使用 CSS 实现文本溢出省略号效果?(文本溢出省略)
  14. 简述 CSS 中的字体属性有哪些,如何使用自定义字体?(字体属性)
  15. 说说 CSS 中的 box-shadowtext-shadow 属性的用法。(阴影属性)
  16. 如何使用 CSS 实现三角形效果?(三角形效果)
  17. 简述 CSS 中的 transform 属性有哪些取值和用途。(transform 属性)
  18. 说说 CSS 中的 opacityrgba 的区别。(透明度)
  19. 如何使用 CSS 实现多列文本布局?(多列文本布局)
  20. 简述 CSS 中的 filter 属性的作用和常见用法。(filter 属性)
  21. 说说 CSS 中的 calc() 函数的用途。(calc() 函数)
  22. 如何使用 CSS 实现粘性定位(sticky)?(粘性定位)
  23. 简述 CSS 中的 will-change 属性的作用。(will-change 属性)
  24. 说说 CSS 中的 mix-blend-mode 属性的用途。(混合模式)
  25. 如何使用 CSS 实现等高布局?(等高布局)
  26. 简述 CSS 中的 perspective 属性的作用。(透视属性)
  27. 说说 CSS 中的 backface-visibility 属性的用途。(背面可见性)
  28. 如何使用 CSS 实现滚动动画效果?(滚动动画)
  29. 简述 CSS 中的 clip-path 属性的作用和用法。(裁剪路径)
  30. 说说 CSS 中的 shape-outside 属性的用途。(形状外边距)

HTML 和 CSS 综合部分

  1. 如何实现一个响应式的导航栏,结合 HTML 和 CSS?(响应式导航栏)
  2. 简述如何使用 HTML 和 CSS 实现一个卡片式布局。(卡片式布局)
  3. 说说如何使用 HTML 和 CSS 实现一个轮播图效果。(轮播图效果)
  4. 如何使用 HTML 和 CSS 实现一个下拉菜单?(下拉菜单)
  5. 简述如何使用 HTML 和 CSS 实现一个瀑布流布局。(瀑布流布局)
  6. 说说如何使用 HTML 和 CSS 实现一个汉堡菜单(移动端菜单)。(汉堡菜单)
  7. 如何使用 HTML 和 CSS 实现一个选项卡切换效果?(选项卡切换)
  8. 简述如何使用 HTML 和 CSS 实现一个折叠面板效果。(折叠面板)
  9. 说说如何使用 HTML 和 CSS 实现一个进度条效果。(进度条效果)
  10. 如何使用 HTML 和 CSS 实现一个模态对话框(弹窗)?(模态对话框)
  11. 简述如何使用 HTML 和 CSS 实现一个侧边栏菜单。(侧边栏菜单)
  12. 说说如何使用 HTML 和 CSS 实现一个粘性页脚(始终在底部)。(粘性页脚)
  13. 如何使用 HTML 和 CSS 实现一个网格布局的图片画廊?(图片画廊)
  14. 简述如何使用 HTML 和 CSS 实现一个 3D 翻转效果的卡片。(3D 翻转卡片)
  15. 说说如何使用 HTML 和 CSS 实现一个响应式的表格。(响应式表格)
  16. 如何使用 HTML 和 CSS 实现一个渐变边框效果?(渐变边框)
  17. 简述如何使用 HTML 和 CSS 实现一个波浪动画效果。(波浪动画)
  18. 说说如何使用 HTML 和 CSS 实现一个打字机效果的文本。(打字机效果)
  19. 如何使用 HTML 和 CSS 实现一个可折叠的侧边栏?(可折叠侧边栏)
  20. 简述如何使用 HTML 和 CSS 实现一个饼图效果。(饼图效果)
  21. 说说如何使用 HTML 和 CSS 实现一个鼠标悬停放大图片效果。(图片放大效果)
  22. 如何使用 HTML 和 CSS 实现一个动画加载图标?(加载图标)
  23. 简述如何使用 HTML 和 CSS 实现一个响应式的表单。(响应式表单)
  24. 说说如何使用 HTML 和 CSS 实现一个视差滚动效果。(视差滚动)
  25. 如何使用 HTML 和 CSS 实现一个立体按钮效果?(立体按钮)
  26. 简述如何使用 HTML 和 CSS 实现一个线条动画效果。(线条动画)
  27. 说说如何使用 HTML 和 CSS 实现一个卡片翻转效果。(卡片翻转)
  28. 如何使用 HTML 和 CSS 实现一个可拖动的元素?(可拖动元素)
  29. 简述如何使用 HTML 和 CSS 实现一个彩虹渐变文本效果。(彩虹渐变文本)
  30. 说说如何使用 HTML 和 CSS 实现一个模糊背景效果。(模糊背景)
  31. 如何使用 HTML 和 CSS 实现一个旋转木马效果。(旋转木马效果)
  32. 简述如何使用 HTML 和 CSS 实现一个水波动画效果。(水波动画)
  33. 说说如何使用 HTML 和 CSS 实现一个呼吸灯效果的按钮。(呼吸灯按钮)
  34. 如何使用 HTML 和 CSS 实现一个闪烁文本效果。(闪烁文本)
  35. 简述如何使用 HTML 和 CSS 实现一个弹性卡片效果。(弹性卡片)
  36. 说说如何使用 HTML 和 CSS 实现一个倾斜卡片布局。(倾斜卡片布局)
  37. 如何使用 HTML 和 CSS 实现一个发光文本效果。(发光文本)
  38. 简述如何使用 HTML 和 CSS 实现一个动态网格布局。(动态网格布局)
  39. 说说如何使用 HTML 和 CSS 实现一个涟漪效果的按钮。(涟漪按钮)
  40. 如何使用 HTML 和 CSS 实现一个火焰动画效果。(火焰动画)
  41. 简述如何使用 HTML 和 CSS 实现一个收缩展开的列表。(收缩展开列表)
  42. 说说如何使用 HTML 和 CSS 实现一个折纸效果的卡片。(折纸卡片)
  43. 如何使用 HTML 和 CSS 实现一个烟雾动画效果。(烟雾动画)
  44. 简述如何使用 HTML 和 CSS 实现一个闪烁边框效果。(闪烁边框)
  45. 说说如何使用 HTML 和 CSS 实现一个立体导航栏效果。(立体导航栏)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/895049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

白嫖RTX 4090?Stable Diffusion:如何给线稿人物快速上色?

大家都知道&#xff0c;在设计的初期&#xff0c;我们通常会先绘制草图&#xff0c;然后再进行上色处理&#xff0c;最终才开始进行最终的设计工作。在这个上色的过程中&#xff0c;配色是至关重要的一环。这不仅方便了内部同事的评审&#xff0c;也让产品方和客户可以直观地了…

Win10环境使用ChatBox集成Deep Seek解锁更多玩法

Win10环境使用ChatBox集成Deep Seek解锁更多玩法 前言 之前部署了14b的Deep Seek小模型&#xff0c;已经验证了命令行及接口方式的可行性。但是纯命令行或者PostMan方式调用接口显然不是那么友好&#xff1a; https://lizhiyong.blog.csdn.net/article/details/145505686 纯…

kafka服务端之日志磁盘存储

文章目录 页缓存顺序写零拷贝 Kafka依赖于文件系统&#xff08;更底层地来说就是磁盘&#xff09;来存储和缓存消息 。 那么kafka是如何让自身在使用磁盘存储的情况下达到高性能的&#xff1f;接下来主要从3各方面详细解说。 页缓存 页缓存是操作系统实现的一种主要的磁盘缓存…

计算机视觉语义分割——Attention U-Net(Learning Where to Look for the Pancreas)

计算机视觉语义分割——Attention U-Net(Learning Where to Look for the Pancreas) 文章目录 计算机视觉语义分割——Attention U-Net(Learning Where to Look for the Pancreas)摘要Abstract一、Attention U-Net1. 基本思想2. Attention Gate模块3. 软注意力与硬注意力4. 实验…

韶音科技:消费电子行业售后服务实现数字化转型,重塑客户服务体系

韶音科技&#xff1a;消费电子行业售后服务实现数字化转型&#xff0c;重塑客户服务体系 在当今这个科技日新月异的时代&#xff0c;企业之间的竞争早已超越了单纯的产品质量比拼&#xff0c;**售后服务成为了衡量消费电子行业各品牌实力与客户满意度的关键一环。**深圳市韶音…

使用 CloudDM 和钉钉流程化管理数据库变更审批

CloudDM 是一个专为团队协同工作打造的数据库数据管控平台。在管控数据库安全变更的过程中&#xff0c;为提高效率&#xff0c;CloudDM 接入了钉钉&#xff0c;支持实时通知与移动办公&#xff0c;满足广大企业用户的实际需求。 本文将介绍如何使用 CloudDM 和钉钉实现高效的数…

如何在WPS和Word/Excel中直接使用DeepSeek功能

以下是将DeepSeek功能集成到WPS中的详细步骤&#xff0c;无需本地部署模型&#xff0c;直接通过官网连接使用&#xff1a;1. 下载并安装OfficeAI插件 &#xff08;1&#xff09;访问OfficeAI插件下载地址&#xff1a;OfficeAI助手 - 免费办公智能AI助手, AI写作&#xff0c;下载…

程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图<7>

大家好啊&#xff0c;我是小象٩(๑ω๑)۶ 我的博客&#xff1a;Xiao Xiangζั͡ޓއއ 很高兴见到大家&#xff0c;希望能够和大家一起交流学习&#xff0c;共同进步。 今天我们一起来学习转移表&#xff0c;回调函数&#xff0c;qsort… 目录 一、转移表1.1 定义与原理1.3…

漏洞分析 Spring Framework路径遍历漏洞(CVE-2024-38816)

漏洞概述 VMware Spring Framework是美国威睿&#xff08;VMware&#xff09;公司的一套开源的Java、JavaEE应用程序框架。该框架可帮助开发人员构建高质量的应用。 近期&#xff0c;监测到Spring Framework在特定条件下&#xff0c;存在目录遍历漏洞&#xff08;网宿评分&am…

笔记:理解借贷相等的公式

强烈推荐非会计人士&#xff0c;快速了解会计看这个系列的视频&#xff0c;其中比较烧脑的“借贷相等”公式&#xff0c;这个视频讲解的不错&#xff1a; 4.小白财务入门-借贷记账法_哔哩哔哩_bilibili 比如这里&#xff0c;钱在银行卡重&#xff0c;所以银行存款就是借方…

【Spring】什么是Spring?

什么是Spring&#xff1f; Spring是一个开源的轻量级框架&#xff0c;是为了简化企业级开发而设计的。我们通常讲的Spring一般指的是Spring Framework。Spring的核心是控制反转(IoC-Inversion of Control)和面向切面编程(AOP-Aspect-Oriented Programming)。这些功能使得开发者…

学习笔记:机器学习中的数学原理(一)

1. 集合 集合分为有限集和无限集&#xff1b; 对于有限集&#xff0c;两集合元素数相等即为等势&#xff1b; 对于无限集&#xff0c;两集合元素存在一一映射关系即为等势&#xff1b; 无限集根据是否与正整数集等势分为可数集和不可数集。 2. sigmoid函数&#xff08;也叫…

【信息系统项目管理师-案例真题】2016下半年案例分析答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一【问题1】4 分【问题2】12 分【问题3】3 分【问题4】6 分试题二【问题1】3 分【问题2】4 分【问题3】8 分【问题4】5 分【问题5】5 分试题三【问题1】4 分【问题2】8 分【问题3】5 分【问题4】8 分试题一…

基于javaweb的SpringBoothis智能医院管理系统(源码+文档+部署讲解)

&#x1f3ac; 秋野酱&#xff1a;《个人主页》 &#x1f525; 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 运行环境开发工具适用功能说明一、项目运行 环境配置&#xff1a; 运行环境 Java≥8、MySQL≥5.7、Node.js≥14 开发工具 后端&…

JS实现灯光闪烁效果

在 JS中&#xff0c;我们可以实现灯光闪烁效果&#xff0c;这里主要用 setInterval 和 clearInterval 两个重要方法。 效果图 源代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>灯闪烁效果<…

7.PPT:“中国梦”学习实践活动【20】

目录 NO1234​ NO5678​ NO9\10\11 NO1234 考生文件夹下创建一个名为“PPT.pptx”的新演示文稿Word素材文档的文字&#xff1a;复制/挪动→“PPT.pptx”的新演示文稿&#xff08;蓝色、黑色、红色&#xff09; 视图→幻灯片母版→重命名&#xff1a;“中国梦母版1”→背景样…

学习笔记十九:K8S生成pod过程

K8S生成pod过程 流程图具体生成过程用户提交 Pod 定义API Server 处理请求调度器分配节点&#xff08;Scheduling&#xff09;目标节点上的 Pod 创建网络配置状态上报与监控控制器管理&#xff08;Controller Manager&#xff09;就绪与服务发现 关键错误场景高级特性 流程图 具…

封装descriptions组件,描述,灵活

效果 1、组件1&#xff0c;dade-descriptions.vue <template><table><tbody><slot></slot></tbody> </table> </template><script> </script><style scoped>table {width: 100%;border-collapse: coll…

21.2.6 字体和边框

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 通过设置Rang.Font对象的几个成员就可以修改字体&#xff0c;设置Range.Borders就可以修改边框样式。 【例 21.6】【项目&#xff…

360手机刷机 360手机解Bootloader 360手机ROOT

360手机刷机 360手机解Bootloader 360手机ROOT 问&#xff1a;360手机已停产&#xff0c;现在和以后&#xff0c;能刷机吗&#xff1f; 答&#xff1a;360手机&#xff0c;是肯定能刷机的 360手机资源下载网站 360手机-360手机刷机RootTwrp 360os.top 360rom.github.io 一、…