AI+JavaWeb开发入门


全网首发AI+JavaWeb开发入门,Tlias教学管理系统项目实战全套视频教程,从需求分析、设计、前后端开发、测试、程序优化到项目部署一套搞定

https://www.bilibili.com/video/BV1yGydYEE3H/

百度网盘下载地址

https://pan.baidu.com/s/1YppYAJbfbI9dfjSqQmIp4A&pwd=1234

在线讲义地址

https://heuqqdmbyk.feishu.cn/wiki/space/7413668442156498972?ccm_open_type=lark_wiki_spaceLink&open_tab_from=wiki_home

概述

JavaWeb是整个Web开发的基础课程 ,是为后期的分布式、微服务以及项目打下坚实基础的课程。掌握课程两大部分的内容:前端开发、后端开发,学完可独立开发类似于CRM这样的企业管理系统、以及中小型的电商网站,且掌握从前期的需求分析到数据库设计,到编码实现、接口联调以及项目部署等整个完整开发部署流程。

图1 JavaWeb+AI(75:58:12)

阿里通义灵码 AI001 精通200多种编程语言!

AI时代-未来已来 Java+AI

图2 JavaWeb+AI

项目二:AIGC应用与智能体开发(线下面授课时:8天)

主要内容:

特色亮点

什么是Web

Web:全球广域网,也称为万维网(www World Wide Web),能够通过浏览器访问的网站。

图3 淘宝、京东、唯品会电子商务和CRM、OA、WMS管理系统
图4 前端、服务器端、数据库端
图5 课程安排(20天6阶段)

课程安排

阶段 时长 内容
Web前端基础 2天 HTML、CSS、JS、Vue3、Ajax
Web后端开发基础 4天 Maven、SpringBoot、Spring、SpringMVC、Mybatis、OSS、MySQL、Apifox
Web后端开发实战 6天 部门、员工、班级、学员、报表统计、登录认证、...
Web后端开发进阶 2天 AOP,SpringBoot原理,自定义Starter,Maven高级
Web前端进阶 4天 Vue工程化、ElementPlus、Tlias案例
项目部署 2天 Linux、Docker

课程收获

-- 基于SpringBoot3+Vue3设计、开发、部署单体项目的能力

图6 课程特色
图7 课程收获
Java+AI (Java基础入门到大牛)资料下载

https://pan.baidu.com/s/1aqcVtiPGPTIOPJNQeREhnw&pwd=9ydw

day1 Web前端开发(AI)


1.1 初始Web前端

网页由那几部分组成?

文字、图片、视频、音频、超链接

我们看到的网页,背后本质是什么?

程序员写的前端代码

前端代码如何转换成用户眼中的网页?
图8 常见浏览器
Web标准

Web标准也称网页标准,由一系列的标准组成,大部分由W3C(World Wide Web Consortium,万维网联盟)负责制 定。三个组成部分:

图9 Web标准(H5,C3,JS,vue,Element+,Axios)
Web前端课程安排

Web前端基础(2天)

Web前端实战(4天)

小结

一个网页由哪几个部分组成? 各自的职责?

1.2 HTML(结构)+CSS(样式)

什么是HTML

HTML(HyperText Markup Language):超文本标记语言。

图10 HTML标签
什么是CSS

CSS(Cascading Style Sheet):层叠样式表,用于控制页面的样式(表现)。

MDN HTML网址:developer.mozilla.org/zh-CN/docs/Web/HTML

MDN CSS网址:developer.mozilla.org/zh-CN/docs/Web/CSS

① HTML快速入门

01.快速入门.html
<html>
  <head>
   <title>HTML快速入门</title>
  </head>
  <body>
    <h1>Hello HTML快速入门(张婧怡)</h1>
    <img src="img/1.png">
  </body>
</html>

网页头部:用来存放给==浏览器看==的信息,如:CSS样式 网页主体:用来存放给==用户看==的信息,如:文字、图片、视频

图11 HTML小结

② 前端开发工具

VSCode安装使用
VSCode插件安装
名称 说明
1 Chinese (Simplified) Langu... 适用于VS Code的中文(简体)语言包
2 HTML CSS Support 在编写样式表的时候,自动补全功能大大缩减了编写时间。v2.0.13
3 JavaScript (ES6) code snippets 支持ES6语法提示 v1.8
4 Mithril Emmet 一个能大幅度提高前端开发效率的一个工具,用于补全代码 v0.7.7
5 Path Intellisense 路径提示插件 v2.10
6 Vue 3 Snippets 在 Vue 2 或者 Vue 3 开发中提供代码片段,语法高亮和格式化的 VS Code 插件,能极大提高你的开发效率。v1.0.4
7 Auto Close Tag 自动闭合HTML/XML标签 v0.5.15
8 Auto Rename Tag 自动完成另一侧标签的同步修改 v0.1.10
9 open in browser 直接在浏览器中打开html,快捷键与鼠标右键快速在浏览器中打开html文件v2.0.0
10 Live Server 一个实时服务器实时查看开发的网页或项目效果。v5.7.9
11 Vue Official 一个专门为 Vue 3 构建的语言支持插件。v3.0.5
12 File Utils File Utils插件,可以方便快捷的来创建、复制、移动、重命名文件和目录。v3.10.3
13 IntelliJ IDEA Keybindings 可在VSCode中使用IDEA的快捷键。v1.7.2
14 MarsCode AI MarsCode 是字节跳动豆包旗下的智能编程助手,提供以智能代码补全为代表的核心能力,支持主流编程语言及 IDE,能在编码过程中提供单行或整个函数的建议,同时支持在用户编码过程中提供代码解释、单测生成、问题修复、技术问答等辅助功能,提升编码效率与质量。v1.2.38
15 TONGYI Lingma 通义灵码,是一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云 SDK/API 的使用场景调优,为开发者带来高效、流畅的编码体验。v2.5.17
AI插件用户注册

MarsCode AI(TRAE AI) https://www.marscode.cn/home?utm_source=mkt&utm_medium=cpaitcast&utm_campaign=hmcxy

通义灵码 https://tongyi.aliyun.com/lingma

https://account.aliyun.com/register/qr_register.htm? spm=5176.29741907.J_4VYgf18xNITAyFFbOuOQe.d_register_1.e939154ab73d0j&oauth_callback=https%3A%2F%2Fwww.aliyun.com%2F

VSCode配置 setting.json
{
  "workbench.colorTheme": "Default Light+",
  "workbench.statusBar.visible": false,
  "editor.fontFamily": "'Courier New', Consolas, monospace",
  "editor.fontSize": 15,
  "editor.lineHeight": 1.8,
  "editor.tabSize": 2,
  "editor.codeActionsOnSave": {
    "source.fixAll": "explicit"
  },
  "editor.minimap.enabled": true,
  "liveServer.settings.donotShowInfoMsg": true,
  "git.confirmSync": false,
  "terminal.integrated.defaultProfile.windows": "Command Prompt"
}
图12 VSCode安装验证
自定义 HTML 代码片段
  1. 打开 VS Code,按下 Ctrl+Shift+P (Windows/Linux) 或 Cmd+Shift+P (Mac)
  2. 输入并选择 "配置用户代码片段"
  3. 选择 "html.json"(如果没有则创建)
  4. 在打开的文件中添加自定义模板,例如:json
{
  "Custom HTML Template": {
    "prefix": "html5",
    "body": [
      "<!DOCTYPE html>",
      "<html lang=\"zh-CN\">",
      "<head>",
      "  <meta charset=\"UTF-8\">",
      "  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
      "  <title>$1</title>",
      "  <script src=\"\"></script>",
      "</head>",
      "<body>",
      "  $2",
      "</body>",
      "</html>"
    ],
    "description": "自定义HTML5模板"
  }
}
  1. 保存后,在 HTML 文件中输入你设置的 prefix(如 "html5")并按 Tab 键即可生成模板
