css 背景效果_软件技术:我写CSS的常用套路(附demo的效果实现与源码)

2023-11-10

前言

本文是笔者写CSS时常用的套路。不论效果再怎么华丽,万变不离其宗。

1、交错动画

c34bef8396644dc3057f11e91181a503.gif 有时候,我们需要给多个元素添加同一个动画,播放后,不难发现它们会一起运动,一起结束,这样就会显得很平淡无奇。 那么如何将动画变得稍微有趣一点呢?很简单,既然它们都是同一时刻开始运动的,那么让它们不在同一时刻运动不就可以了吗。如何让它们不在同一时刻运动呢?注意到CSS动画有延迟( delay )这一属性。 举个栗子,比如有十个元素播放十个动画,将第二个元素的动画播放时间设定为比第一个元素晚0.5秒(也就是将延迟设为0.5秒),其他元素以此类推,这样它们就会错开来,形成一种独特的视觉效果。 605111b71b5d5e04c9fe7d5bbf98cebf.gif 这就是所谓的交错动画:通过设置不同的延迟时间,达到动画交错播放的效果。 本demo地址:https://codepen.io/alphardex/pen/XWWWBmQ

2、用JS分割文本

还有一种经常用到的玩法:用JS将句子或单词分割成字母,并给每个字母加上不同延时的动画,同样也很华丽。 165e07b464b4977e2d0d2ffcc06d13f6.gif 本demo地址:https://codepen.io/alphardex/full/KKwvKGY 一般我们都是从第一个元素开始交错的。但如果要从中间元素开始交错的话,就要给当前元素的延时各加上一个值,这个值就是中间元素的下标到当前元素的下标的距离(也就是下标之差的绝对值)与步长的乘积,即: delay + Math.abs(i - middle) * step ,其中中间元素的下标 middle = letters.filter(e => e !== "").length / 2 116bc2b151b981cf7d3442269e104679.gif 本demo地址:https://codepen.io/alphardex/full/eYYMYXJ 所有有交错特性的动画都在这儿 3、随机粒子动画 说到随机性,我们可以实现一种更疯狂的效果:给几百个粒子添加交错动画,并且交错时间随机,位置大小也都是随机。如此一来我们就能用纯CSS模拟出下雪的效果。 又到了白色相簿的季节呢~为什么你写CSS这么熟练啊? 02669182d1087df7789d9b9abc0e74b5.png 本demo地址:https://codepen.io/alphardex/full/dyPorwJ

伪类和伪元素

4、伪类

c4a33c070aa410baa0392f53b1f2630c.gif 本demo地址: https://codepen.io/alphardex/pen/pooYKVa HTML元素的状态是可以动态变化的。举个栗子,当你的鼠标悬浮到一个按钮上时,按钮就会变成“悬浮”状态,这时我们就可以利用伪类 :hover 来选中这一状态的按钮,并对其样式进行改变。 :hover 是笔者最最常用的一个伪类。还有一个很常用的伪类是 :nth-child ,用于选中元素的某一个子元素。其他的类似 :focus:focus-within 等也有一定的使用。 5、绝对定位实现多重边框 谁规定按钮只能有一套边框的?利用绝对定位和 padding ,我们可以给按钮做出3套大小不一的边框来,这样效果更炫了。 ad12e075e01ef6d74c809b9ab1422cb6.gif 本demo地址:https://codepen.io/alphardex/full/ZEYXomW

6、伪元素

ddc6b183ce0030aa64dc8701e72d7ed3.gif 本demo地址:https://codepen.io/alphardex/pen/jOEOEzZ 简而言之,伪元素就是在原先的元素基础上插入额外的元素,而且这个元素不充当HTML的标签,这样就能保持HTML结构的整洁。 我们知道每个元素都有 ::before::after 这两个伪元素,也就是说每个元素都提供了3个矩形(元素本身1个,伪元素2个)来供我们进行形状的绘制。现在又有了 clip-path 这个属性,几乎任意的形状都可以被绘制出来,全凭你的想象力 上面的动图是条子划过文本的动画,条子就是每个文本所对应的伪元素,对每个文本和其伪元素应用动画,就能达到上图的效果了

7、attr()生成文本内

