CSS3基础内容

news2024/11/16 7:38:23

目录

CSS基本样式

选择器分类

标签选择器

类选择器

利用类选择器画三个盒子

 多类名

id选择器

id选择器和类选择器的区别

通配符选择器

CSS字体属性

字体粗细font-weight

 字体样式

 CSS文本属性

CSS的引入方式

行内样式表(行内式)

内部样式表(嵌入式)

外部样式表(链接式)

 综合案例-新闻页面


CSS基本样式

CSS是层叠样式表的简称,CSS是一种标记语言,称为CSS样式表

CSS主要用于设置HTML页面中的文本内容、图片的外形以及版面的布局和外观显示样式

结构(HTML)与样式(CSS)相分离

CSS规则由两个主要的部分构成:选择器以及一条或多条声明

  • 选择器是用于指定CSS样式的HTML标签,花括号内是对该对象设置的具体样式
  • 属性和属性值以“键值对”的形式出现
  • 属性是对指定的对象设置的样式属性,例如字体大小、文本颜色等
  • 属性和属性值之间用英文“:”分开
  • 多个"键值对"之间用英文";"分开
<!DOCTYPE html>
<html lang="en">
<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>CSS语法规范</title>
    <style>
        /* 选择器{样式} */
        /* 给谁改样式{改什么样式} */
        p {
            color: red;
            /* 修改了文字大小为12像素 */
            font-size: 12px;
        }
    </style>
</head>
<body>
    <p>有点意思</p>
</body>
</html>

属性值前面,冒号后面,保留一个空格

选择器(标签)和大括号中间保留空格

选择器分类

选择器分为基础选择器和复合选择器

基础选择器是由单个选择器组成的;

基础选择器又包括:标签选择器、类选择器、id选择器和通配符选择器

标签选择器

用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签制定统一的CSS样式

    <style>
        /* 标签选择器:写上标签名 */
        p {
            color: green;
        }
        div {
            color: pink;
        }
    </style>

 作用:可以把某一类标签全部选择出来,比如所有的<div>标签和所有的<span>标签

优点:能快速为页面中同类型的标签统一设置样式

类选择器

如果想要差异化选择不同的标签,单独选一个或者几个标签,可以使用类选择器

<!DOCTYPE html>
<html lang="en">
<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>类选择器</title>
    <style>
        /* 类选择器口诀:样式点定义  结构类(class)调用 一个或多个 开发最常用*/
        .red {
            color: red;
        }
        .star-sing {
            color: green;
        }
    </style>
</head>
<body>
    <ul>
        <li class="red">冰雨</li>
        <li class="red">冰</li>
        <li>雨</li>
        <li>大雨</li>
        <li>狂风暴雨</li>
        <li class="star-sing">没下雨</li>
    </ul>
    <div class="red">我也想变成红色</div>
</body>
</html>
  • 类选择器使用"."进行标识,后面紧跟类名(不能是HTML中的标签名)
  • 可以理解为给这个标签起了一个名字
  • 长名称或词组可以使用中横线来为选择器命名
  • 不要使用纯数字、中文等命名,尽量使用英文字母来表示
  • 命名要有意义,尽量使别人一眼就知道这个类名的目的

利用类选择器画三个盒子

<head>
    <title>利用类选择器画三个盒子</title>
    <style>
        .red {
            width: 100px;
            height: 100px;
            background-color: red;
        }
        .green {
            width: 100px;
            height: 100px;
            background-color: green;
        }
    </style>
</head>
<body>
    <div class="red">红色</div>
    <div class="green">绿色</div>
    <div class="red">红色</div>
</body>

 多类名

我们可以给一个标签指定多个类名,从而达到更多的选择目的。这些类名都可以选出这个标签

<head>
    <title>多类名的使用方式</title>
    <style>
        .red {
            color: red;
        }
        .font35 {
            font-size: 35px;
        }
    </style>
</head>
<body>
    <div class="red font35">张三</div>
</body>
    <style>
        .box {
            width: 100px;
            height: 100px;
        }
        .red {
            background-color: red;
        }
        .green {
            background-color: green;
        }
    </style>

<body>
    <div class="box red">红色</div>
    <div class="box green">绿色</div>
    <div class="box red">红色</div>
</body>
  • 可以把一些标签元素相同的样式(共同的部分)放到一个类里面
  • 这些标签都可以调用这个公共的类,然后再调用自己的类
  • 节省CSS代码,统一修改也非常方便

id选择器

HTML元素以id属性来设置id选择器,CSS中id选择器以“#”来定义

