当前位置: 首页 > news >正文

【前端笔记】CSS 选择器的常见用法

目录

  • 1. CSS 的基本语法规范
  • 2. CSS 的引入方式
  • 3. CSS 选择器的种类
    • 3.1 标签选择器
    • 3.2 类选择器
    • 3.3 id 选择器
    • 3.4 复合选择器
    • 3.5 通配符选择器
  • 4. 补充内容

1. CSS 的基本语法规范

选择器 + {1 条 / n 条声明}

  • 选择器决定的是修改谁
  • 声明决定的是怎么修改
  • 声明的属性是键值对,使用 ; 区分键值对,使用 : 区分键和值

2. CSS 的引入方式

引入方式描述
行内样式在标签内使用 style 属性
内部样式一般在 HTML 的 head 标签中定义 style 标签,在标签内部定义 css 样式
外部样式(常用)一般在 HTML 的 head 标签中定义 link 标签,通过 href 属性引入 css 外部文件

行内样式:
行内样式
内部样式:
内部样式
外部样式:
外部样式
css.css 文件:
css.css 文件

3. CSS 选择器的种类

3.1 标签选择器

在 head 标签中定义 style 标签,含义为将选中的标签全部更改为自己所定义的样式;
代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>css选择器</title><style>/* 1. 标签选择器 *//* 将全部 div 标签改为红色,p 标签改为蓝色,h1 标签改为绿色 */div {color: red;}p {color: blue;}h1 {color: green;}</style>
</head>
<body><h1>一级标题</h1><div>我是div1</div><div>我是div2</div><p>我是p标签1</p><p>我是p标签2</p>
</body>
</html>

代码运行结果:
在这里插入图片描述

3.2 类选择器

这个类的意思和 Java 中的类概念不同,这里表示一类、分类;
在标签后加入 class 属性对标签进行分类更改样式;
类选择器前边要加点(.);
代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>css选择器</title><style>/* 2. 类选择器 *//* 将 red 类改为红色,将 green 类改为绿色 */.red {color: red;}.green {color: green;}</style>
</head>
<body><h1>一级标题</h1><div class="red">我是div1</div><divc class="green">我是div2</div><p class="red">我是p标签1</p><p class="green">我是p标签2</p>
</body>
</html>

代码运行结果:按不同类进行了颜色的更改
在这里插入图片描述

3.3 id 选择器

在上述代码的基础上,如果想对p标签1再进行颜色更改,可以加如 id 属性;
代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>css选择器</title><style>.red {color: red;}.green {color: green;}/* 3. id选择器 *//* 将id="p1"的标签改为棕色 */#p1 {color: brown;}</style>
</head>
<body><h1>一级标题</h1><div class="red">我是div1</div><divc class="green">我是div2</div><p class="red" id="p1">我是p标签1</p><p class="green">我是p标签2</p>
</body>
</html>

代码运行结果:
在这里插入图片描述

3.4 复合选择器

复合选择器就是由多个单选择器组成;
代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 4. 复合选择器 *//* 表示只更改li标签下的a标签 */li a {color: red;}/* 表示只更改id为middle标签下的li标签 */#middle li {color: red;}/* 表示只更改ul标签下li标签的a标签 */ul li a {color: green;}/* 表示只更改ol标签下li标签的a标签 */ol li a {color: pink;}/* 表示将id为a1,a2的标签一并修改 */#a1, #a2 {color: pink;}/* 等价于ul li a {} 写法*/ul>li>a {color: red;}</style>
</head>
<body><div class="font32">我是一个div, class为font32</div><div class="font32">我是一个div, class为font32</div><div><a href="#">我是一个div</a></div><ul><li>aaa</li><li>bbb</li><li><a href="#" id="a1">ccc</a></li></ul><ol id="middle"><li>1111</li><li>2222</li><li>3333</li></ol><ol><li>1111</li><li>2222</li><li><a href="#" id="a2">3333</a></li></ol><button id="submit">提交</button>
</body>
</html>

运行结果这里不做展示

3.5 通配符选择器

代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 5. 通配符选择器 *//* 将所有标签改为绿色,字体改为40像素 */* {color: green;font-size: 40px;}</style>
</head>
<body><div class="font32">我是一个div, class为font32</div><div><a href="#">我是一个div</a></div><ul><li>aaa</li><li>bbb</li><li><a href="#" id="a1">ccc</a></li></ul><ol><li>1111</li><li>2222</li></ol><button id="submit">提交</button>
</body>
</html>