元素可以有自定义的属性值,它的命名格式通常为 data-* attr() 用于获取元素的这种自定义属性值,并赋值给其伪元素的 content 作为其生成的内容 利用这个函数,我们可以用伪元素在原先文本的基础上“复制”出另一个文本,如下图所示。 0243cd39f8f7b426b38cd6947d9dcf25.png 看上去有点乱糟糟的对吧?没事,给它加上 overflow: hidden ,把多余的文本遮住。通过JS分割文本并应用交错动画,就得到了如下的效果,这也是接下来本文要讲的 overflow 障眼法。 e3f94c9c3595a60bc8a99c39f7c77f5b.gif 本demo地址: https://codepen.io/alphardex/full/wvBeXjd

8、overflow障眼法

之前有做过闪光按钮的效果:鼠标悬浮按钮上时一道光从左到右划过去。 笔者就用渐变来模拟那道光,通过 transform: translateX() 将其平移至右边。 d73056d36e2608e58edd425f456dd460.gif 但这样明显不对啊,这光为啥能被看见呢?不应该把它给“挡”起来吗? 于是乎,给按钮加上 overflow: hidden ,光在按钮外的位置时就被隐藏起来了。 075a399bebd2595e328875ffd8537879.gif 这就是障眼法的力量: 本demo地址:https://codepen.io/alphardex/pen/eYYzXBZ 更多障眼法可以看看这个作品,一次性看个够XD

9、兄弟选择符定制表单元素

提示:这里最好将 input 作为 label 的子元素,这样用户点击 label 时就能传到 input 上 默认的 input 太丑怎么办?那就把它先抹掉,用 appearance: noneopacity: 0 都可以 然后,利用兄弟选择符 ~ 来定制和 input 相邻的所有元素( + 号也行,只不过只能选中最近的元素),例如可以用伪元素生成一个新的方框代替原先的 input ,利用伪类 :checked 和动画来表示它被勾选后的状态,本质上还是障眼法哦~ f41af3d620aee8f9b1eeb165028df031.gif 本demo地址:https://codepen.io/alphardex/full/rNNPQwa

CSS特性

善用某些CSS特性,也可以为你的作品增色不少哦

10、animation

此处包括 transitiontransform CSS动画可以说是利用CSS设计炫酷特效的最强法器,它几乎贯穿了我的所有作品 有人问我为什么我能想出这么多的动画?笔者阅番百部,对常用的动画技巧了如指掌,同样那些酷炫的网站只要细心观察,也会给笔者带来很多设计上的灵感。 一言以蔽之:只有多欣赏动画,才能写出好的动画。

11、border-radius

为盒子添加圆角,经常用来美化按钮等组件 如果设定为 50% 则是圆形,也很常用 不规则的曲边形状 调整多个顶点的 border-radius 可以做出不规则的曲边形状 0acb90f4bf4e36e122f4d652fe6bff67.gif 本demo地址:https://codepen.io/alphardex/full/abbWOPR

12、box-shadow

为盒子添加阴影,增加盒子的立体感,可以多层叠加,并且会使阴影更加丝滑 e1c559c803a976a230ecc14cea8659ae.gif 本demo地址:https://codepen.io/alphardex/full/QWwwwpp

13、遮罩

如果给 box-shadow 的扩张半径设定足够大的值,可以用它来遮住背景,而无需额外的div元素 77f6317268587a1ffc7c9f2e23234dfa.gif 本demo地址:https://codepen.io/alphardex/full/BaaKvVZ

14、内发光

注意到 box-shadow 还有个 inset ,用于盒子内部发光 利用这个特性我们可以在盒子内部的某个范围内设定颜色,做出一个新月形 98e172c35945ff5074d8d5ea150ceb64.png 再加点动画和滤镜效果,“猩红之月”闪亮登场! 11e6d7f1a759eb9da8921bd5bd1a897d.gif 本demo地址:https://codepen.io/alphardex/full/eYmGEGp

text-shadow

文本阴影,本质上和 box-shadow 相同,只不过是相对于文本而言,常用于文本发光,也可通过多层叠加来制作霓虹文本和伪3D文本等效果

15、发光文本

fbe9d0e625018db281b5ba9493429875.gif 本demo地址:https://codepen.io/alphardex/full/Exxodoq

16、霓虹文本

e99436a8ba560e530d15994ddd97cc15.gif 本demo地址:https://codepen.io/alphardex/full/rNNwmZz

17、伪3D文本

ece1344b14616acac128370a4d0ae582.gif 本demo地址:https://codepen.io/alphardex/full/QWWavvx

18、background-clip:text