02.html入门.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Html入门(张婧怡)</title>
</head>
<body>
  <h1>Html入门(张婧怡)</h1>
  <img src="imgs/1.png" title="这是张婧怡的照片">

  <!-- 定义一个一级标题:HTML入门 -->
  <h1>HTML入门</h1>

  <!-- 定义一个图片 imgs/1.png -->
  <img src="imgs/1.png" alt="这是张婧怡的照片">

</body>
</html>

③ 常见标签 & 样式

原始页面网址:https://news.cctv.com/2024/05/15/ARTIflTnFvNMx9nUVc4PA7T2240515.shtml

(3.1) 央视新闻-标题

html页面在渲染展示的时候,是从上往下逐行解析展示的。 所以,编写页面的时候,根据页面的布局,从上往下编写。

<body>
  <!-- 定义一个标题,标题内容为:推进长江十年禁渔 谱写长江大保护新篇章 -->
  <h1>推进长江十年禁渔 谱写长江大保护新篇章</h1>
  <!-- 定义一个超链接,里面显示 央视网 -->
  <a href="https://www.cctv.com/">央视网</a> 2024年05月15日 20:07
</body>
03.央视新闻-标题-排版.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>央视新闻-标题-排版</title>
  <script src=""></script>
</head>
<body>
  <!-- 定义一个标题:推进长江十年禁渔 谱写长江大保护新篇章 -->
  <h1 class="title">推进长江十年禁渔 谱写长江大保护新篇章</h1>
  <!-- 定义一个超链接,里面显示 央视网 -->
  <!-- a 超链接标签:
        href:链接地址-url地址
        target:打开方式
        blank:新窗口打开
        _self:本窗口打开(默认) -->  
  <a href="https://www.cctv.com" target="_blank">央视网</a> <span>2024年05月15日 20:07</span>
</body>
</html>
CSS引入方式:
<!-- 行内样式 -->
<span style="color: gray;">2024年05月15日 20:07</span>

<!-- 内部样式 -->
<style>
  span {
    color: gray;
  }
</style>


<!-- 外部样式 引入 -->
<link rel="stylesheet" href="css/news.css">

css/news.css

span {
  color: gray;
}
颜色表示形式:
表示方式 属性值 说明 示例
关键字 颜色英文单词 red、green、blue red、green、blue...
rgb表示法 rgb(r,g,b) 红绿蓝三原色,取值:0-255 rgb(0,0,0)、rgb(255,0,0)
rgba表示法 rgba(r,g,b,a) 红绿蓝三原色,a表示透明度,取值:0-1 rgba(0,0,0,0.3)、rgba(255,0,0,0.5)
十六进制表示法 #rrggbb #开头,将数字转换成十六进制表示 #000000、#ff0000,简写:#000、#f00
图13 CSS小结
04.央视新闻-标题-样式.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章</title>
  <!-- 方式二: 内部样式 -->
  <style>
    .span2{
      /* 关键字 */
      /* color: gray; */

      /* RGB表示法 */
      /* color: rgb(255, 120, 0); */

      /* RGBA表示法 */
      /* color: rgba(255, 120, 0, 0); */

      /* 十六进制表示法 */
      /* color: #0000ff; */
      color: #b2b2b2;
    }
  </style>

  <!-- 方式三: 外部样式 -->
  <link rel="stylesheet" href="css/news.css">
</head>
<body>
  <h1>央视新闻-标题-样式(张婧怡)</h1>
  <hr>
  <!-- 定义一个标题, 标题内容: 【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章 -->
  <h1>【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章</h1>

  <!-- 定义一个超链接, 里面展示 央视网 -->
  <a href="https://www.cctv.com" target="_blank">央视网</a> 

  <!-- 方式一: 行内样式 -->
  <span style="color: red;">2024年05月15日 20:07</span>

  <!-- 方式二: 内部样式 -->
  <span class="span2">2024年05月15日 20:07</span>
  <span class="span2">2025年08月04日 20:07</span>

    <!-- 方式三: 外部样式 -->
    <span id="span3">2024年05月15日 20:07</span>
</body>
</html>
css/news.css
#span3{
  color: greenyellow;
}
CSS选择器
选择器 写法 示例 示例说明
元素选择器 元素名称 {...} h1 {...} 选择页面上所有的

标签

类选择器 .class属性值 {...} .cls {...} 选择页面上所有class属性为cls的标签
id选择器 #id属性值 {...} #hid {...} 选择页面上id属性为hid的标签
分组选择器 选择器1,选择器2{...} h1,h2 {...} 选择页面上所有的

标签

属性选择器 元素名称[属性] {...} input[type] {...} 选择页面上有type属性的标签元素
名称[属性名="值"] {...} input[type="text"] {...} 选择页面上type属性为text的标签
后代选择器 元素1元素2{...} form input {...} 选择
标签内的所有标签
05.央视新闻-标题-样式(选择器).html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章</title>
  <style>
    /* 元素选择器 */
    span {
      color: #b2b2b2;
    }

    /* 类选择器 */
    .cls {
      color: #ff0000;
    }

    /* ID选择器 */
    #time {
      color: #09b967;
    }

    a {
      /* 去除超链接下方的下划线 */
      text-decoration: none;
    }
  </style>
</head>

<body>
  <h1>央视新闻-标题-样式-选择器(张婧怡)</h1>
  <hr>
  <!-- 定义一个标题, 标题内容: 【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章 -->
  <h1>【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章</h1>

  <!-- 定义一个超链接, 里面展示 央视网 -->
  <a href="https://www.cctv.com" target="_blank">央视网</a> <br>

  元素选择器:<span >2024年05月15日 20:07</span> <span>666666</span><br>
  类选择器:<span class="cls" >2024年05月15日 20:07</span><br>
  ID选择器:<span id="time">2024年05月15日 20:07</span>

</body>
</html>
CSS选择器小结
图14 CSS选择器小结

(3.2) 央视新闻-正文

标签 作用 属性说明
<video> 视频 src:指定视频的url(绝对路径/相对路径)
controls:是否显示播放控件
width:宽度(像素/相对于父元素百分比)
height:高度(像素/相对于父元素百分比)
<img> 图片 src, width,height
<p> 段落
<b> / <strong> 加粗 <strong>具有强调语义
<u> / <ins> 下划线 <ins> 具有强调语义
<i> / <em> 倾斜 <em> 具有强调语义
<s> / <del> 删除线 <del>具有强调语义
06.央视新闻-正文-排版.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章</title>
  <style>
    #time {
      color: #b2b2b2;
    }

    a {
      /* 去除超链接下方的下划线 */
      text-decoration: none;
    }
  </style>
</head>

