CSS变量用法及实践
目录
一、基本用法
1.1、定义变量
1.2、使用变量
1.3 、修改变量的值
二、命名规范
2.1、使用有意义的名称
2.2、使用命名空间
三、变量值类型
3.1、如果变量值是一个字符串,可以与其他字符串拼接,例如:
3.2、 如果变量值是数值,则不能与数值单位直接连用,例如:
3.3、如果变量值带有单位,就不能写成字符串,例如:
四、如何理解理解 :root 和 var()
4.1、:root 伪类:
4.2、var() 函数:
4.2.1、案例 1在这个案例中,我们定义了两个变量 --primary-color 和 --font-size,并将其应用于 .element 元素的颜色和字体大小。当鼠标悬停在 .element 元素上时,--primary-color 变量的值将变为绿色,--font-size 变量的值将变为 26px。
4.2.2 、案例 2
五、变量作用域
5.1、全局作用域
5.2、 局部作用域
六、在vue自定义组件中的使用
一、基本用法
1.1、定义变量
变量的定义通常放在选择器的规则集内,或者在根元素(
:root
)中定义,以便全局使用。例如:
:root {--primary-color: #ff0000;--font-size: 16px;
}
1.2、使用变量
使用变量时,需要使用
var()
函数将变量包裹起来。变量可以在任何可以使用CSS
属性值的地方使用,例如颜色、尺寸、边距等。例如:
.element {color: var(--primary-color);font-size: var(--font-size);
}
1.3 、修改变量的值
变量的值可以在
CSS
中动态修改,以实现样式的变化。可以通过JavaScript或使用伪类(:hover
、:focus
等)来修改变量的值。例如:
.element:hover {--primary-color: #00ff00;
}
或者使用 JavaScript
来修改变量的值:
document.documentElement.style.setProperty('--primary-color', '#00ff00');
二、命名规范
当我们在 CSS 中使用变量时,为了避免与现有的 CSS 属性冲突,我们可以使用自定义的 CSS 变量,并为它们选择适当的命名规范。以两个横线(--)开头的属性被视为 CSS 变量。以下是一些常见的 CSS 变量命名规范:
2.1、使用有意义的名称
为了增加代码的可读性和可维护性,我们应该选择具有描述性的名称来命名 CSS 变量。这样可以使其他开发人员更容易理解变量的用途和含义;
使用小写字母和连字符:CSS 变量的名称应该使用小写字母,并使用连字符(-)作为单词之间的分隔符。例如,--primary-color;
2.2、使用命名空间
为了避免与其他变量冲突,可以使用命名空间来对变量进行分组。例如,--button-primary-color,其中 button 是命名空间;
避免使用缩写和简写:尽量避免使用缩写和简写的变量名称,因为这可能会导致代码的可读性降低。选择具有描述性的名称,以便其他开发人员能够轻松理解变量的含义;
使用一致的命名约定:在整个项目中保持一致的命名约定是很重要的。选择一种命名风格,并在整个项目中坚持使用它,这样可以提高代码的一致性和可读性。
总之,CSS 变量的命名规范应该注重可读性、可维护性和一致性。通过选择有意义的名称、使用小写字母和连字符、使用命名空间以及避免缩写和简写,我们可以更好地组织和管理 CSS 变量。
三、变量值类型
在
CSS
中,CSS
变量的值可以是各种不同的类型。不同的类型在使用上也会有细微的差别。
3.1、如果变量值是一个字符串,可以与其他字符串拼接,例如:
<!DOCTYPE html>
<html><style>:root {--primary-content: 'hello';}.box:after {content: '标题 : ' var(--primary-content)}
</style><body><div class="box"></div>
</body></html>
3.2、 如果变量值是数值,则不能与数值单位直接连用,例如:
在下面的代码中,我们在 box2 盒子使用 calc() 函数来执行数学计算,将变量 --primary-num 的值乘以 1 像素(1px)。这样,就可以将数值与单位进行结合,以实现正确的样式效果。通过这种方式,我们可以将数值与单位进行拼接,确保样式的正确性。而且 calc() 函数可以执行更复杂的数学计算,例如加法、减法、乘法和除法等。
<!DOCTYPE html>
<html><style>:root {--primary-num: 40;}.box1 {background: cadetblue;padding-top: var(--primary-num)px;}.box2 {background: chocolate;padding-top: calc(var(--primary-num) * 1px);}
</style><body><div class="box1">内容1</div><div class="box2">内容2</div>
</body></html>
3.3、如果变量值带有单位,就不能写成字符串,例如:
在下面的代码中,我们在 box1 盒子将带有单位的变量值定义为字符串。这是无效的,因为 CSS 属性期望的是数值单位,而不是字符串。这样的定义会导致样式无效或产生错误。因此,当变量值带有单位时,应该将其定义为数值,而不是字符串。这样可以确保变量在应用于 CSS 属性时能够正确地与单位进行结合。
<!DOCTYPE html>
<html><style>:root {--border-radius-box1: '20px';--border-radius-box2: 20px;}.box1 {background: chocolate;border-radius: var(--border-radius-box1);}.box2 {background: cornflowerblue;border-radius: var(--border-radius-box2);}
</style><body><div class="box1">内容1</div><div class="box2">内容2</div>
</body></html>
- 实现效果
四、如何理解理解 :root 和 var()
4.1、:root
伪类:
- :root 伪类选择器匹配文档树的根元素,通常是 <html> 元素;
- 在 :root 伪类中定义的 CSS 变量可以在整个文档中全局使用;
- 通过在 :root 伪类中定义变量,我们可以为整个文档设置全局的 CSS 属性值;
- 例如,我们可以使用 :root 伪类定义全局的颜色、字体大小、断点值等。
4.2、var()
函数:
- var() 函数用于引用和使用 CSS 变量的值;
- 它接受一个参数,即引用的 CSS 变量的名称;
- var() 函数可以在任何 CSS 属性的值中使用,包括字体大小、颜色、边距等;
- 通过使用 var() 函数,我们可以根据需要在不同的元素和选择器中使用相同的 CSS 变量值,实现统一的样式管理;
- 例如,我们可以使用 var(--primary-color) 来引用全局定义的 --primary-color 变量。
CSS 变量的基本用法就是这样。通过定义、使用和修改变量的值,可以实现样式的重用、动态变化和全局控制。这使得 CSS 开发更加灵活和可维护。下面为大家提供三个案例,涵盖了定义变量、使用变量和修改变量的值的示例的完整代码。
4.2.1、案例 1
在这个案例中,我们定义了两个变量 --primary-color 和 --font-size,并将其应用于 .element 元素的颜色和字体大小。当鼠标悬停在 .element 元素上时,--primary-color 变量的值将变为绿色,--font-size 变量的值将变为 26px。
<!DOCTYPE html>
<html><head><style>:root {--primary-color: #f88604;--font-size: 22px;}.element {color: var(--primary-color);font-size: var(--font-size);}.element:hover {--primary-color: rgb(0, 104, 202);}</style>
</head><body><div class="element">Hello, CSS Variables!</div>
</body></html>
- 实现效果
4.2.2 、案例 2
在这个案例中,我们定义了一个变量 --primary-color,并将其应用于 .element 元素的颜色。通过 JavaScript 中的 changeColor 函数,我们可以通过点击按钮来修改 --primary-color 变量的值,从而改变 .element 元素的颜色。
<!DOCTYPE html>
<html><head><style>:root {--primary-color: orange;}.element {color: var(--primary-color);}</style><script>function changeColor() {document.documentElement.style.setProperty('--primary-color', 'blue');// document.documentElement.style.setProperty('root变量', '更改的值')}</script>
</head><body><div class="element">Click the button to change color</div><button onclick="changeColor()">点击改变颜色</button>
</body></html>
五、变量作用域
CSS 变量的作用域是定义它们的选择器的范围。在选择器内定义的变量只能在该选择器内部使用,而在全局作用域内定义的变量则可以在整个文档中使用。
5.1、全局作用域
- 在 :root 伪类中定义的 CSS 变量具有全局作用域;
- :root 伪类选择器匹配文档树的根元素,通常是 <html> 元素;
- 在 :root 伪类中定义的变量可以在整个文档中全局使用。
<!DOCTYPE html>
<html><head><style>:root {--bg-color: rgb(88, 88, 186);--color: #33ca63;}div {background-color: var(--bg-color);color: var(--color);}span {background-color: var(--bg-color);color: var(--color);}</style>
</head><body><div><p>我在div内部</p></div><span>我在div外部</span>
</body></html>
5.2、 局部作用域
- 在选择器内部或元素内部定义的
CSS
变量具有局部作用域;- 这些变量只能在定义它们的选择器或元素内部使用;
- 局部作用域的变量会覆盖全局作用域中同名的变量。
<!DOCTYPE html>
<html><head><style>div {--bg-color: rgb(88, 88, 186);--color: #33ca63;}p {background-color: var(--bg-color);color: var(--color);}span {background-color: var(--bg-color);color: var(--color);}</style>
</head><body><div><p>我在div内部</p></div><span>我在div外部</span>
</body></html>
六、在vue自定义组件中的使用
相关文章:
CSS变量用法及实践
目录 一、基本用法 1.1、定义变量 1.2、使用变量 1.3 、修改变量的值 二、命名规范 2.1、使用有意义的名称 2.2、使用命名空间 三、变量值类型 3.1、如果变量值是一个字符串,可以与其他字符串拼接,例如: 3.2、 如果变量值是数值&a…...
【Python网络爬虫笔记】8- (BeautifulSoup)抓取电影天堂2024年最新电影,并保存所有电影名称和链接
目录 一. BeautifulSoup的作用二. 核心方法介绍2.1 构造函数2.2 find()方法2.3 find_all()方法2.4 select()方法 三. 网络爬虫中使用BeautifulSoup四、案例爬取结果 一. BeautifulSoup的作用 解析HTML/XML文档:它可以将复杂的HTML或XML文本转换为易于操作的树形结构…...
STM32 ADC --- 知识点总结
STM32 ADC — 知识点总结 文章目录 STM32 ADC --- 知识点总结cubeMX中配置注解单次转换模式、连续转换模式、扫描模式单通道采样的情况单次转换模式:连续转换模式: 多通道采样的情况禁止扫描模式(单次转换模式或连续转换模式)单次…...
使用PHP脚本实现GitHub API搜索与数据库同步
在现代软件开发中,自动化数据收集和同步是提高效率的关键。今天,我将分享一个我最近开发的PHP脚本,它能够自动从GitHub API搜索特定关键词的仓库,并将这些数据同步到MySQL数据库中。这个过程不仅涉及到API调用和数据处理ÿ…...
使用docker-compese部署SFTPGo详解
官网:SFTP & FTP as a Managed Service (SaaS) and On-premise 一、SFTPGo简介 SFTPGo 是一款功能强大的文件传输服务器软件。它支持多种协议(SFTP、SCP、FTP/S、WebDAV、HTTP/S)和多个存储后端。 借助 SFTPGo,您可以利用本地…...
JavaScript根据数据生成柱形图
分析需求 // 定义一个数组来存储四个季度的数据 dataArray = []// 循环4次,获取用户输入的数据并存储到数组中 for i from 0 to 3// 获取用户输入的数据inputData = 获取用户输入的第(i + 1)季度的数据// 将数据存入数组dataArray[i] = inputData// 遍历数组,根据数据生成柱…...
Android笔记【12】脚手架Scaffold和导航Navigation
一、前言 学习课程时,对于自己不懂的点的记录。 对于cy老师第二节课总结。 二、内容 1、PPT介绍scaffold 2、开始代码实操 先新建一个screen包,写一个Homescreen函数,包括四个页面。 再新建一个compenent包,写一个displayText…...
VirtualBox注册已有虚拟机:未能打开位于虚拟电脑E_INVALIDARG (0X80070057)
错误如下 解决办法1 产生虚拟机的机器,与当前使用机器不兼容。建议在当前机器重新产生虚拟机。比如我家里电脑是WIN7,公司电脑是WIN11。 原来的虚拟机内容,找老机器导出。 解决办法2(存疑) 搜索到一个说法…...
开发中使用UML的流程_08 PIM-4:定义操作及方法
目录 1、序列图概述 2、序列图调用方式 3、创建消息与销毁消息 4、几项建议 1、序列图概述 在PIM-4中,系统分析员可以用序列图来表达,系统内部一群对象合力完成某一个系统用例时,执行期间的交互情形。之后,序列图可能通过设计…...
软件设计 —— 检测按键单击、多击、长按或组合动作
目 录 按键单一动作识别按键组合动作识别 按键单一动作识别 带有按键的作品设计时,按键动作检测是必不可少的,如何判断按键是单击、双击、三击和长按动作呢? 1、定时器定时一个10ms周期 2、把按键检测函数放到这个周期内执行,即…...
【GPT】主要影响代谢的因素
代谢的快慢受到多种因素的影响,包括遗传、生活习惯和健康状况等。以下是主要影响代谢的因素: 1. 年龄 影响:年龄增长会导致基础代谢率(BMR)逐渐降低,这是因为随着年龄增加,肌肉量减少ÿ…...
LLM Agents can Autonomously Hack Websites 论文阅读
paper:LLM Agents can Autonomously Hack Websites abstract:近年来,大型语言模型(llm)已经变得越来越有能力,现在可以与工具交互(例如,调用函数),读取文档,并递归地调用自己。因此,这些llm现在可以作为代理自主运行。随着这些代理能力的提高,最近的工作推测了LLM代…...
STM32标准库-FLASH
FLASH模仿EEPROM STM32本身没有自带EEPROM,但是自带了FLASH存储器。 STM32F103ZET6自带 1M字节的FLASH空间,和 128K64K的SRAM空间。 STM32F4 的 SPI 功能很强大,SPI 时钟最高可以到 37.5Mhz,支持 DMA,可以配置为 SPI协…...
【机器学习】机器学习的基本分类-监督学习-决策树-ID3 算法
ID3(Iterative Dichotomiser 3)是决策树的一种构造算法,由 Ross Quinlan 在 1986 年提出。它主要用于分类问题,通过信息增益选择特征来构建决策树。ID3 假设数据是离散型特征,且不支持连续型数据。 1. 核心思想 划分标…...
nginx配置http及https
nginx配置http及https 1.动静分离2.负载均衡3.配置https4.请求重定向5.常用参数配置介绍 现在日常工作中的项目大多数都是采用前后端分离,就用到了nginx进行反向代理、处理静态资源等;因此,记录整理了nginx一些常用的配置; 1.动静…...
威联通-001 手机相册备份
文章目录 前言1.Qfile Pro2.Qsync Pro总结 前言 威联通有两种数据备份手段:1.Qfile Pro和2.Qsync Pro,实践使用中存在一些区别,针对不同备份环境选择是不同。 1.Qfile Pro 用来备份制定目录内容的。 2.Qsync Pro 主要用来查看和操作文…...
柔性数组详解+代码展示
系列文章目录 🎈 🎈 我的CSDN主页:OTWOL的主页,欢迎!!!👋🏼👋🏼 🎉🎉我的C语言初阶合集:C语言初阶合集,希望能…...
【oracle数据库提示oracle initialization or shutdown in process】
问题如下截图: 解决方案: 1.进入sqlplus,下图中红圈即处理方式 备注:redo03.log是数据库路径“E:\app\Administrator\oradata\MKDB3D\”下最新的归档日志文件 2.alter database open resetlogs 3.netmanager测试登录是否成功&am…...
面试题-RocketMQ的基本架构、支持的消息模式、如何保证消息的可靠传输
相关问题 1、RocketMQ的基本架构是怎样的?请简述各组件的作用。 2、RocketMQ支持哪几种消息模式(如点对点、发布/订阅)?请简要说明它们的区别。 3、如何使用Java客户端实现一个简单的消息生产者和消费者? 4、RocketMQ…...
VUE脚手架练习
脚手架安装的问题: 1.安装node.js,配置环境变量,cmd输入node -v和npm -v可以看到版本号(如果显示不是命令,确认环境变量是否配置成功,记得配置环境变量之后重新打开cmd,再去验证) 2.在安装cnmp时…...
在Scala中栈的认识
package gjhs114import scala.collection.mutableobject fx {队列 // def main(args: Array[String]): Unit { // val q1 mutable.Queue(1) // q1.enqueue(2) // q1.enqueue(3) // q1.enqueue(4) // // println(q1.dequeue())//出队 1 // println(q1.dequ…...
小程序-基于java+SpringBoot+Vue的音乐播放器小程序设计与实现
项目运行 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:…...
在21世纪的我用C语言探寻世界本质——字符函数和字符串函数(2)
人无完人,持之以恒,方能见真我!!! 共同进步!! 文章目录 一、strncpy函数的使用二、strncat函数的使用三、strncmp函数的使用四、strstr的使用和模拟实现五、strtok函数的使用六、strerror和perr…...
oracle to postgresql使用Oracle Golden Gate同步数据
参考 https://www.ktexperts.com/replication-to-gcp-postgresql-using-oracle-goldengate/ https://www.ktexperts.com/how-to-change-remote-trail-file-location-in-oracle-goldengate/...
基于Java Springboot校园导航微信小程序
一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse微信开发…...
【软件安全专题文档】系统安全设计规范,网络与信息系统安全设计规范,信息系统安全架构方案设计规范(Word原件)
1.1安全建设原则 1.2 安全管理体系 1.3 安全管理规范 1.4 数据安全保障措施 1.4.1 数据库安全保障 1.4.2 操作系统安全保障 1.4.3 病毒防治 1.5安全保障措施 1.5.1实名认证保障 1.5.2 接口安全保障 1.5.3 加密传输保障 1.5.4终端安全保障 软件项目全周期文档清单部分文件概览&a…...
【青牛科技】SCU2N60E/SCD2N60E N沟道增强型功率场效应晶体管采用Silicore先进的VDMOS技术生产
描述: 这些N沟道增强型功率场效应晶体管采用Silicore先进的VDMOS技术生产,为设计人员提供了卓越的开关性能、坚固的器件设计、低导通电阻和成本效益。 特点: 在VGS10V时,600V,2.0A,Rdson4.5Ω(…...
常见限流算法介绍 和 Spring Cloud Sentinel使用方式
sentinel 限流及熔断 为什么要限流呢?对于一些突发流量,如双11大促,甚至恶意攻击,这时系统的访问量远远超出系统的承受能力,如果不做任何保护措施, 服务器资源会耗尽,进而系统不可用。 限流就…...
工业齐套管理虚拟现实仿真模拟软件
工业齐套管理虚拟现实仿真模拟软件是与法国最大的汽车制造商合作开发的一款虚拟现实仿真模拟软件,借助身临其境的虚拟现实环境,无需停止生产线,即可模拟仓库和提货区域。 工业齐套管理虚拟现实仿真模拟软件不仅适用于汽车工业,安全…...
HarmonyOS(60)性能优化之状态管理最佳实践
状态管理最佳实践 1、避免在循环中访问状态变量1.1 反例1.2 正例 2、避免不必要的状态变量的使用3、建议使用临时变量替换状态变量3.1 反例3.2 正例 4、参考资料 1、避免在循环中访问状态变量 在应用开发中,应避免在循环逻辑中频繁读取状态变量,而是应该…...
Qt5语法的connect指定多个重载信号槽函数中的具体某一个
Qt5新语法的connect函数,使用起来更加简洁明了,但如果信号槽有同名的多个重载函数,只用类名和函数名就无法绑定,这时,可以使用qOverload来指定参数类型,例如: connect(ui->comboBox, qOverlo…...
Mysql远程工具Navicat Premium连接报错1130、2003解决方案
这里写自定义目录标题 1130报错:2003报错: 1130报错: 原因: 连接异常 1130,没有远程登录权限。 解决方案ÿ…...
ShardingSphere介绍
1. ShardingSphere简单介绍 ShardingSphere是一款目前业内比较流行的分库分表框架,到现在为止有接近十年的开发历程了,其 已经不仅仅只是⽤来做分库分表,⽽是形成了⼀个围绕 分库分表核⼼的技术⽣态。他的核⼼功能已经包括了数据分⽚、分布式…...
操作系统 | 学习笔记 | 王道 | 2.2处理机调度
2.2 处理机调度 文章目录 2.2 处理机调度2.2.1 调度的概念2.2.2 调度的目标2.2.3 调度的实现2.2.4 典型的调度算法错题总结: 2.2.1 调度的概念 调度的基本概念 处理机调度是对处理机进行分配,即从就绪队列中按照一定的算法(公平、高效的原则&…...
我们项目要升级到flutter架构的几点原因
一、探索 Flutter打造卓越移动应用的新时代框架 在移动应用开发的世界里,Flutter已经成为了一个炙手可热的话题。诞生于Google的怀抱,Flutter以其独特的优势和理念,正在引领一场全球范围内的应用开发 ** 。本文将深入探讨Flutter项目的特点、…...
Solidity开发智能合约
05-Solidity开发智能合约 0 Solidity和智能合约 Solidity开发可运行的智能合约步骤: 源代码通过编译成字节码(Bytecode),同时会产生二进制接口规范(ABI) 通过交易将字节码部署到以太坊网络,部署…...
bind实验
服务端 查看域名 [rootclient yum.repos.d]# hostname client 设置域名 [rootclient yum.repos.d]# hostnamectl set-hostname dns1.openlab.edu [rootclient yum.repos.d]# cd [rootclient ~]# hostname dns1.openlab.edu 安装bind包 [rootclient ~]# yum install bind -y…...
ARM架构下安装新版docker及docker-compose
一、常见CPU 架构: 二、环境信息 CPU架构操作系统配置HUAWEI Kunpeng 920 5220 aarch64openEuler 22.03 (LTS-SP3)64C128g15T 三、安装docker 3.1 二进制包下载 docker-ce 社区下载地址: wget https://mirrors.nju.edu.cn/docker-ce/linux/static/s…...
自锁/非自锁开关原理笔记
前言:编写不易,请勿搬运,感谢理解,仅供学习。 开关介绍 6指针开关,这种开关分为自锁和非自锁开关,自锁开关有两种状态,按下和松开的状态,非自锁开关在按下过后,按键会复…...
基于SpringBoot+Vue的论坛网站-无偿分享 (附源码+LW+调试)
目录 1. 项目技术 2. 功能菜单 3. 部分功能截图 4. 研究背景 5. 研究目的 6. 可行性分析 6.1 技术可行性 6.2 经济可行性 6.3 操作可行性 7. 系统设计 7.1 概述 7.2 系统流程和逻辑 7.3 系统结构 8. 数据库设计 8.1 数据库ER图 (1)问题反…...
基于SSM的博客系统+LW参考示例
1项目介绍 系统角色:管理员、普通用户功能模块:管理员(用户管理,博文分类管理,博文信息管理,话题分类管理,热议话题管理,私信管理,敏感词管理,系统管理等&am…...
[241129] Docker Desktop 4.36 发布:企业级管理功能、WSL 2 增强 | Smile v4.0.0 发布
目录 Docker Desktop 4.36 发布:企业级管理功能、WSL 2 和 ECI 增强Smile v4.0.0 发布!Java 机器学习库迎来重大升级 Docker Desktop 4.36 发布:企业级管理功能、WSL 2 和 ECI 增强 Docker Desktop 4.36 带来了强大的更新,简化了…...
webpack5开发环境、生产环境配置 (三)
开发环境:就是我们开发代码时使用的模式。 这个模式我们做两件事情: 1、编译代码,使浏览器能识别运行 2、代码质量检查,树立代码规范 生产环境:开发完成代码后,我们需要得到代码将来部署上线。 这个模式…...
一次Kafka启动失败引出的问题
背景 Some time,有个现场童鞋说咱的Kafka实例有个broker一直crash,还截图给我看了,大致是Kafka启动加载topic分区日志文件的时候,然后就没了,连个WARN都没有。当然,光看这个截图咱啥都不知道,因…...
[Linux] 进程间通信——匿名管道命名管道
标题:[Linux] 进程间通信——匿名管道&&命名管道 水墨不写bug (图片来源于网络) 目录 一、进程间通信 二、进程间通信的方案——匿名管道 (1)匿名管道的原理 (2)使用匿名管道 三、进…...
人机交互中的状态交互、趋势交互
在人机交互中, 状态交互 和 趋势交互 是两种重要的交互方式,它们分别涉及到用户与系统之间不同的交互模型和机制。 1. 状态交互 状态交互主要聚焦于用户与系统之间的状态转换及其反馈机制。在这种交互模式下,系统会根据用户的输入或行为发生状…...
基于Java Springboot房屋租赁App且微信小程序
一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 微信…...
golang的wails框架在macos下的问题
1、前言 之前练手写了格调用ollama api的web应用,想找个容器打包下,于是找到wails来打包,windows下都是很正常的,因为就是普通的http调用,也没遇到cors跨域问题,但是到了macos下使用wails dev命令启动的客户…...
编程设计模式助记顺口溜
1、顺口溜 创建型,工厂多,单例建对象,抽象工厂做。建造者分步做,原型克隆最不愁。 结构型,适配器,桥接组合都不错,装饰外观飞享元,代理再添一把火。 行为型,责任链&…...
java网络通信(三):TCP通信、实现客户端-服务端消息通信
目录 1、什么是 TCP协议? 2、代码实现TCP协议的一发一收 2.1、客户端 2.2、服务端 2.3 结果演示 3、代码实现TCP协议的多发多收 3.1 客户端 3.2 服务端 3.3 结果演示 简介:本文章主要是演示如何用java代码以及TCP协议实现网络通信,实…...