能将背景裁剪成文字的前景色,常用来和 color: transparent 配合生成渐变文本 b6f4aa8e24c489c672a82d74903f7fb6.gif 本demo地址:https://codepen.io/alphardex/full/QWwveZG

gradient

渐变可以作为背景图片的一种,具有很强的色彩效果,甚至可以用来模拟光

19、linear-gradient

线性渐变是笔者最常用的渐变 0e3d0b249525ba3243fd3f83d690ec23.gif 这个作品用到了HTML的 dialog 标签,渐变背景,动画以及 overflow 障眼法,细心的你看出来了吗:) 本demo地址:https://codepen.io/alphardex/full/eYYxzBm

20、radial-gradient

径向渐变常用于生成圆形背景,上面例子中Snow的背景就是一个椭圆形的径向渐变 此外,由于背景可以叠加,我们可以叠加多个不同位置大小的径向渐变来生成圆点群,再加上动画就产生了一种微粒效果,无需多余的 div 元素。 16a8eaf665ad6835aaaaefa42a44abd5.gif 本demo地址:https://codepen.io/alphardex/full/OJPvMGx

21、conic-gradient

圆锥渐变可以用于制作饼图 62e814df83f74e61de8052a9d835ff07.png 用一个伪元素叠在饼图上面,并将 content 设为某个值(这个值通过CSS变量计算出来),就能制作出度量计的效果,障眼法又一次完成了它的使命。 4c5870cbb4bfae6ee2927c8089565254.png 本demo地址:https://codepen.io/alphardex/full/BaydVvQ

filter

PS里的滤镜,玩过的都懂, blur 最常用

22、backdrop-filter

对背景应用滤镜,产生毛玻璃的效果 5cca8634e1f46012d6719eb735bb9a19.gif 本demo地址:https://codepen.io/alphardex/full/pooQMVp

23、mix-blend-mode

PS里的混合模式,常用于文本在背景下的特殊效果 以下利用滤色模式( screen )实现文本视频蒙版效果 3f752d39872764326d9678ccce1e2aa4.gif 本demo地址:https://codepen.io/alphardex/full/wvvLYpV

24、clip-path

PS里的裁切,可以制作各种不规则形状。如果和动画结合也会相当有意思。 5878abf74aca7603a59821d050764f8d.gif 本demo地址:https://codepen.io/alphardex/full/ZEEBRrq

25、-webkit-box-reflect

投影效果,不怎么常用,适合立体感强的作品。 610e0110b4512c9e099ca01dfcd0de03.gif 本demo地址:https://codepen.io/alphardex/full/ExaZgxp

26、web animations

虽然这并不是一个CSS特性,但是它经常用于完成那些CSS所做不到的事情 那么何时用它呢?当CSS动画中有属性无法从CSS中获取时,自然就会使用到它了

跟踪鼠标的位置

目前CSS还尚未有获取鼠标位置的API,因此考虑用JS来进行 通过查阅相关的DOM API,发现在监听鼠标事件的API中,可通过 e.clientXe.clientY 来获得鼠标当前的位置 既然能够获取鼠标的位置,那么跟踪鼠标的位置也就不是什么难事了:通过监听 mouseentermouseleave 事件,来获取鼠标出入一个元素时的位置,并用此坐标来当作鼠标的位移距离,监听 mousemove 事件,来获取鼠标在元素上移动时的位置,同样地用此坐标来当作鼠标的位移距离,这样一个跟踪鼠标的效果就实现了。 dd69674fc3987d464ddbb13da3f36c31.gif 本demo地址:https://codepen.io/alphardex/full/OJPmQGz

CSS Houdini

CSS Houdini是CSS的底层API,它使我们能够通过这套接口来扩展CSS的功能

让渐变动起来

目前来说,我们无法直接给渐变添加动画,因为浏览器不理解要改变的值是什么类型 这时,我们就可以利用 CSS.registerProperty() 来注册我们的自定义变量,并声明其语法类型( syntax )为颜色类型 ,这样浏览器就能理解并对颜色应用插值方法来进行动画 还记得上文提到的圆锥渐变 conic-gradient() 吗?既然它可以用来制作饼图,那么我们能不能让饼图动起来呢?答案是肯定的,定义三个变量: --color1--color2--pos ,其中 --pos 的语法类型为长度百分比 ,将其从 0 变为 100% ,饼图就会顺时针旋转出现。 4101b73e61f0da4e7716ee476ca0773c.gif 利用绝对定位和层叠上下文,我们可以叠加多个从小到大的饼图,再给它们设置不同的颜色,应用交错动画,就有了下面这个炫丽的效果。 2c5097b57308b3315cec7af20a25f5ba.gif 本demo地址:https://codepen.io/alphardex/full/RwNxpXQ