<body>
  <h1>央视新闻-正文-排版(张婧怡)</h1>
  <hr>
  <!-- --------------------------- 新闻标题 -------------------------------- -->
  <!-- 定义一个标题, 标题内容: 【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章 -->
  <h1>【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章</h1>

  <!-- 定义一个超链接, 里面展示 央视网 -->
  <a href="https://www.cctv.com" target="_blank">央视网</a> 

  <span class="cls" id="time">2024年05月15日 20:07</span>
  <br><br>

  <!-- --------------------------- 新闻正文 -------------------------------- -->
  <!-- 定义一个视频, 引入 video/news.mp4 -->
  <!-- video标签属性 
        src: 视频地址
        controls: 显示播放控件
        autoplay: 自动播放
        width: 视频宽度(建议: 宽度和高度只设置一个即可, 另一个会等比例缩放)
        height: 视频高度
          单位: 
            px: 像素
            %: 百分比 (相对于父元素的百分比)
  -->
  <video src="video/news.mp4" controls width="80%"></video>
  <p>
    新闻联播(音频播放):<audio src="audio/news.mp3" controls></audio>
  </p>

  <p>
    央视网消息(新闻联播):作为共抓长江大保护的标志性工程,长江十年禁渔今年进入第四年。总书记指出,长江禁渔是为全局计、为子孙谋的重要决策。牢记总书记嘱托,沿江省市持续推进长江水生生物多样性恢复,努力保障退捕渔民就业生活。这段时间,记者深入长江两岸,记录下禁渔工作取得的重要阶段性成效和广大干部群众坚定不移推进长江十年禁渔的扎实行动。
  </p>

  <p>
    行走在长江沿线,科研人员发现很多可喜现象。
  </p>

  <!-- 定义一张图片, 引入 img/1.gif -->
  <!-- img标签属性:  
        src: 图片的访问地址
          1. 绝对路径
            1.1 绝对磁盘路径: C:\Users\Administrator\Desktop\img\1.gif (不推荐)
            1.2 绝对网络路径: https://www.baidu.com/img/1.gif
          2. 相对路径
            2.1 ./ : 当前目录 (可以省略) , 如: ./img/1.gif
            2.2 ../: 上一级目录
        width: 图片宽度(建议: 宽度和高度只设置一个即可, 另一个会等比例缩放)
        height: 图片高度
  -->
  <img src="imgs/1.gif" width="80%"></img>

  <p>
    在长江南源,一处小头裸裂尻鱼新的栖息地被发现,鱼的数量大约超3万尾,为水生态保护提供了珍贵数据。
  </p>

  <p>
    在长江中游,追踪显示,人工增殖放流的中华鲟成功入海率已经从45%左右提升至60%以上;鄱阳湖鱼类小型化、低龄化趋势得到遏制,栖息地生存环境得以改善。
  </p>

  <p>
    在长江下游,今年3月起,南京秦淮河入江口首次出现野生中华绒螯蟹大规模洄游现象,种群数量明显增加。
  </p>

  <img src="imgs/2.jpg" width="80%"></img>

  <p>
    水生生物资源恢复向好,见证了长江十年禁渔三年多来的阶段性成果。
  </p>

  <p>
    实施长江十年禁渔,是以同志为核心的党中央从中华民族长远利益出发作出的重要决策。党的十八大以来,总书记多次深入长江沿线考察调研,详细了解长江十年禁渔的实施情况,他指出,要坚定推进长江十年禁渔,巩固好已经取得的成果。
  </p>

  <img src="imgs/3.jpg" width="80%"></img>

  <p>
    按照部署,自2021年1月1日起,在长江干流、大型通江湖泊、重要支流和长江口部分海域实行为期十年的禁渔,常年禁止天然渔业资源的生产性捕捞。禁渔三年多来,相关评估显示,长江干流和鄱阳湖、洞庭湖水生生物完整性指数由禁渔前最差的“无鱼”提升了两个等级。2022年,长江江豚数量达到1249头,实现历史性止跌回升。长江干流水质连续4年全线保持Ⅱ类。
  </p>

  <p>
    实施长江十年禁渔,解决好渔民上岸后的生产生活问题,禁渔才有稳定扎实的社会基础。
  </p>

  <img src="imgs/4.jpg" width="80%"></img>

  <p>
    安徽退捕转产的3万多名渔民,在政府的引导下接受就业培训。在当涂县,免费学习养殖技术,养殖生态螃蟹成了退捕渔民的新选择。
  </p>

  <p>
    在拥有洞庭湖超六成水域的湖南岳阳,政府帮扶上岸渔民建起养殖场,发展风干鱼产业,还带领他们学习直播带货,拓宽销路。
  </p>

  <p>
    在渔民退捕上岸的鄱阳湖棠荫岛,当地在继续保护好生态的前提下,正探索规划利用独特的自然资源发展旅游产业。禁渔三年多来,有关部门对23.1万退捕渔民逐一建档立卡,多渠道提升就业、社保水平。
  </p>

  <img src="imgs/5.jpg" width="80%"></img>

  <p>
    长江十年禁渔实施以来,沿江省市合力攻坚、久久为功,长江大保护不断向纵深推进,持续巩固禁渔成果。下一步,沿江省市还将加强水生生物重要栖息地修复,建立退捕渔民动态精准帮扶服务,完善跨区域、跨部门执法合作机制,确保一江清水绵延后世、惠泽人民。
  </p>

</body>
</html>
资源路径写法
07.央视新闻-正文-样式.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章</title>
  <style>
    #time {
      color: #b2b2b2;
    }

    a {
      /* 去除超链接下方的下划线 */
      text-decoration: none;
    }

    p {
      /* 设置行高 */
      line-height: 2; /* 行高: 2倍行高 */

      /* 设置首行缩进 */
      text-indent: 2em; /* 首行缩进2个字符 */

      width: 80%;
    }
  </style>
</head>