<!DOCTYPE html>
<html lang="en">
<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>id选择器</title>
    <style>
        /* id选择器的口诀:样式#定义,结构id调用,只能调用一次,别人切勿使用 */
        #pink {
            color: pink;
        }
    </style>
</head>
<body>
    <div id="pink">迈克尔杰克逊</div>
</body>
</html>

id选择器和类选择器的区别

  • 类选择器(class)好比人的名字,一个人可以有多个名字,同时一个名字也可以被多个人使用
  • id选择器好比人的身份证号码,全中国唯一的,不能重复
  • id选择器和类选择器最大的不同在于使用次数上
  • 类选择器在修改样式中用的最多,id选择器一般用于页面唯一性的元素上,经常和javaScript搭配使用

通配符选择器

通配符选择器使用"*"定义,它表示选取页面中所有元素(标签)

通配符选择器不需要调用,自动就给所有的元素使用样式

<!DOCTYPE html>
<html lang="en">
<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>通配符选择器</title>
    <style>
        * {
            color: red;
        }
        /* *在这里把html body div span li 等等标签都改为了红色 */
    </style>
</head>
<body>
    <div>我的</div>
    <span>我的</span>
    <ul>
        <li>还是我的</li>
    </ul>
</body>
</html>

CSS字体属性

<!DOCTYPE html>
<html lang="en">
<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>CSS字体属性之字体系列</title>
    <style>
        h2 {
            font-family: '微软雅黑';
        }
        p {
            font-family: 'Microsoft YaHei',Arial,Helvetica,sans-serif;
        }
    </style>
</head>
<body>
    <h2>静夜思</h2>
    <p>床前明月光</p>
    <p>疑是地上霜</p>
    <p>举头望明月</p>
    <p>低头思故乡</p>
</body>
</html>
  • 各种字体之间必须使用英文状态下的逗号隔开
  • 一般情况下,如果有空格隔开的多个单词组成的字体,加引号
  • 尽量使用系统默认自带字体
  • 一个一个地试,如果第一个字体系统中不存在,则使用第二个,字体系列中都不存在的话就使用系统默认字体

标题标签的字体大小需要单独指定

字体粗细font-weight

<!DOCTYPE html>
<html lang="en">
<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>CSS字体属性之字体粗细</title>
    <style>
        .bold {
            /* font-weight: bold; */
            /* 这个700的后面不要跟单位,等价于bold都是加粗的效果 */
            /* 实际开发中,我们提倡使用数字 */
            font-weight: 700;
        }
        h2 {
            font-weight: 400;
            /* 400是正常的,不加粗的 */
        }
    </style>
</head>
<body>
    <h2>静夜思</h2>
    <p class="bold">床前明月光</p>
    <p>疑是地上霜</p>
    <strong>举头望明月</strong>
    <!-- <strong>标签也可以实现字体加粗的效果 -->
    <p>低头思故乡</p>    
</body>
</html>

 字体样式

font-style: italic;

<em>和<i>标签也可以使得字体成为斜体
<!DOCTYPE html>
<html lang="en">
<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>复合属性</title>
    <style>
        /* div文字变倾斜 加粗 字号设置为16像素 微软雅黑 */
        div {
            /* font-style: italic;
            font-weight: 700;
            font-size: 16px;
            font-family: '楷体','微软雅黑'; */
        /* 复写属性:简写的方式 节约代码*/
        /* font: font-style    font-weight     font-size/line-weight   font-family 
            使用font属性时,必须按上面语法格式中的顺序书写,不能更换顺序,并且各个属性间以空格隔开
            不需要设置的属性可以省略,但必须保留font-size和font-family属性,否则font属性将不起作用*/
            font:italic 700 16px '微软雅黑';
        }
    </style>
</head>
<body>
    <div>世界这么大,我想去看看;钱包这么小,哪也去不了</div>
</body>
</html>

 CSS文本属性

<!DOCTYPE html>
<html lang="en">
<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>CSS文本外观属性之颜色</title>
    <style>
        div { 
            /* color: pink; */
            /* color: #ff0000; */
            color: rgb(255,0,0);
        }

            /* 让div盒子里面的文字水平居中对齐 */
        div {
            text-align: center;
        } 
        /* 添加到文本的修饰,可以给文本添加下划线、删除线、上划线 */
        div {
            text-decoration: underline;
            /* 下划线 */
        }
        a {
            font-size: 24px;
            text-decoration: none;
            /* 取消a链接默认的下划线 */
        }
        div {
            /* text-indent: 20px; */
             /* 用来指定文本的第一行的缩进,通常是将段落的首行缩进 */
            text-indent: 2em;
           /* em是一个相对单位,就是当前元素一个文字的大小,如果当前元素没有设置大小,则会按照父元素的一个文字大小 */
        }
        p {
            font-size: 10px;
            line-height: 30px;
            /* line-height属性用于设置行间的距离,可以控制文字行与行之间的距离 */
            /* 行间距主要指的是上间距+文本高度+下间距 */
        }
    </style>