27、彩蛋

de34504a12abb5839d23810bbda073af.gif

将交错动画和伪类伪元素结合起来写出来的慎重勇者风格的菜单 本demo地址:https://codepen.io/alphardex/full/ExavZdV

97d990859f7fb1e0a9d1668f7c3cc91f.png

451a6b261e3072a4017536521044381a.png

关注“广东建院建筑信息系”公众号,及时接收最新消息

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

css 背景效果_软件技术:我写CSS的常用套路(附demo的效果实现与源码) 的相关文章

  • openwrt 之通过uci 设置参数

    在openwrt中 默认一种配置文件 默认的路径 etc config 在这里面的所有配置文件如需要修改只需使用uci 这个指令来修改 以下uci 指令参数 root xxxx uci Usage uci
  • ubuntu自带vim配色方案

    系统版本 ubuntu 16 04 LTS 刚开始用vim的时候 大家可能会觉得默认的语法高亮的颜色不合心意 不过对于vim来说 这并不是一个问题 其实vim的配色方案是可以更改的 既可以选择系统自带的配色方案 也可以从网上下载其它配色方案
  • 简单理解Hadoop(Hadoop是什么、如何工作)

    一 Hadoop主要的任务部署分为3个部分 分别是 Client机器 主节点和从节点 主节点主要负责Hadoop两个关键功能模块HDFS Map Reduce的监督 当Job Tracker使用Map Reduce进行监控和调度数据的并行处
  • linux下部署thinkphp5项目

    准备工作 购买一个linux服务器地址 安装好linux常用的ssh工具 我这边喜欢用xshell敲命令 用filezilla传输文件 这些工具只要到官网下载就好 速度很快的 1 安装phpstudy for linux 安装下载phpst
  • java:JSONArray转byte[]字节数组

    package com xxx huali hualitest json import com alibaba fastjson JSONArray import com alibaba fastjson util Base64 publi
  • C语言运行流程

    在上一篇文章visual studio如何运行并调试C语言代码中写了如何运行并调试代码 我们就明确一个事实 即不论是嵌入式系统 亦或是普通PC电脑 对于程序的运行硬件处理器只能识别0 1的二进制码 从类人语言的C代码 需要经过一系列的转换过
  • 各种算法使用场景

    深度优先搜索BFS VS 广度优先搜索 DFS 算法就是回溯算法 BFS 相对 DFS 的最主要的区别是 BFS 找到的路径一定是最短的 但代价就是空间复杂度可能比 DFS 大很多 递归灵魂三问 labuladong 告诉你 遇到任何递归型
  • SQL Server基础Sql语句复习

    基础至极 1 创建表 create table Course Cno char 4 primary key not null 创建主键 非空 Cname char 40 not null Cpno char 4 Ccredit smalli
  • 软件测试报告bug统计,软件测试中如何有效地写Bug报告

    引言 为公众写过软件的人 大概都收到过很拙劣的bug 计算机程序代码中的错误或程序运行时的瑕疵 译者注 报告 例如 在报告中说 不好用 所报告内容毫无意义 在报告中用户没有提供足够的信息 在报告中提供了错误信息 所报告的问题是由于用户的过失
  • 【算法学习笔记】17:DFS与BFS

    1 DFS 深度优先搜索常用于解决需要给出所有方案的问题 因为它的搜索顺序就是能够得到一个完整的搜索路径 方案 后回退再去搜索其它的方案 1 1 例题 排列数字 由于要求所有排列的方案 可以每次从 1 n 1 n 1 n里拿一个数字 然后记
  • 为什么P值不再是0.05(孟德尔随机化)

    为什么P值不再是0 05 孟德尔随机化 为什么P值不再是0 05 孟德尔随机化
  • 长连接和短链接的区别

    长连接意味着进行一次数据传输后 不关闭连接 长期保持连通状态 如果两个应用程序之间有新的数据需要传输 则直接复用这个连接 无需再建立一个新的连接 就像下图这样 它的优势是在多次通信中可以省去连接建立和关闭连接的开销 并且从总体上来看 进行多
  • < 数据结构 > 堆的应用 --- 堆排序和Topk问题

    目录 1 堆排序 法一 自己写堆进行排序 时间复杂度分析 法二 直接对数组建堆 向上调整建堆 向下调整建堆 向上建堆和向下建堆熟优 升序能否建小堆 排序 建大堆 2 TopK问题 何为Topk 实现过程 1 堆排序 假如我们有一串乱序数组
  • 深度学习论文:Deep Residual Learning for Image Recognition

    论文 He Kaiming et al Deep residual learning for image recognition Proceedings of the IEEE conference on computer vision a
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 【更好的中文语音识别SpeechBrain Win10/11本地部署,基于Aishell】

    环境 Win11x64 Vscode Python3 7 2x64 Pytorch1 9 CPU or GPU 本文默认Win11 Win10 100 素可以得 默认向下兼容 首先 你得把Vscode弄好 python 插件安装 py环境搭
  • Qt多线程的几种实现方式

    Qt多线程的几种实现方式 在Qt中经常会遇到耗时操作 需要并发执行 这个时候就要用到多线程 Qt的多线程有多种实现形式 这里介绍3种方式 类实现形式 用类实现多线程是最传统的实现形式 思想是写一个继承QThread的类 然后通过run 来开
  • 【drug】获取化合物的3D结构

    如何从化合物的SMILES字符串获取化合物的3D结构 以下几种方法供参考 1 借助pubchem的py查询接口进行查询 首先需要安装pubchempy conda install pubchempy sdf pubchempy get sd
  • 震惊小伙伴的单行代码(Python篇)

    几年前 函数式编程的复兴正值巅峰 一篇介绍 Scala 中 10 个单行函数式代码的博文在网上走红 很快地 一系列使用其他语言实现这些单行代码的文章也随之出现 比如 Haskell Ruby Groovy Clojure Python C