<body>
  <h1>央视新闻-正文-样式(张婧怡)</h1>
  <hr>
  <!-- --------------------------- 新闻标题 -------------------------------- -->
  <!-- 定义一个标题, 标题内容: 【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章 -->
  <h1>【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章</h1>

  <!-- 定义一个超链接, 里面展示 央视网 -->
  <a href="https://www.cctv.com" target="_blank">央视网</a> 

  <span id="time">2024年05月15日 20:07</span>
  <br><br>

  <!-- --------------------------- 新闻正文 -------------------------------- -->
  <!-- 定义一个视频, 引入 video/news.mp4 -->
  <video src="video/news.mp4" controls width="80%"></video>

  <p>
    <!-- <b>央视网消息</b> -->
    <!-- <strong>&nbsp;&nbsp;&nbsp;&nbsp;央视网消息</strong> -->
    <strong>央视网消息</strong>
    (新闻联播):作为共抓长江大保护的标志性工程,长江十年禁渔今年进入第四年。总书记指出,长江禁渔是为全局计、为子孙谋的重要决策。牢记总书记嘱托,沿江省市持续推进长江水生生物多样性恢复,努力保障退捕渔民就业生活。这段时间,记者深入长江两岸,记录下禁渔工作取得的重要阶段性成效和广大干部群众坚定不移推进长江十年禁渔的扎实行动。
  </p>

  <p>
    行走在长江沿线,科研人员发现很多可喜现象。
  </p>

  <!-- 定义一张图片, 引入 img/1.gif -->
  <img src="imgs/1.gif" width="80%"></img>

  <p>
    在长江南源,一处小头裸裂尻鱼新的栖息地被发现,鱼的数量大约超3万尾,为水生态保护提供了珍贵数据。
  </p>

  <p>
    在长江中游,追踪显示,人工增殖放流的中华鲟成功入海率已经从45%左右提升至60%以上;鄱阳湖鱼类小型化、低龄化趋势得到遏制,栖息地生存环境得以改善。
  </p>

  <p>
    在长江下游,今年3月起,南京秦淮河入江口首次出现野生中华绒螯蟹大规模洄游现象,种群数量明显增加。
  </p>

  <img src="imgs/2.jpg" width="80%"></img>

  <p>
    水生生物资源恢复向好,见证了长江十年禁渔三年多来的阶段性成果。
  </p>

  <p>
    实施长江十年禁渔,是以同志为核心的党中央从中华民族长远利益出发作出的重要决策。党的十八大以来,总书记多次深入长江沿线考察调研,详细了解长江十年禁渔的实施情况,他指出,要坚定推进长江十年禁渔,巩固好已经取得的成果。
  </p>

  <img src="imgs/3.jpg" width="80%"></img>

  <p>
    按照部署,自2021年1月1日起,在长江干流、大型通江湖泊、重要支流和长江口部分海域实行为期十年的禁渔,常年禁止天然渔业资源的生产性捕捞。禁渔三年多来,相关评估显示,长江干流和鄱阳湖、洞庭湖水生生物完整性指数由禁渔前最差的“无鱼”提升了两个等级。2022年,长江江豚数量达到1249头,实现历史性止跌回升。长江干流水质连续4年全线保持Ⅱ类。
  </p>

  <p>
    实施长江十年禁渔,解决好渔民上岸后的生产生活问题,禁渔才有稳定扎实的社会基础。
  </p>

  <img src="imgs/4.jpg" width="80%"></img>

  <p>
    安徽退捕转产的3万多名渔民,在政府的引导下接受就业培训。在当涂县,免费学习养殖技术,养殖生态螃蟹成了退捕渔民的新选择。
  </p>

  <p>
    在拥有洞庭湖超六成水域的湖南岳阳,政府帮扶上岸渔民建起养殖场,发展风干鱼产业,还带领他们学习直播带货,拓宽销路。
  </p>

  <p>
    在渔民退捕上岸的鄱阳湖棠荫岛,当地在继续保护好生态的前提下,正探索规划利用独特的自然资源发展旅游产业。禁渔三年多来,有关部门对23.1万退捕渔民逐一建档立卡,多渠道提升就业、社保水平。
  </p>

  <img src="imgs/5.jpg" width="80%"></img>

  <p>
    长江十年禁渔实施以来,沿江省市合力攻坚、久久为功,长江大保护不断向纵深推进,持续巩固禁渔成果。下一步,沿江省市还将加强水生生物重要栖息地修复,建立退捕渔民动态精准帮扶服务,完善跨区域、跨部门执法合作机制,确保一江清水绵延后世、惠泽人民。
  </p>

</body>
</html>
字符实体 属性/说明
&nbsp; 空格
&lt; <
&gt; >
CSS属性:

如何设置html网页的整体页面占版面的70%,并居中显示。

#content-container {
   width:70%;/*宽度:70%*/
   margin-left:auto; /* 居中显示 */
   margin-right:auto; /* 居中显示 */
}
08.央视新闻-整体布局.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章</title>
  <style>
    #time {
      color: #b2b2b2;
    }

    a {
      /* 去除超链接下方的下划线 */
      text-decoration: none;
    }

    p {
      /* 设置行高 */
      line-height: 2; /* 行高: 2倍行高 */

      /* 设置首行缩进 */
      text-indent: 2em; /* 首行缩进2个字符 */
    }

    /* 整体版面居中显示 */
    #content-container {
      width: 60%; /* 宽度: 60% */
      /* margin: 0 auto; */
      margin-left: auto; /* 居中显示 */
      margin-right: auto; /* 居中显示 */
    }
  </style>
</head>

<body>

  <div id="content-container">
    <h1>央视新闻-整体布局(张婧怡)</h1>
    <hr>
    <!-- --------------------------- 新闻标题 -------------------------------- -->
    <!-- 定义一个标题, 标题内容: 【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章 -->
    <h1>【新思想引领新征程】推进长江十年禁渔 谱写长江大保护新篇章</h1>

    <!-- 定义一个超链接, 里面展示 央视网 -->
    <a href="https://www.cctv.com" target="_blank">央视网</a> 

    <span class="cls" id="time">2024年05月15日 20:07</span>
    <br><br>

    <!-- --------------------------- 新闻正文 -------------------------------- -->
    <!-- 定义一个视频, 引入 video/news.mp4 -->
    <video src="video/news.mp4" controls width="100%"></video>

    <p>
      <strong>央视网消息</strong>
      (新闻联播):作为共抓长江大保护的标志性工程,长江十年禁渔今年进入第四年。总书记指出,长江禁渔是为全局计、为子孙谋的重要决策。牢记总书记嘱托,沿江省市持续推进长江水生生物多样性恢复,努力保障退捕渔民就业生活。这段时间,记者深入长江两岸,记录下禁渔工作取得的重要阶段性成效和广大干部群众坚定不移推进长江十年禁渔的扎实行动。
    </p>

    <p>
      行走在长江沿线,科研人员发现很多可喜现象。
    </p>

    <!-- 定义一张图片, 引入 img/1.gif -->
    <img src="imgs/1.gif" width="100%"></img>

    <p>
      在长江南源,一处小头裸裂尻鱼新的栖息地被发现,鱼的数量大约超3万尾,为水生态保护提供了珍贵数据。
    </p>

    <p>
      在长江中游,追踪显示,人工增殖放流的中华鲟成功入海率已经从45%左右提升至60%以上;鄱阳湖鱼类小型化、低龄化趋势得到遏制,栖息地生存环境得以改善。
    </p>

    <p>
      在长江下游,今年3月起,南京秦淮河入江口首次出现野生中华绒螯蟹大规模洄游现象,种群数量明显增加。
    </p>

    <img src="imgs/2.jpg" width="100%"></img>

    <p>
      水生生物资源恢复向好,见证了长江十年禁渔三年多来的阶段性成果。
    </p>

    <p>
      实施长江十年禁渔,是以同志为核心的党中央从中华民族长远利益出发作出的重要决策。党的十八大以来,总书记多次深入长江沿线考察调研,详细了解长江十年禁渔的实施情况,他指出,要坚定推进长江十年禁渔,巩固好已经取得的成果。
    </p>

    <img src="imgs/3.jpg" width="100%"></img>

    <p>
      按照部署,自2021年1月1日起,在长江干流、大型通江湖泊、重要支流和长江口部分海域实行为期十年的禁渔,常年禁止天然渔业资源的生产性捕捞。禁渔三年多来,相关评估显示,长江干流和鄱阳湖、洞庭湖水生生物完整性指数由禁渔前最差的“无鱼”提升了两个等级。2022年,长江江豚数量达到1249头,实现历史性止跌回升。长江干流水质连续4年全线保持Ⅱ类。
    </p>

    <p>
      实施长江十年禁渔,解决好渔民上岸后的生产生活问题,禁渔才有稳定扎实的社会基础。
    </p>

    <img src="imgs/4.jpg" width="100%"></img>

    <p>
      安徽退捕转产的3万多名渔民,在政府的引导下接受就业培训。在当涂县,免费学习养殖技术,养殖生态螃蟹成了退捕渔民的新选择。
    </p>

    <p>
      在拥有洞庭湖超六成水域的湖南岳阳,政府帮扶上岸渔民建起养殖场,发展风干鱼产业,还带领他们学习直播带货,拓宽销路。
    </p>

    <p>
      在渔民退捕上岸的鄱阳湖棠荫岛,当地在继续保护好生态的前提下,正探索规划利用独特的自然资源发展旅游产业。禁渔三年多来,有关部门对23.1万退捕渔民逐一建档立卡,多渠道提升就业、社保水平。
    </p>

    <img src="imgs/5.jpg" width="100%"></img>

    <p>
      长江十年禁渔实施以来,沿江省市合力攻坚、久久为功,长江大保护不断向纵深推进,持续巩固禁渔成果。下一步,沿江省市还将加强水生生物重要栖息地修复,建立退捕渔民动态精准帮扶服务,完善跨区域、跨部门执法合作机制,确保一江清水绵延后世、惠泽人民。
    </p>
  </div>