运行结果:
在这里插入图片描述

4. 补充内容

  1. 当指定样式存在多处定义时,一般遵循就近原则,谁离得近就是谁的设计样式;
  2. 当一个标签中 class 和 id 同时定义了相同属性的不同参数时, id 的样式生效;
  3. 上文代码中 ul a {} ,ul 下面的标签,a 不需要紧挨着 ul,a 是 ul 的子孙即可;ul>li>a {} ul 下面的标签,li 必须要紧挨着 ul,a 必须要紧挨着 li,必须是父子关系;
  4. 颜色 color 表示有三种,英文单词、RGB、十六进制,一般使用后两种,表示的颜色范围更广;

相关文章:

【前端笔记】CSS 选择器的常见用法

目录 1. CSS 的基本语法规范2. CSS 的引入方式3. CSS 选择器的种类3.1 标签选择器3.2 类选择器3.3 id 选择器3.4 复合选择器3.5 通配符选择器 4. 补充内容 1. CSS 的基本语法规范 选择器 {1 条 / n 条声明} 选择器决定的是修改谁声明决定的是怎么修改声明的属性是键值对&…...

电脑桌面悬浮窗便签,好用的电脑桌面便签工具

不知道大家有没有发现&#xff0c;我们每天要处理的事情越来越多&#xff1a;工作会议、项目截止日期、临时灵感、购物清单...光靠大脑记忆显然不够靠谱。你可能试过用手机备忘录&#xff0c;但工作时频繁切换设备又很影响效率。 这时候&#xff0c;一款好用的电脑桌面便签工具…...

Windows环境下maven的安装与配置

1.检查JAVA_HOME环境变量 Maven是使用java开发的&#xff0c;所以必须知道当前系统环境中的JDK的安装目录。 搜索栏直接输入“cmd” 或者 WinR 输入cmd 在打开的终端窗口输入“echo %JAVA_HOME”&#xff0c;就可以看到jdk的位置了。 如果没有的话&#xff0c;请参考我的文章&a…...

PyTorch 中如何针对 GPU 和 TPU 使用不同的处理方式

一个简单的矩阵乘法例子来演示在 PyTorch 中如何针对 GPU 和 TPU 使用不同的处理方式。 这个例子会展示核心的区别在于如何获取和指定计算设备&#xff0c;以及&#xff08;对于 TPU&#xff09;可能需要额外的库和同步操作。 示例代码&#xff1a; import torch import tim…...

数据库同步方案:构建企业数据流通的高速通道

在数字经济时代&#xff0c;数据已成为企业核心资产。根据Gartner统计&#xff0c;超过70%的企业因数据孤岛问题导致决策延迟&#xff0c;而高效可靠的数据库同步方案正是破解这一困局的关键技术。本文将深度解析数据库同步的核心逻辑、主流方案及实践策略&#xff0c;助企业构…...

微信小程序开发,登录注册实现

文章目录 1. 官方文档教程2. 注册实现3. 登录实现4. 关于作者其它项目视频教程介绍 1. 官方文档教程 https://developers.weixin.qq.com/miniprogram/dev/framework/路由跳转的几种方式&#xff1a; https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab…...

VSCode怎么同时打开多个页面

VSCode中打开一个文件会把另一个文件覆盖&#xff0c;始终保持打开一个文件的状态&#xff0c;相对于其他IDE是不太习惯的&#xff0c;如果同时打开两个文件页面怎么去设置呢 1、禁用预览模式 2、快速分屏快捷键&#xff1a; Ctrl\ (Windows/Linux) 或 Cmd\ (macOS)...

【多种不同提交方式】通过springboot实现与前端网页数据交互(非常简洁快速)

【多种不同提交方式】通过springboot实现与前端网页数据交互 提示&#xff1a;帮帮志会陆续更新非常多的IT技术知识&#xff0c;希望分享的内容对您有用。本章分享的是springboot的使用。前后每一小节的内容是存在的有&#xff1a;学习and理解的关联性。【帮帮志系列文章】&am…...

Web 架构之负载均衡全解析