随机推荐

  • 【数据库实验】多表查询

    例3 48 查询平均成绩大于等于90分的学生学号和平均成绩 注意 聚合不应出现在 WHERE 子句中 除非该聚合位于 HAVING 子句或选择列表所包含的子查询中 并且要对其进行聚合的列是外部引用 正确写法 select Sno AVG G
  • 一分钟快速把一篇论文后面的参考文献全部下载下来

    之前写了一篇博客 将一篇论文的全部参考文献一键导入到mendely 但是我发现 导入进去之后尽管文献的所有信息以及摘要在mendely里都有了 可是并不能查看文献内容 即没有PDF文档 因此我又找了其他办法 第一步 你需要下载一个EndNo
  • JavaScript简单算法-----二分查找

    二分查找又称折半查找 只适用于有序数组 二分查找就是将需要查找的元素不断地与数组中间的元素进行比较 数组不断地拆分为两段 查找元素小于中间值在前半段查找 大于中间值在后半段进行查找 代码展示 javaScript 的二分查找算法 var A
  • 搭建第一个Docker

    Docker 是一个开源的容器引擎 用于创建 管理和编排容器 可以轻松为任何应用创建一个轻量级 可移植 自给自足的容器 本步骤将在linux上部署一个Docker服务 并配置DockerHub的镜像加速器 安装软件包 在linux命令行输入
  • 【新员工座位安排系统】

    新员工座位 工位由序列F1 F2 Fn组成 Fi值为0 1或2 其中0代表空置 1代表有人 2代表障碍物 1 某一空位的友好度为左右连续老员工数之和 2 为方便新员工学习求助 优先安排友好度高的空位 给出工位序列 求所有空位中友好度的最大值
  • 十大管理——项目成本管理

    目录 1 成本管理概念 2 成本管理的四个过程域 2 1四个过程的整体理解 2 2四个过程的ITO口诀版记忆 2 3过程1 制定项目管理计划 2 4过程2 项目成本估算 2 5过程3 项目成本预算 2 5过程4 项目成本控制 3计算题 1
  • Nginx配置系统服务&设置环境变量

    1 Nginx操作问题 由于我们使用源码编译安装Nginx 因此 我们启动 关闭nginx或重新加载配置文件等也就比较麻烦 需要先进入nginx的可执行文件目录 才可以执行nginx相关命令 为了方便对nginx进行相关操作 我们可以将ng
  • 【图像处理】CvArr、Mat、CvMat、IplImage、BYTE转换

    一 Mat 类型 矩阵类型 Matrix 在openCV中 Mat是一个多维的密集数据数组 可以用来处理向量和矩阵 图像 直方图等等常见的多维数据 Mat有3个重要的方法 1 Mat mat imread const String file
  • selenium.chrome怎么写扩展拦截或转发请求?

    Selenium WebDriver 是一组开源 API 用于自动测试 Web 应用程序 利用它可以通过代码来控制chrome浏览器 有时候我们需要mock接口的返回 或者拦截和转发请求 今天就来实现这个功能 代码已开源 https git
  • 坑很多的一道题(含测试样例)——L1-009 N个数求和 (20分)

    L1 009 N个数求和 20分 本题的要求很简单 就是求N个数字的和 麻烦的是 这些数字是以有理数分子 分母的形式给出的 你输出的和也必须是有理数的形式 输入格式 输入第一行给出一个正整数N 100 随后一行按格式a1 b1 a2 b2
  • 微信小程序开发流程步骤 简单 详细

    微信小程序是一种不需要下载安装即可使用的应用 它搭载在目前最流行 用户量最大的社交软件 微信 中 用户通过扫一扫或搜索小程序名字即可找到使用想要的小程序并进行使用 非常的方便快捷 对于开发者而言呢 它也有非常全面 稳定 高效的接口API供开
  • 分布式消息传输系统Kafka的工作原理及其在大数据领域的应用

    引言 在大数据处理过程中 消息队列是一种非常重要的技术工具 它能够有效地解耦数据生产者和消费者之间的关系 实现高效的异步通信 而分布式消息传输系统Kafka 作为一种高性能 高可伸缩性的消息队列 已经成为了大数据领域中最受欢迎的工具之一 一
  • 一文看懂推荐系统:概要02:推荐系统的链路,从召回粗排,到精排,到重排,最终推荐展示给用户

    一文看懂推荐系统 概要02 推荐系统的链路 从召回粗排 到精排 到重排 最终推荐展示给用户 提示 最近系统性地学习推荐系统的课程 我们以小红书的场景为例 讲工业界的推荐系统 我只讲工业界实际有用的技术 说实话 工业界的技术远远领先学术界 在
  • mysql数据库卸载再安装失败_MySQL数据库——数据安装与卸载

    MySQL数据库的安装 双击msi 因为6 0之后是收费版本 所以这里我们使用5 5版本的mysql 打开下载的 mysql 安装文件双击解压缩 运行 mysql 5 5 40 win32 msi 或者 mysql 5 5 40 win64
  • vsqt中导出工程的Pro文件

    直接在qtvstools中使用Create Basic pro File所产生的Pro与Pri文件无法打开原工程 正确的做法应该是先用Export Project to pri File导出Pri文件后再使用Create Basic pro
  • C语言动态内存练习:【通讯录(动态内存版本)实现】

    全文目录 前言 目标规划 结构变化 功能实现的不同点 添加功能 AddContact 扩容检查 CheckCapacity 销毁通讯录 DestroyContact 总结 源码 前言 前面我们写了一个静态数组版本的通讯录 再结合刚学习的动态
  • bug记录 bigint数据返回前端数字精度丢失

    我的主键是bigint 9607408720124535 但是前端展示就是9607408720124536 使用postman调用就是9607408720124535 正确的 最终确定是js的number类型有个最大安全值 即2的53次方
  • JavaFX通过Controller类实现第二窗口销毁和程序退出

    Preface Q 为什么有此文 A 不能高度自定义化 网上大部分文章是通过简易的warning窗口 或者 information窗口实现的 且过于繁琐 大部分放在了Main java 不好弄 原理 Controller类中关键性代码 具体
  • MYSQL——模糊查询:like

    模糊查询指的是在数据中按照一定模糊的条件进行搜索 模糊查询的核心在于通配符的使用 通过使用通配符可以匹配不同的字符或字符串 一般模糊查询语句如下 SELECT 字段 FROM 表 WHERE 某个字段 LIKE 条件 表示任意0个或多个字符
  • css 背景效果_软件技术:我写CSS的常用套路(附demo的效果实现与源码)

    前言 本文是笔者写CSS时常用的套路 不论效果再怎么华丽 万变不离其宗 1 交错动画 有时候 我们需要给多个元素添加同一个动画 播放后 不难发现它们会一起运动 一起结束 这样就会显得很平淡无奇 那么如何将动画变得稍微有趣一点呢 很简单 既然