</body>
</html>
盒子模型
图15 盒子
图16 盒子模型
布局标签

网页开发中,会使用 div 和 span 这两个没有语义的布局标签。

图17 DIV与Span边框定义
margin属性只能定义空白宽度,没有背景颜色定义?

margin 是 “透明的外部间距”,负责控制元素间的距离;

09.盒子模型.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>盒子模型</title>
  <style>
    div {
      width: 400px; /* 宽度: 400像素; 默认是内容展示区域的宽度 */
      height: 300px; /* 高度: 300像素; 默认是内容展示区域的高度 */
      background-color: #ffff00;
      padding: 30px; /* 内边距: 30像素 */
      box-sizing: border-box;  /* 盒子模型: 边框+内边距+内容 */
      border: 20px solid #ff00ff; /* 边框: 20像素 */
      /* margin: 30px; 外边距: 30像素 */
      margin: 15px auto; /* 上下外边距: 15像素 左右居中*/
    } 
  </style>
</head>

<body>
  <h1>盒子模型(张婧怡)</h1>
  <hr>
  <div id="div1">
    A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A 
  </div>

  <div id="div2">
    B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B
  </div>

  <span>
    C C C C C C C C C C C C C C C C C C C C C C C C C C 
  </span>

  <span>
    D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D
  </span>
</body>
</html>
图18 盒子模型演示
盒子模型小结
图19 盒子模型小结

(3.3)Tlias案例

参照页面原型,完成员工管理页面制作

页面原型:

指在应用程序开发初期,由产品经理制作的一个早期项目模型,它用于展示页面的基本布局、功能和交互设计。通常用来帮助设计师、开发者等更好地理解和讨论最终产品的外观和行为。

图20 Tlias案例-页面原型-员工管理
1) 顶部导航栏
AI提示词
你是一名前端开发工程师,现需要制作一个HTML页面,这个页面共分为4个部分,先实现第一个部分-顶部导航栏。具体需求如下:
1.内容:要展示一个醒目(加粗加粗展示)的标题,标题内容:T1ias智能学习辅助系统;还要展示一个“退出登录”的超链接。
2.布局:标题和退出登录的超链接,展示在一行里面。标题居左显示,退出登录的超链接居右展示。
3.给整个顶部导航栏,设置一个灰色的背景色。
请帮我生成这个HTML页面。

接下来,再帮我生成第二个部分-搜索表单区域,具体说明如下:
1.组成:包括三个表单项和两个操作按钮。
1.1表单项具体为:姓名(文本输入框)、性别(下拉选择,选项包括男/女,
默认为空)、职位(下拉选择,选项包括班主任、讲师、学工主管、教研主管、咨询师,默认为空),
1.2两个按钮:“查询”与“清空”按钮,用于提交表单或重置表单项。
2.布局:所有表单项及按钮需水平排列于一行,确保美观大气。

再继续帮我生成第三个部分-表格展示区:
1.表格结构:展示列包括姓名、性别(显示 男/女)、头像(小图片展示)、职位(显示:班主任/讲师/学工主管/教研主管/
咨询师)、入职日期、最后操作时间、操作(里包含两个按钮编辑与删除)。
2.测试数据:基于《笑傲江湖》小说人物在表格中生成3条测试数据,每条数据应包含上述所有列的信息,以体现实际应用场景。
3.样式:可适当调整表格样式,确保美观大气。


再继续帮我生成第四个部分-页脚版权区域
1.内容:第一行显示公司全称“江苏传智播客教育科技股份有限公司”:第二行展示版权信息,“版权所有 Copyright2006-2024 All Rights Reserved”。
2.设计:该区域应具有灰色背景,字体颜色为白色,居中对齐,以营造专业且统一的视觉效果。
flex弹性布局
属性 取值 含义
display flex 使用flex弹性布局
flex-direction row 主轴方向为x轴,水平向右。(默认)
(设置主轴) column 主轴方向为y轴,垂直向下。
justify-content flex-start 从头开始排列
(子元素在主轴上的对齐方式) flex-end 从尾部开始排列
center 在主轴居中对齐
space-around 平分剩余空间
space-between 先两边贴边,再平分剩余空间
11.flex布局.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>flex弹性布局</title>
  <style>
    /* body {
      margin: 0;
    } */
    #container {
      background-color: #f1eeee;
      width: 500px;
      height: 300px;

      display: flex; /* flex弹性布局 */
      flex-direction: row; /* 默认为row水平布局, 设置主轴 */
      /* flex-start: 从头开始排列 */
      /* flex-end: 从尾部开始排列 */
      /* center: 在主轴上居中对齐 */
      /* space-around: 平分剩余空间 */
      /* space-between: 先两边贴边, 再平分剩余空间 */
      justify-content: space-around; 
    }
    .item {
      background-color: rgb(184, 246, 184);
      border: 1px solid rgb(141, 138, 138);
      width: 100px;
      height: 50px;
      text-align: center;
      /* 上下居中 */
      line-height: 50px;
    }
  </style>
</head>
<body>
  <h1>flex弹性布局(张婧怡)</h1>
  <hr>
  <div id="container">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item">3</div>
  </div>
</body>
</html>
2) 搜索表单区域
图21 表单
12.表单标签.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>表单标签</title>
</head>
<body>
  <!-- form表单:
        action: 表单数据提交的url地址
        method: 提交方式
          get: 默认, 表单数据会出现在url后面, 形式: /save?name=Tom&age=18
            特点:
              1. 如果表单中包含了隐私数据, get方式并不安全, 不推荐使用该方式.
              2. 在浏览器中get请求的大小是有限制的, 不适合提交大数据量的表单.
          post: 表单数据会在消息体/请求体中提交到服务器
            特点: 
              1. 安全.
              2. 请求大小没有限制
      注意: 表单项要想能够采集数据, 必须得设置name属性, 表示当前表单项的名字
  -->
  <h1>表单标签(张婧怡)</h1>
  <hr>  
  <form action="/save" method="post">
    姓名: <input type="text" name="name">
    年龄: <input type="text" name="age">
    <input type="submit" value="提交">
  </form>