</head>
<body>
    <div>世界这么大,我想去看看</div>
    <a href="#">粉红色的回忆</a>
    <p>床前明月光</p>
    <p>疑是地上霜</p>
    <p>举头望明月</p>
    <p>低头思故乡</p>
</body>
</html>

CSS的引入方式

行内样式表(行内式)

在元素标签内部的style属性中设定CSS样式,适合于修改简单样式

style其实就是标签的属性,在双引号中间,写法要符合CSS规范

可以控制当前的标签设置样式

<p style="color: pink; font-size: 20px;">低头思故乡</p>

内部样式表(嵌入式)

将所有的CSS代码抽取出来,单独放到一个<style>标签中

<style>标签理论上可以放在HTML文档的任何地方,但一般会放在文档的<head>标签中

可以方便控制当前整个页面中的元素样式设置

<!DOCTYPE html>
<html lang="en">
<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>内部样式表</title>
    <style>
        div {
            color: pink;
        }
    </style>
</head>
<body>
    <div>所谓内部样式表,就是在html页面内部写样式,但是单独写到style标签内部</div>
</body>
</html>

外部样式表(链接式)

实际开发都是外部样式表,适合于样式比较多的情况,核心是样式单独写到CSS文件中,之后把CSS文件引入到HTML页面中使用

引入外部样式表分为两步:

①新建一个后缀名为.css的样式文件,把所有CSS代码都放入此文件中

②在HTML页面中,使用<link>标签引入这个文件

<link rel="stylesheet" href="css文件路径">
<!DOCTYPE html>
<html lang="en">
<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>外部样式表</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div>我想去那黄土高坡</div>
</body>
</html>
/* CSS文件里面只有样式没有标签 */
/* 文件名为style.css */

div {
    color: red;
}

 综合案例-新闻页面

<!DOCTYPE html>
<html lang="en">
<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>Document</title>
    <style>
        body{
            font:16px/28px '微软雅黑';
        }
        h1 {
            /* 文字不加粗 */
            font-weight: normal;
            /* 让h1里面的文字水平居中对齐 */
            text-align: center;
        }
        a {
            text-decoration: none;
        }
        .gray {
            color: #888888;
            font-size: 12px;
            text-align: center;
        }
        .search {
            color: #666666;
            width: 170px;
        }
        .btn {
            font-weight: 700;
        }
        p {
            /* 首行缩进2个字 */
            text-indent: 2em;
        }
        .pic {
            /* 想要图片居中对齐,则是让它的父亲p标签添加水平居中的代码 */
            text-align: center;
        }
        .footer {
            color: #888888;
            font-size: 12px;
        }
    </style>
</head>
<body>
    <h1>北方高温明日达鼎盛 京津冀多地地表温度将超60℃</h1>
    <div class="gray">2019-07-03 16:31:47 来源: <a href="#">中国天气网</a>  
        <input type="text" value="请输入查询条件" class="search"> <button class="btn">搜索</button>
    </div>
    <hr>
    <p>中国天气网讯 今天(3日),华北、黄淮多地出现高温天气,截至下午2点,北京、天津、郑州等地气温突破35℃。预报显示,今后三天(3-5日),这一带的高温天气将继续发酵,高温范围以及强度将在4日达到鼎盛,预计北京、天津、石家庄、济南等地明天的最高气温有望突破38℃,其中北京和石家庄的最高气温还有望创今年以来的新高。</p>

    <h4>气温41.4℃!地温66.5!北京强势迎七月首个高温日</h4>
    <p class="pic">
        <img src="images/pic.jpeg" alt="中国气温图">
    </p>
    <p>今天,华北、黄淮一带的高温持续发酵,截至今天下午2点,陕西北部、山西西南部、河北南部、北京、天津、山东西部、河南北部最高气温已普遍超过35℃。大城市中,北京、天津、郑州均迎来高温日。</p>

    <p>在阳光暴晒下,地表温度也逐渐走高。今天下午2点,华北黄淮大部地区的地表温度都在50℃以上,部分地区地表温度甚至超过60℃。其中,河北衡水地表温度高达68.3℃,天津站和北京站附近的地表温度分别高达66.6℃和66.5℃。</p>

    <h4>明日热度再升级!京津冀携手冲击38℃+</h4>
    <p>中国天气网气象分析师王伟跃介绍,明天(4日),华北、黄淮地区35℃以上的高温天气还将继续升级,并进入鼎盛阶段,高温强度和范围都将发展到最强。 明天,北京南部、天津大部、河北中部和南部、山东中部和西部、山西南部局地、河南北部、东北部分地区的最高气温都将达到或超过35℃。</p>

    <p>不过,专家提醒,济南被雨水天气完美绕开,因此未来一周,当地的高温还会天天上岗。在此提醒当地居民注意防暑降温,防范持续高温带来的各种不利影响。(文/张慧 数据支持/王伟跃 胡啸 审核/刘文静 张方丽)</p>

    <p class="footer">本文来源:中国天气网 责任编辑:刘京_NO5631</p>