文章目录 一、引言二、思维导图三、负载均衡的定义与作用定义作用1. 提高可用性2. 增强性能3. 实现扩展性 四、负载均衡类型硬件负载均衡代表设备优缺点 软件负载均衡应用层负载均衡代表软件优缺点 网络层负载均衡代表软件优缺点 五、负载均衡算法轮询算法&#xff08;Round Ro…...

猫咪如厕检测与分类识别系统系列~进阶【一】视频流推流及网页实时展示

前情提要 家里养了三只猫咪&#xff0c;其中一只布偶猫经常出入厕所。但因为平时忙于学业&#xff0c;没法时刻关注牠的行为。我知道猫咪的如厕频率和时长与健康状况密切相关&#xff0c;频繁如厕可能是泌尿问题&#xff0c;停留过久也可能是便秘或不适。为了更科学地了解牠的如…...

DeepSeek全域智能革命:从量子纠缠到星际文明的认知跃迁引言:认知边界的坍缩与重构

一、认知架构的技术基石 1.1 混合专家系统的流形蒸馏 DeepSeek-R2的MoE架构采用微分流形蒸馏技术&#xff0c;将6710亿参数的教师模型&#xff08;如DeepSeek-Prover-V2&#xff09;的知识嵌入到动态路由网络中。通过辛几何约束下的参数投影&#xff0c;模型在保留数学证明能…...

Mkdocs页面如何嵌入PDF

嵌入PDF 嵌入PDF代码 &#xff0c;注意PDF的相对地址 <iframe src"../个人简历.pdf (相对地址)" width"100%" height"800px" style"border: 1px solid #ccc; overflow: auto;"></iframe>我的完整代码&#xff1a; <d…...

JS进阶DAY2 构造函数数据常用函数

深入对象 1.创建对象的三种方式 1.利用对象字面量创建对象 const o{ name:佩奇 } 2.利用 new Object 创建对象 const onew Object({ name:佩奇}) console.log(o) //{name:佩奇} 3.利用构造函数创建对象 2.构造函数 构造函数:是一种特殊的函数&#xff0c;主要用来初始…...

【ARM AMBA AHB 入门 3 -- AHB 总线介绍】

请阅读【ARM AMBA 总线 文章专栏导读】 文章目录 AHB Bus 简介AHB Bus 构成AHB BUS 工作机制AHB 传输阶段 AHB InterfacesAHB仲裁信号 AHB 数据访问零等待传输(no waitstatetransfer)等待传输(transfers with wait states)多重传送(multipletransfer)--Pipeline AHB 控制信号 A…...

计划评审技术PERT

计划评审技术&#xff08;Program Evaluation and Review Technique&#xff0c;PERT&#xff09;是一种用于项目管理和分析的工具&#xff0c;主要用于估算项目完成时间、识别关键路径以及评估项目进度风险。它最初是在20世纪50年代由美国海军开发的&#xff0c;用于管理复杂的…...

【Leetcode 每日一题 - 扩展】3342. 到达最后一个房间的最少时间 II

问题背景 有一个地窖&#xff0c;地窖中有 n m n \times m nm 个房间&#xff0c;它们呈网格状排布。 给你一个大小为 n m n \times m nm 的二维数组 m o v e T i m e moveTime moveTime&#xff0c;其中 m o v e T i m e [ i ] [ j ] moveTime[i][j] moveTime[i][j] 表…...

Linux57配置MYSQL YUM源

错了&#xff0c;弄错了下载地址 显示没MYSQL 刚才YUM包弄错了 下的是rpm文件 应该安装 通过yum install安装 .repo中的enabled需要修改 哪些能修改 哪些不改 配置特定软件的YUM仓库 nginx看教程有官方文档 将官方文档中YUM配置写入.repo文件然后yum clean all yum ma…...

Kafka是什么?典型应用场景有哪些? (消息队列、流处理平台;日志收集、实时分析、事件驱动架构等)

Kafka 核心解析与场景代码示例 一、Kafka核心概念 Apache Kafka 是分布式流处理平台&#xff0c;具备以下核心能力&#xff1a; 发布-订阅模型&#xff1a;支持多生产者/消费者并行处理持久化存储&#xff1a;消息默认保留7天&#xff08;可配置&#xff09;分区机制&#x…...

数据实验分析