</body>
</html>
图22 表单标签小结
表单项标签
<input> 的type属性:text、password、radio、checkbox、file、date、datetime-local、time、hidden、button、submit
<select> 定义下拉列表
<textarea> 定义文本域
type取值 描述
text 默认值,定义单行的输入字段
password 定义密码字段
radio 定义单选按钮
checkbox 定义复选框
file 定义文件上传按钮
date/time/datetime-local 定义日期/时间/日期时间
hidden 定义隐藏域
submit / reset / button 定义提交按钮 / 重置按钮 / 可点击按钮
图23 表单项标签
13.表单项标签.html
<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML-表单项标签</title>
</head>
<body>
    <h1>HTML-表单项标签(张婧怡)</h1>
    <hr>
<!-- value: 表单项提交的值 -->
<form action="/save" method="post">
     姓名: <input type="text" name="name"> <br><br>

     密码: <input type="password" name="password"> <br><br> 

     性别: <input type="radio" name="gender" value="1"><label><input type="radio" name="gender" value="2"></label> <br><br>

     爱好: <label><input type="checkbox" name="hobby" value="java"> java </label>
          <label><input type="checkbox" name="hobby" value="game"> game </label>
          <label><input type="checkbox" name="hobby" value="sing"> sing </label> <br><br>

     图像: <input type="file" name="image">  <br><br>

     生日: <input type="date" name="birthday"> <br><br>

     时间: <input type="time" name="time"> <br><br>

     日期时间: <input type="datetime-local" name="datetime"> <br><br>

     学历: <select name="degree">
               <option value="">----------- 请选择 -----------</option>
               <option value="1">大专</option>
               <option value="2">本科</option>
               <option value="3">硕士</option>
               <option value="4">博士</option>
          </select>  <br><br>

     描述: <textarea name="description" cols="30" rows="10"></textarea>  <br><br>

     <input type="hidden" name="id" value="1">

     <!-- 表单常见按钮 -->
     <input type="button" value="按钮">
     <input type="reset" value="重置"> 
     <input type="submit" value="提交">   
     <br>
</form>

</body>
</html>
14.Tlias案例-搜索表单区域.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Tlias智能学习辅助系统</title>
    <style>
        /* 导航栏样式 */
        .navbar {
            background-color: #b5b3b3; /* 灰色背景 */

            display: flex; /* flex弹性布局 */
            justify-content: space-between; /* 左右对齐 */

            padding: 10px; /* 内边距 */
            align-items: center; /* 垂直居中 */
        }
        .navbar h1 {
            margin: 0; /* 移除默认的上下外边距 */
            font-weight: bold; /* 加粗 */
            color: white;
            /* 设置字体为楷体 */
            font-family: "楷体";
        }
        .navbar a {
            color: white; /* 链接颜色为白色 */
            text-decoration: none; /* 移除下划线 */
        }

        /* 搜索表单样式 */
        .search-form {
            display: flex;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: space-around;
            gap: 10px; /* 控件之间的间距 */
            padding: 20px 0;
            background-color: #ffe2de;
        }
        .search-form input[type="text"], .search-form select {
            padding: 5px; /* 输入框内边距 */
            width: 300px; /* 宽度 */
        }
        .search-form button {
            padding: 5px 15px; /* 按钮内边距 */
        }
    </style>
</head>
<body>
    <!-- 顶部导航栏 -->
    <div class="navbar">
        <h1>Tlias智能学习辅助系统(张婧怡)</h1>
        <a href="#">退出登录</a>
    </div>

    <!-- 搜索表单区域 -->
    <!-- form表单标签: 
            action: 表单提交的地址 - url
            method: 表单提交的方式 - get(默认) / post
                get: 提交时, 表单数据会在url后提交到服务端; 比如: /search?name=Tom&gender=2&position=3 ; 
                     get方式提交数据长度有限制, 不能提交大量数据; get方式不安全;
                post: 提交时, 表单数据会在请求体(消息体)中提交到服务端; 比如: /search -- name=Cat&gender=1&position=2
                     post方式提交数据长度无限制; post方式安全;
    -->
    <form class="search-form" action="/search" method="post">
        <label >姓名:
        <input type="text" name="name" placeholder="请输入姓名"></label>

        <label>性别:
        <select name="gender">
            <option value=""></option>
            <option value="1"></option>
            <option value="2"></option>
        </select></label>

        <label>职位:
        <select name="position">
            <option value=""></option>
            <option value="1">班主任</option>
            <option value="2">讲师</option>
            <option value="3">学工主管</option>
            <option value="4">教研主管</option>
            <option value="5">咨询师</option>
        </select></label>

        <label><button type="submit">查询</button>
        <button type="reset">清空</button></label>
    </form>
</body>
</html>
图24 表单项标签小结
3) 表格数据展示区域
表格标签:
标签 描述
<table> 定义表格整体
<thead> 用于定义表格头部(可选)
<tbody> 定义表格中的主体部分(可选)
<tr> 表格的行,可以包裹多个
<td> 表格单元格(普通),可以包裹内容;如果是表头单元格,可以替换为
15.Tlias案例-表格数据展示区域.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Tlias智能学习辅助系统</title>
    <style>
        /* 导航栏样式 */
        .navbar {
            background-color: #b5b3b3; /* 灰色背景 */

            display: flex; /* flex弹性布局 */
            justify-content: space-between; /* 左右对齐 */

            padding: 10px; /* 内边距 */
            align-items: center; /* 垂直居中 */
        }
        .navbar h1 {
            margin: 0; /* 移除默认的上下外边距 */
            font-weight: bold; /* 加粗 */
            color: white;
            /* 设置字体为楷体 */
            font-family: "楷体";
        }
        .navbar a {
            color: white; /* 链接颜色为白色 */
            text-decoration: none; /* 移除下划线 */
        }

        /* 搜索表单样式 */
        .search-form {
            display: flex;
            flex-wrap: nowrap;
            align-items: center;
            gap: 10px; /* 控件之间的间距 */
            margin: 20px 0;
        }
        .search-form input[type="text"], .search-form select {
            padding: 5px; /* 输入框内边距 */
            width: 300px; /* 宽度 */
        }
        .search-form button {
            padding: 5px 15px; /* 按钮内边距 */
        }

        /* 表格样式 */
        table {
            width: 100%;
            border-collapse: collapse;
        }
        th, td {
            border: 1px solid #ddd; /* 边框 */
            padding: 8px; /* 单元格内边距 */
            text-align: center; /* 左对齐 */
        }
        th {
            background-color: #f2f2f2;
            font-weight: bold;
        }
        tr:nth-child(even) {
            background-color: #f2f2f2;
        }
        .avatar {
            width: 50px;
            height: 50px;
        }
    </style>