</body>
</html>

chrome调试工具的使用

左边是HTML元素结构,右边是CSS样式

如果点击元素,发现右侧没有样式引入,极有可能是类名或者样式引入错误

如果有样式,但是样式前面有黄色叹号提示,则是样式属性书写错误

Ctrl+0复原浏览器大小

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

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

相关文章

2023年集卡活动简记

文章目录支付宝总评&#xff1a;【强烈推荐】年味浓&#xff0c;必中奖&#xff0c;单倍金额不算少。只关注开奖可以除夕当天玩儿。集卡分1.88元难度&#xff1a;【非常低】必中奖时间投入&#xff1a;【较少】无需打开其他App&#xff0c;比较轻松。操作体验&#xff1a;【好】…

深度理解卷积神经网络

神经网络包括卷积层&#xff0c;池化层&#xff0c;全连接层。一个最简单的神经元结构&#xff0c;假如有三个输入&#xff0c;都对应一个权重参数&#xff0c;然后通过权重加起来&#xff0c;经过一个激活函数&#xff0c;最后输出y。CNN中独特的结构就是卷积层&#xff0c;就…

拓展:阿里巴巴中文站架构演进分析【部分】

文章目录前言阿里巴巴中文站架构发展历程阿里巴巴第五代架构数据架构的复杂前言 由学习整理而来&#xff0c;并非有意抄袭。如果有冒犯行为&#xff0c;请及时联系作者进行处理&#xff01; 阿里巴巴中文站架构发展历程 时间关键技术1999第一代网站架构Perl&#xff0c;CGl&…

【实操案例八】元组、集合操作 实例代码及运行效果图!

任务一&#xff1a;我的咖啡馆你做主 方法一&#xff1a;使用列表 # 任务一&#xff1a;我的咖啡馆你做主 # 方法一&#xff1a;使用列表lst[蓝山,卡布奇诺,拿铁,皇家咖啡,女王咖啡,美丽与哀愁]for i in lst:print(lst.index(i)1,.,i,end\t) print()while True:chice int(in…

SpringCloud+Ribbon 报错:java.net.unknownhostexception:XXX

SpringCloudRibbon 报错&#xff1a;java.net.unknownhostexception:XXX 问题分析&#xff1a; 网上很多的说法是依赖冲突导致&#xff0c;原因是什么呢&#xff1a;如果你的org.springframework.cloud:spring-cloud-starter-netflix-eureka-client 依赖中包含了ribbon依赖&…

常用JVM配置参数简介

既然学习JVM&#xff0c;阅读GC日志是处理Java虚拟机内存问题的基础技能&#xff0c;它只是一些人为确定的规则&#xff0c;没有太多技术含量。 既然如此&#xff0c;那么在IDE的控制台打印GC日志是必不可少的了。现在就告诉你怎么打印。 &#xff08;1&#xff09;如果你用的是…

Elasticsearch7.8.0版本高级查询—— 分页查询文档

目录一、初始化文档数据二、分页查询文档2.1、概述2.2、示例一、初始化文档数据 在 Postman 中&#xff0c;向 ES 服务器发 POST 请求 &#xff1a;http://localhost:9200/user/_doc/1&#xff0c;请求体内容为&#xff1a; { "name":"zhangsan", "ag…

数据分析-深度学习 Pytorch Day8

一。什么是循环神经网络&#xff1a;循环神经网络&#xff08;Rerrent Neural Network, RNN&#xff09;&#xff0c;历史啊&#xff0c;谁发明的都不重要&#xff0c;说了你也记不住&#xff0c;你只要记住RNN是神经网络的一种&#xff0c;类似的还有深度神经网络DNN&#xff…

广州周立功CanTest卡使用教程一

网上有不少Can采集平台,包括Ardunio,Can卡,也有不少人用Freescale自己DIY一个平台,这些都是相当不错,并且都有成熟的代码,这里介绍在汽车诊断软件领域普遍都会选择的Can卡使用。 大家是不是对这个节面非常熟悉,CAN-bus 通用测试软件是一个专门用来对所有的 ZLGCAN 系列板…