数据分析数据分类与绘图数据分类方法&#xff1a;通过指定列名和函数&#xff08;如SUM&#xff09;来分类数据&#xff0c;确保数据集中包含所需列&#xff0c;否则会报错。嵌套柱形图应用&#xff1a;嵌套柱形图用于展示多层次分类的数据&#xff0c;如按店名和化妆品类别分类…...

PostgreSQL中“参数默认值实现伪重载“详解

什么是伪重载&#xff1f; "伪重载"指的是通过单一函数定义配合参数默认值和条件逻辑来模拟传统编程语言中方法重载的效果。与真正的函数重载&#xff08;PostgreSQL支持的多同名函数不同参数实现&#xff09;不同&#xff0c;伪重载是在一个函数内部处理不同参数组…...

在IDEA中编写Spark程序并运行

Spark是基于scala的&#xff0c;当然它也可以支持java和scala还有python语言&#xff0c;我们这里会使用scala。 1.在Idea中安装插件&#xff0c;使得Idea中可以编写scala代码。 2.使用Maven创建项目&#xff0c;并在pom.xml文件中配置相关的依赖。 3.设置maven依赖项。修改po…...

知识图谱:AI大脑中的“超级地图”如何炼成?

人类看到“苹果”一词&#xff0c;会瞬间联想到“iPhone”“乔布斯”“牛顿”&#xff0c;甚至“维生素C”——这种思维跳跃的背后&#xff0c;是大脑将概念连结成网的能力。而AI要模仿这种能力&#xff0c;需要一张动态的“数字地图”来存储和链接知识&#xff0c;这就是​知识…...

Facebook隐私设置详解:如何保护你的个人信息

在这个数字化时代&#xff0c;个人信息安全变得尤为重要。Facebook 作为全球最大的社交网络平台之一&#xff0c;拥有数十亿用户。然而&#xff0c;随着用户数量的增加&#xff0c;隐私问题也日益凸显。本文将详细介绍 Facebook 的隐私设置&#xff0c;帮助你更好地保护个人信息…...

【Hive入门】Hive数据导入与导出:批量操作与HDFS数据迁移完全指南

目录 引言 1 Hive数据导入概述 1.1 Hive数据导入方式分类 1.2 Hive数据模型与存储结构 2 LOAD DATA命令详解 2.1 基本语法与参数 2.2 LOAD DATA执行流程 2.3 案例分析 3 HDFS数据迁移技术 3.1 HDFS文件操作与Hive集成 3.2 外部表技术应用 3.3 分区表动态加载 4 性…...

深入浅出JSON:现代数据交换的基石

JSON&#xff08;JavaScript Object Notation&#xff09;已经成为当今互联网上最流行的数据交换格式之一。无论是Web API、配置文件还是NoSQL数据库&#xff0c;JSON都扮演着至关重要的角色。本文将带你全面了解JSON&#xff0c;从基础概念到高级应用。 什么是JSON&#xff1…...

C++ 日志系统实战第四步:设计与代码实现详解

全是通俗易懂的讲解&#xff0c;如果你本节之前的知识都掌握清楚&#xff0c;那就速速来看我的项目笔记吧~ 本文将加入项目代码编写&#xff01; 目录 日志系统框架设计 模块划分 模块关系图 代码设计 实用类设计 日志等级设计 日志消息类 日志输出格式 日志落地(L…...