</head>
<body>
    <!-- 顶部导航栏 -->
    <div class="navbar">
        <h1>Tlias智能学习辅助系统(张婧怡)</h1>
        <a href="#">退出登录</a>
    </div>

    <!-- 搜索表单区域 -->
    <form class="search-form" action="/search" method="post">
        <label for="name">姓名:</label>
        <input type="text" id="name" name="name" placeholder="请输入姓名">

        <label for="gender">性别:</label>
        <select id="gender" name="gender">
            <option value=""></option>
            <option value="1"></option>
            <option value="2"></option>
        </select>

        <label for="position">职位:</label>
        <select id="position" name="position">
            <option value=""></option>
            <option value="1">班主任</option>
            <option value="2">讲师</option>
            <option value="3">学工主管</option>
            <option value="4">教研主管</option>
            <option value="5">咨询师</option>
        </select>

        <button type="submit">查询</button>
        <button type="reset">清空</button>
    </form>

    <!-- 表格展示区 -->
    <table>
        <!-- 表头 -->
        <thead>
            <tr>
                <th>姓名</th>
                <th>性别</th>
                <th>头像</th>
                <th>职位</th>
                <th>入职日期</th>
                <th>最后操作时间</th>
                <th>操作</th>
            </tr>
        </thead>

        <!-- 表格主体内容 -->
        <tbody>
            <tr>
                <td>令狐冲</td>
                <td></td>
                <td><img class="avatar" src="https://web-framework.oss-cn-hangzhou.aliyuncs.com/2023/1.jpg" alt="令狐冲"></td>
                <td>讲师</td>
                <td>2021-06-15</td>
                <td>2024-09-16 15:30</td>
                <td class="action-buttons">
                    <button type="button">编辑</button>
                    <button type="button">删除</button>
                </td>
            </tr>
            <tr>
                <td>任盈盈</td>
                <td></td>
                <td><img class="avatar" src="https://web-framework.oss-cn-hangzhou.aliyuncs.com/2023/1.jpg" alt="任盈盈"></td>
                <td>咨询师</td>
                <td>2021-07-20</td>
                <td>2024-09-17 09:00</td>
                <td class="action-buttons">
                    <button type="button">编辑</button>
                    <button type="button">删除</button>
                </td>
            </tr>
            <tr>
                <td>向问天</td>
                <td></td>
                <td><img class="avatar" src="https://web-framework.oss-cn-hangzhou.aliyuncs.com/2023/1.jpg" alt="向问天"></td>
                <td>教研主管</td>
                <td>2021-05-01</td>
                <td>2024-09-15 17:45</td>
                <td class="action-buttons">
                    <button type="button">编辑</button>
                    <button type="button">删除</button>
                </td>
            </tr>
            <tr>
                <td>任我行</td>
                <td></td>
                <td><img class="avatar" src="https://web-framework.oss-cn-hangzhou.aliyuncs.com/2023/1.jpg" alt="向问天"></td>
                <td>教研主管</td>
                <td>2021-05-01</td>
                <td>2024-09-15 17:45</td>
                <td class="action-buttons">
                    <button type="button">编辑</button>
                    <button type="button">删除</button>
                </td>
            </tr>
        </tbody>
    </table>

</body>
</html>
4) 底部版权区域
16.Tlias案例-底部版权区域.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Tlias智能学习辅助系统</title>
    <style>
        /* 导航栏样式 */
        .navbar {
            background-color: #b5b3b3; /* 灰色背景 */

            display: flex; /* flex弹性布局 */
            justify-content: space-between; /* 左右对齐 */

            padding: 10px; /* 内边距 */
            align-items: center; /* 垂直居中 */
        }
        .navbar h1 {
            margin: 0; /* 移除默认的上下外边距 */
            font-weight: bold; /* 加粗 */
            color: white;
            /* 设置字体为楷体 */
            font-family: "楷体";
        }
        .navbar a {
            color: white; /* 链接颜色为白色 */
            text-decoration: none; /* 移除下划线 */
        }

        /* 搜索表单样式 */
        .search-form {
            display: flex;
            flex-wrap: nowrap;
            align-items: center;
            gap: 10px; /* 控件之间的间距 */
            margin: 20px 0;
        }
        .search-form input[type="text"], .search-form select {
            padding: 5px; /* 输入框内边距 */
            width: 260px; /* 宽度 */
        }
        .search-form button {
            padding: 5px 15px; /* 按钮内边距 */
        }

        /* 表格样式 */
        table {
            width: 100%;
            border-collapse: collapse;
        }
        th, td {
            border: 1px solid #ddd; /* 边框 */
            padding: 8px; /* 单元格内边距 */
            text-align: center; /* 左对齐 */
        }
        th {
            background-color: #f2f2f2;
            font-weight: bold;
        }
        tr:nth-child(even) {
            background-color: #f2f2f2;
        }
        .avatar {
            width: 30px;
            height: 30px;
        }

        /* 页脚样式 */
        .footer {
            background-color: #b5b3b3; /* 灰色背景 */
            color: white; /* 白色文字 */
            text-align: center; /* 居中文本 */
            padding: 10px 0; /* 上下内边距 */
            margin-top: 30px;
        }

        #container {
            width: 80%; /* 宽度为80% */
            margin: 0 auto; /* 水平居中 */
        }
    </style>