【Python】基于经典网络架构训练图像分类模型——图像识别模型与训练策略(2023年1月22日,大年初一,春节快乐,兔年大吉)

声明:仅学习使用~ 今天是大年初一,祝大家新年快乐!!! 这个练习使用的图片稍多,因此初次在PyCharm里面可能会需要一些时间。 (注释中包含遇到的一些错误以及修正,同时也含有一些输出,部分较长的输出以省略号的形式在注释里面展示了) 2023.1.22,大年初一,新年快乐…

LoadBalancer源码解析

文章目录一、背景二、总体流程三、源码解析1. lb拦截器配置2. LB拦截器实现3. LB执行前置处理4. 负载均衡5. LB执行http请求一、背景 Spring Cloud 2020版本以后&#xff0c;默认移除了对Netflix的依赖&#xff0c;其中就包括Ribbon&#xff0c;官方默认推荐使用Spring Cloud …

生物化学 电阻抗成像OpenEIT 番外篇 EIT公式

EIT简介 摘要电阻抗断层扫描&#xff08;EIT&#xff09;是一种成像方式&#xff0c;使用无害的电流探测患者或物体。电流通过放置在靶表面上的电极馈送&#xff0c;数据由在电极处测量的电压组成&#xff0c;这些电压由一组线性独立的电流注入模式产生。EIT旨在恢复目标内部电…

【MySQL】第八部分 加密和解密函数

【MySQL】第八部分 加密和解密函数 文章目录【MySQL】第八部分 加密和解密函数8. 加密和解密函数总结8. 加密和解密函数 函数用法PASSWORD(str)返回字符串str的加密版本&#xff0c;41位长的字符串。加密结果不可逆&#xff0c;常用于用户的密码加密.( 8.0 版本以上不能用)MD5…

海湾化学冲刺上交所上市:计划募资30亿元,华融曾是其股东

近日&#xff0c;青岛海湾化学股份有限公司&#xff08;下称“海湾化学”&#xff09;预披露招股书&#xff0c;准备在上海证券交易所主板上市。本次冲刺上市&#xff0c;海湾化学计划募资30亿元&#xff0c;将于37.5万吨/年环氧氯丙烷绿色循环经济项目&#xff08;一期&#x…

23种设计模式(十七)——状态模式【状态变化】

状态模式 文章目录 状态模式意图什么时候使用状态真实世界类比状态模式的实现状态模式的优缺点亦称:State 意图 对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。 状态模式的解决思想是:当控制一个对象状态转…

【沐风老师】教你用3dMax柱子插件Pillars打造欧式罗马柱建模(附柱子插件下载)

Pillars是一个很棒的3dMax插件。Pillars可以创建柱子、柱状物、栏杆、喷泉&#xff08;喷泉建筑的造型&#xff09;和各种类似形状的三维模型。它也会破坏&#xff08;打断&#xff09;这些模型。有了它&#xff0c;您只需在几秒钟内就能制作出外观精美的柱子和效果逼真的断面效…

4、JDK相关设置

文章目录4、JDK相关设置4.1 设置项目的JDK4.2 设置编译版本4.3 设置out目录【尚硅谷】idea实战教程-讲师&#xff1a;宋红康 生活是属于每个人自己的感受&#xff0c;不属于任何别人的看法 4、JDK相关设置 4.1 设置项目的JDK SDK&#xff1a;软件开发工具包 JDK&#xff1a;Ja…

灭火器摆放识别检测算法 yolo

灭火器摆放识别检测算法通过pythonyolo网络深度学习技术&#xff0c;自动对指定区域灭火器是否缺失进行识别&#xff0c;如果 没有检测到指定区域有灭火器&#xff0c;立即抓拍存档进行告警。YOLO系列算法是一类典型的one-stage目标检测算法&#xff0c;其利用anchor box将分类…

Elasticsearch基本使用初体验02

1.Java API操作ES 1.1 创建项目 创建spring Boot工程&#xff0c;添加相关的依赖。 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><…

基于ssm校园学生协会管理系统jsp校园社团管理系统源码和论文

1、开发环境 &#xff08;1&#xff09;操作系统: Windows10 &#xff08;2&#xff09;数据库与数据库管理工具: MySQL 5.7.19、Navicat for MySQL &#xff08;3&#xff09;Web服务器: Tomcat8.5.38 &#xff08;4&#xff09;开发工具与技术: Eclipse IDEA、SSM框架、Ajax …