DeepSeek API接口调用示例(开发语言C#,替换其中key值为自己的key值即可)

示例&#xff1a; DeepSeek官方接口说明文档&#xff1a;对话补全 | DeepSeek API Docs 官网暂未提供C#代码实现&#xff1a;&#xff08;以下为根据CURL接口C#代码调用&#xff09; using System; using System.Collections.Generic; using System.Linq; using System.Text; …...

PyTorch常用命令(可快速上手PyTorch的核心功能,涵盖从数据预处理到模型训练的全流程)

以下是PyTorch常用命令的分类整理&#xff0c;涵盖张量操作、模型构建、数据加载、训练流程等核心内容&#xff1a; 1. 张量操作 创建张量 x torch.tensor([1, 2, 3]) # 从数据创建 x torch.zeros(3, 3) # 全零张量 x torch.ones(3, 3) …...

软开错题(二)

SNMP的传输层协议是UDP Linux操作系统中通常使用apache作为web服务器&#xff0c;其默认的web站点的目录是 /var/www/html 归并排序不是原地排序 邻接表&#xff1a;包含n个头节点和e个表节点&#xff0c;其广度和深度遍历的时间复杂度都是O(ne) grant使用方式 grant 权限 …...

拉削丝锥,螺纹类加工的选择之一

在我们的日常生活中&#xff0c;螺纹连接无处不在&#xff0c;从简单的螺丝钉到复杂的机械设备&#xff0c;都离不开螺纹的精密加工。今天&#xff0c;给大家介绍一种的螺纹刀具——拉削丝锥&#xff1a; 一、拉削丝锥的工作原理 拉削丝锥&#xff0c;听起来有点陌生吧&#…...

【Python Number(数字)】

Python 中的数字类型是编程的基础元素&#xff0c;用于表示数值数据并进行数学运算。以下是 Python 数字类型的核心知识点&#xff1a; 一、基础数字类型 整数&#xff08;int&#xff09; 表示整数值&#xff0c;例如 42, -7, 0支持任意精度&#xff08;无大小限制&#xff09…...

​​大疆无人机SDR 链路​​

在大疆无人机或通信技术领域&#xff0c;​​SDR​​ 是 ​​Software-Defined Radio&#xff08;软件定义无线电&#xff09;​​ 的缩写&#xff0c;而 ​​SDR 链路​​ 指的是一种​​通过软件编程实现无线通信功能的技术链路​​。其核心是通过软件动态调整通信参数&#…...

linux基础学习--linux磁盘与文件管理系统

linux磁盘与文件管理系统 1.认识linux系统 1.1 磁盘组成与分区的复习 首先了解磁盘的物理组成,主要有: 圆形的碟片(主要记录数据的部分)。机械手臂,与在机械手臂上的磁头(可擦写碟片上的内容)。主轴马达,可以转动碟片,让机械手臂的磁头在碟片上读写数据。 数据存储…...

【Qt】Qt 构建系统详解:qmake 入门到项目实战

Qt 构建系统详解&#xff1a;qmake 入门到项目实战 本文将系统介绍 Qt 构建工具 qmake 的用法&#xff0c;并通过一个完整的项目结构示例&#xff0c;帮助你掌握 .pro 文件编写、子项目管理、模块依赖等核心技能。 &#x1f9ed; 一、什么是 qmake&#xff1f; qmake 是 Qt 提…...

Laravel 12 实现验证码功能

Laravel 12 实现验证码功能 在 Laravel 12 中实现验证码功能可以通过多种方式&#xff0c;以下是几种常见的方法&#xff1a; 方法一&#xff1a;使用 Captcha 包&#xff08;推荐&#xff09; 首先安装 mews/captcha 包&#xff1a; composer require mews/captcha发布配置…...

深入解析Http11AprProtocol:Tomcat高性能通信的底层原理

HTTP/1.1 协议作为 Web 通信的基础标准&#xff0c;其实现效率直接影响服务器性能。Apache Tomcat 作为 Java 生态中最流行的 Servlet 容器&#xff0c;提供了多种 HTTP 协议实现方案&#xff0c;其中基于 Apache Portable Runtime&#xff08;APR&#xff09;的 Http11AprProt…...

HTTP请求与缓存、页面渲染全流程

文章目录 前言**1. HTTP请求与缓存处理****缓存机制**• 强缓存&#xff08;Cache-Control / Expires&#xff09;• 协商缓存&#xff08;Last-Modified / ETag&#xff09; **2. 服务器响应与数据解析****3. HTML DOM 构建****4. CSSOM 构建****5. 渲染树&#xff08;Render …...

HTB - Eureka记录

HTB - Eurekahttps://mp.weixin.qq.com/s/r1WmZXNR6YkvnwP40liciA...

CentOS 7 基础环境安装脚本

&#x1f31f; CentOS 7 基础环境安装脚本使用文档 &#x1f9f0; 一键部署&#xff01;助你在 CentOS 7 系统上快速构建高效开发环境。 开源地址&#xff1a;https://github.com/hahaha-zsq/Shortcut-Script CentOS 7 基础环境安装脚本使用 &#x1f4e6; 项目结构一览 ./ ├…...

【Python 模块】

Python 中的模块&#xff08;Module&#xff09;是组织代码的核心方式&#xff0c;通过将相关函数、类和变量封装到独立文件中&#xff0c;实现代码复用和结构化管理。以下是模块的核心知识点&#xff1a; 一、基础概念 1. 模块定义 任何 .py 文件都是一个模块模块名即文件名…...

极狐Gitlab 如何创建并使用子群组?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 子群组 (BASIC ALL) 您可以将极狐GitLab 群组组织成子群组。您可以使用子群组&#xff1a; 内部和外部组织分开。因为每个子…...

【MCP】服务端搭建(python和uv环境搭建、nodejs安装、pycharma安装)

【MCP】服务端搭建&#xff08;python和uv环境搭建、nodejs安装、pycharma安装&#xff09; 服务端搭建&#xff08;1&#xff09;python和uv环境搭建&#xff08;2&#xff09;nodejs安装&#xff08;3&#xff09;pycharm安装 服务端搭建 &#xff08;1&#xff09;python和…...

【疑难杂症2025-003】Java-mvn项目在gitlab-ci构建镜像时遇到的问题和解决方案

本文由Markdown语法编辑器编辑完成&#xff0e; 1.背景: 之前从同事手里接手了一个java的项目&#xff0c;是用maven构建项目的&#xff0e;由于我们的服务都是基于docker来部署的&#xff0c;因此这个java项目也是要编译成docker image然后发布&#xff0e;但是之前一直都是…...

AI与Web3.0:去中心化智能合约的未来

AI与Web3.0&#xff1a;去中心化智能合约的未来 系统化学习人工智能网站&#xff08;收藏&#xff09;&#xff1a;https://www.captainbed.cn/flu 文章目录 AI与Web3.0&#xff1a;去中心化智能合约的未来摘要引言1.1 技术演进背景1.2 行业格局分化 技术架构对比2.1 智能合约…...

记录学习的第三十五天

今天主攻单源最短路Dijkstra算法。不过&#xff0c;还是没有完全掌握。 首先是书本的例题我理解了一遍。 然后其实在力扣上做了三道题的&#xff0c;但是我看题解的情况就不太会。然后试着用上面的方法敲了一下↓的题&#xff0c;但是不对啊&#xff0c;我也不知道为什么呀。...

虚拟现实(VR)与增强现实(AR)在教育领域的应用:开启沉浸式学习新时代

前言 随着科技的飞速发展&#xff0c;虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09;技术逐渐从游戏和娱乐领域走向教育领域。传统的教育模式主要依赖于书本、黑板和课堂讲解&#xff0c;这种模式虽然有效&#xff0c;但往往难以激发学生的学习兴趣和…...

线性代数之矩阵运算:驱动深度学习模型进化的数学引擎

目录 一、矩阵运算的基本概念与类型 二、矩阵运算在深度学习中的核心作用 三、典型深度学习模型中的矩阵运算实现 四、矩阵运算的优化与加速 五、未来发展趋势与挑战 矩阵运算是线性代数的核心组成部分,也是深度学习模型构建和优化的数学基础。从基本的前向传播到复杂的注…...

Spring AI(1)—— 基本使用

Spring AI 是一个用于 AI 工程的应用程序框架。 其目标是将 Spring 生态系统设计原则应用于 AI 领域。 Spring AI 提供以下功能&#xff1a; 支持所有主要的 AI 模型提供商&#xff0c;例如 Anthropic、OpenAI、Microsoft、Amazon、Google 和 Ollama等。支持跨 AI 提供商对同…...

深入浅出HTML:构建现代网页的基石

深入浅出HTML&#xff1a;构建现代网页的基石 引言 在数字世界的基石中&#xff0c;HTML&#xff08;HyperText Markup Language&#xff09;始终扮演着不可替代的角色。作为万维网的核心语言&#xff0c;HTML经历了30年的演变&#xff0c;从简单的文档标记发展到支持复杂Web…...

ai说什么是注解,并以angular ts为例

在编程中&#xff0c;注解&#xff08;Annotation&#xff09; 是一种特殊的语法结构&#xff0c;用于为代码添加元数据&#xff08;metadata&#xff09;&#xff0c;从而在不修改代码逻辑的情况下&#xff0c;提供额外的信息或指示编译器、框架、工具如何处理这些代码。注解通…...