</head>
<body>
    <div id="container">
        <!-- 顶部导航栏 -->
        <div class="navbar">
            <h1>Tlias智能学习辅助系统(张婧怡)</h1>
            <a href="#">退出登录</a>
        </div>

        <!-- 搜索表单区域 -->
        <form class="search-form" action="/search" method="post">
            <label for="name">姓名:</label>
            <input type="text" id="name" name="name" placeholder="请输入姓名">

            <label for="gender">性别:</label>
            <select id="gender" name="gender">
                <option value=""></option>
                <option value="1"></option>
                <option value="2"></option>
            </select>

            <label for="position">职位:</label>
            <select id="position" name="position">
                <option value=""></option>
                <option value="1">班主任</option>
                <option value="2">讲师</option>
                <option value="3">学工主管</option>
                <option value="4">教研主管</option>
                <option value="5">咨询师</option>
            </select>

            <button type="submit">查询</button>
            <button type="reset">清空</button>
        </form>

        <!-- 表格展示区 -->
        <table>
            <!-- 表头 -->
            <thead>
                <tr>
                    <th>姓名</th>
                    <th>性别</th>
                    <th>头像</th>
                    <th>职位</th>
                    <th>入职日期</th>
                    <th>最后操作时间</th>
                    <th>操作</th>
                </tr>
            </thead>

            <!-- 表格主体内容 -->
            <tbody>
                <tr>
                    <td>令狐冲</td>
                    <td></td>
                    <td><img class="avatar" src="https://web-framework.oss-cn-hangzhou.aliyuncs.com/2023/1.jpg" alt="令狐冲"></td>
                    <td>讲师</td>
                    <td>2021-06-15</td>
                    <td>2024-09-16 15:30</td>
                    <td class="action-buttons">
                        <button type="button">编辑</button>
                        <button type="button">删除</button>
                    </td>
                </tr>
                <tr>
                    <td>任盈盈</td>
                    <td></td>
                    <td><img class="avatar" src="https://web-framework.oss-cn-hangzhou.aliyuncs.com/2023/1.jpg" alt="任盈盈"></td>
                    <td>咨询师</td>
                    <td>2021-07-20</td>
                    <td>2024-09-17 09:00</td>
                    <td class="action-buttons">
                        <button type="button">编辑</button>
                        <button type="button">删除</button>
                    </td>
                </tr>
                <tr>
                    <td>向问天</td>
                    <td></td>
                    <td><img class="avatar" src="https://web-framework.oss-cn-hangzhou.aliyuncs.com/2023/1.jpg" alt="向问天"></td>
                    <td>班主任</td>
                    <td>2021-05-01</td>
                    <td>2024-09-15 17:45</td>
                    <td class="action-buttons">
                        <button type="button">编辑</button>
                        <button type="button">删除</button>
                    </td>
                </tr>
                <tr>
                    <td>任我行</td>
                    <td></td>
                    <td><img class="avatar" src="https://web-framework.oss-cn-hangzhou.aliyuncs.com/2023/1.jpg" alt="向问天"></td>
                    <td>教研主管</td>
                    <td>2021-05-01</td>
                    <td>2024-09-15 17:45</td>
                    <td class="action-buttons">
                        <button type="button">编辑</button>
                        <button type="button">删除</button>
                    </td>
                </tr>
                <tr>
                    <td>田伯光</td>
                    <td></td>
                    <td><img class="avatar" src="https://web-framework.oss-cn-hangzhou.aliyuncs.com/2023/1.jpg" alt="令狐冲"></td>
                    <td>班主任</td>
                    <td>2021-06-15</td>
                    <td>2024-09-16 15:30</td>
                    <td class="action-buttons">
                        <button type="button">编辑</button>
                        <button type="button">删除</button>
                    </td>
                </tr>
                <tr>
                    <td>不戒</td>
                    <td></td>
                    <td><img class="avatar" src="https://web-framework.oss-cn-hangzhou.aliyuncs.com/2023/1.jpg" alt="任盈盈"></td>
                    <td>班主任</td>
                    <td>2021-07-20</td>
                    <td>2024-09-17 09:00</td>
                    <td class="action-buttons">
                        <button type="button">编辑</button>
                        <button type="button">删除</button>
                    </td>
                </tr>
                <tr>
                    <td>左冷禅</td>
                    <td></td>
                    <td><img class="avatar" src="https://web-framework.oss-cn-hangzhou.aliyuncs.com/2023/1.jpg" alt="向问天"></td>
                    <td>班主任</td>
                    <td>2021-05-01</td>
                    <td>2024-09-15 17:45</td>
                    <td class="action-buttons">
                        <button type="button">编辑</button>
                        <button type="button">删除</button>
                    </td>
                </tr>
                <tr>
                    <td>定逸</td>
                    <td></td>
                    <td><img class="avatar" src="https://web-framework.oss-cn-hangzhou.aliyuncs.com/2023/1.jpg" alt="向问天"></td>
                    <td>班主任</td>
                    <td>2021-05-01</td>
                    <td>2024-09-15 17:45</td>
                    <td class="action-buttons">
                        <button type="button">编辑</button>
                        <button type="button">删除</button>
                    </td>
                </tr>
                <tr>
                    <td>东方兄弟</td>
                    <td></td>
                    <td><img class="avatar" src="https://web-framework.oss-cn-hangzhou.aliyuncs.com/2023/1.jpg" alt="向问天"></td>
                    <td>讲师</td>
                    <td>2021-05-01</td>
                    <td>2024-09-15 17:45</td>
                    <td class="action-buttons">
                        <button type="button">编辑</button>
                        <button type="button">删除</button>
                    </td>
                </tr>
                <tr>
                    <td>金庸</td>
                    <td></td>
                    <td><img class="avatar" src="https://web-framework.oss-cn-hangzhou.aliyuncs.com/2023/1.jpg" alt="向问天"></td>
                    <td>咨询师</td>
                    <td>2021-05-01</td>
                    <td>2024-09-15 17:45</td>
                    <td class="action-buttons">
                        <button type="button">编辑</button>
                        <button type="button">删除</button>
                    </td>
                </tr>
            </tbody>
        </table>

        <!-- 页脚版权区域 -->
        <footer class="footer">
            <p>杜氏教育工作室</p>
            <p>版权所有 Copyright 2006-2024 All Rights Reserved</p>
        </footer>
    </div>
</body>
</html>

课程总结

HTML小结
类别 标签 说明
文本处理标签 <h1> - <h6> 一级标题 - 六级标题
<br/>、<p> 换行、段落
<strong>、<em>、<ins>、<del> 文本加粗、倾斜、下划线、删除线
<a href="..."> 超链接 (属性:href、target)
图片音视频标签 <img src="..."> 图片(路径:绝对路径、相对路径)
<audio src="...">、<video src="..."> 音频、视频
布局标签 <div>、<span> 没有语义的布局标签,配合CSS实现页面布局
表格标签 <table>、<thead>、<tbody> 表格、表头、表格主体
<tr> / <th>、<td> 行 / 单元格
表单标签 <form> 定义表单(属性:action、method)
<input type="text/button"> 表单项(文本输入框、按钮...)
<select> / <option> 表单项(下拉列表/选项)
CSS小结
类别 属性 说明
盒子模型 作用:控制元素尺寸、内边距、边框、外边距,从而控制页面的布局展示
width、height 高度、宽度
box-sizing 高度和宽度的计算方式;content-box,border-box
padding 内边距(上、右、下、左;上下、左右)
border 边框
margin 外边距(上、右、下、左;上下、左右)
flex弹性布局 作用:是一种一维的布局模型,为元素之间提供强大的空间分布和对齐能力。
display flex:使用flex布局
flex-direction 设置主轴方向(row:x轴,水平方向;column:y轴,垂直方向)
justify-content 子元素在主轴上的对齐方式

提示: HTML标签和CSS属性都是固定的,所以前端页面制作我们可以直接基于AI辅助开发,也可以参照官方文档。

本章首页index.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>day01 HTML+CSS</title>
</head>
<body>
  <h1>ch1 HTML+CSS(张婧怡)</h1>
  <hr>
  <p><a href="01.html入门.html" target="_self">01.html入门</a></p>
  <p><a href="02.html入门.html" target="_self">02.html入门</a></p>
  <p><a href="03.央视新闻-标题-排版.html" target="_self">03.央视新闻-标题-排版</a></p>
  <p><a href="04.央视新闻-标题-样式.html" target="_self">04.央视新闻-标题-样式</a></p>
  <p><a href="05.央视新闻-标题-样式(选择器).html" target="_self">05.央视新闻-标题-样式(选择器)</a></p>
  <p><a href="06.央视新闻-正文-排版.html" target="_self">06.央视新闻-正文-排版</a></p>
  <p><a href="07.央视新闻-正文-样式.html" target="_self">07.央视新闻-正文-样式</a></p>
  <p><a href="08.央视新闻-整体布局.html" target="_self">08.央视新闻-整体布局</a></p>
  <p><a href="09.盒子模型.html" target="_self">09.盒子模型</a></p>
  <p><a href="10.Tlias案例-顶部导航栏.html" target="_self">10.Tlias案例-顶部导航栏</a></p>
  <p><a href="11.flex布局.html" target="_self">11.flex布局</a></p>
  <p><a href="12.表单标签.html" target="_self">12.表单标签</a></p>
  <p><a href="13.表单项标签.html" target="_self">13.表单项标签</a></p>
  <p><a href="14.Tlias案例-搜索表单区域.html" target="_self">14.Tlias案例-搜索表单区域</a></p>
  <p><a href="15.Tlias案例-表格数据展示区域.html" target="_self">15.Tlias案例-表格数据展示区域</a></p>
  <p><a href="16.Tlias案例-底部版权区域.html" target="_self">16.Tlias案例-底部版权区域</a></p>
  <hr>
  <p><a href="/24ssm.html" target="_self">返回课程首页</a></p>
</body>
</html>

返回