avatar
文章
163
标签
42
分类
17

首页
归档
标签
分类
友链
张坤的博客
搜索
首页
归档
标签
分类
友链

张坤的博客

HTML、CSS、JS 各司其职的原则 | 青训营笔记
发表于2023-03-24|更新于2023-05-09|Web|JS•CSS•HTML
介绍 我们知道,一个网页通常分为三层,JS 负责行为,CSS 负责表现,HTML 负责结构。在写页面时,遵循 HTML、CSS、JS 各司其职的原则,各自实现对应的功能,这样的好处不仅便于后续代码的维护扩展,而且可以做到代码简洁、可读性高。 示例比如我们要实现一个深夜/白天模式切换的需求。点击”太阳🌞”图标时,切换为深夜模式,页面变成深色背景、浅色字体、图标变为”月亮🌜”。点击”月亮🌜”图标时,切换为白天模式,页面变成浅色背景、深色字体、图标变为”太阳🌞”。 版本一我们在按钮上面绑定一个点击事件,根据按钮的 innerHTML 判断当前模式,然后设置 body.style,再设置按钮的 innerHTML。 123456789101112btn.addEventListener('click', (e) => { const body = document.body; if(e.target.innerHTML === '🌞') { body.style.backgroundColor = ...
CSS 中的层叠、优先级和继承 | 青训营笔记
发表于2023-03-24|更新于2023-05-09|Web|CSS
介绍CSS 中的层叠、优先级和继承决定着如何将 CSS 应用到 HTML 中,以及如何解决冲突。在某些时候,我们在做一个项目过程中会发现一些应该产生效果的样式没有生效,通常的原因是你创建了两个应用于同一个元素的规则,而设计元素样式的规则可能不是期望的规则,因此需要了解这些机制是如何工作的。 层叠是 CSS 的一个基本特征,它是一个定义了如何合并来自多个源的属性值的算法。简单地说,就是 CSS 规则的顺序。它在 CSS 处于核心地位,CSS 的全称层叠样式表正是强调了这一点。有三个因素需要考虑,根据重要性排序(递增)如下: 资源顺序 - 如果你有超过一条规则,而且都是相同的权重,那么最后面的规则会应用。 优先级 - 决定在发生冲突的时候应该使用哪条规则。例如有些规则在最后出现,但是却应用了前面的具有冲突的规则,这是因为前面的有更高的优先级——它范围更小。 重要程度 - 特殊的 CSS 规则 !important,用于修改特定属性的值,能够覆盖普通规则的层叠。 大多数 @规则的 CSS 声明是参与层叠计算的,比如包含于 @media、@documents 或者@supports 的 C ...
HTML 中的语义元素 | 青训营笔记
发表于2023-03-24|更新于2023-05-09|Web|HTML
介绍我们知道,HTML 被用来结构化信息——例如标题、段落和列表等,也可用来在一定程度上描述文档的外观和语义。在编程中,语义指的是一段代码的含义——例如 “运行这行 JavaScript 代码会产生怎样的影响?”, 或者 “这个 HTML 的元素有什么作用,扮演了什么样的角色”(而不只是 “它看上去像是什么?”)。 首先我们看一个使用 HTML5 语义元素定义的页面,可以看到通过语义元素,HTML 结构更加清晰了。 HTML 中的语义语义 HTML 是使用 HTML 标记来加强网页和 Web 应用程序中信息的语义或意义,而不仅仅是定义其表示或外观。根据 W3C,语义网: “允许跨应用程序、企业和团体对数据进行分享和重用。” 好的语义化 HTML 也改善了网页文档的可访问性(参见网页内容无障碍指南)。例如,当屏幕阅读器或音频浏览器可以正确判定一个文档的结构时,视觉障碍用户不会再因阅读重复或无关的信息而浪费时间。 例如,<h1> 元素是一个语义化元素,赋予了它包裹着的文本“这个页面中最高级别标题功能“的角色 (或含义) 。 1<h1>This is a to ...
「青训营 X 码上掘金」制作一个翻转动效的个人名片
发表于2023-03-24|更新于2023-05-09|Web|CSS
介绍 名片(Business card),是一种载有关于公司或个人的联系信息的卡片,常用于商务往来场合之中,作为一种便利和记忆辅助工具的共享。名片通常包括:姓名、单位或商业机构名称(通常带有商标)、以及联系信息(如:街道地址、电话号码、传真号码、电子邮件地址及网站)。 名片是向人介绍自我的重要工具,作为一名程序员用代码做自我介绍是一件非常酷炫的事情。用代码制作一张名片最直观地介绍给别人的方式就是通过使用 HTML 绘制一个网页来显示了,下面我们就来制作一个翻转动效的个人名片。 实现 创建一个外部容器用来封装名片内部各个元素,一个内部容器用来实现翻转动效。 123<div class="flip-card"> <div class="flip-card-inner"></div></div> 翻转动效需要使用 CSS transform、transform-style 属性和 rotateY 函数,rotateY 函数定义了一个 2D 转换,它可以让一个元素围绕纵坐标 (垂直轴) 旋转,trans ...
「兔了个兔」纯 CSS 制作兔子、气球动画
发表于2023-03-24|更新于2023-05-09|CSS
介绍Hello,掘友们好!又是一年新春之际,祝福大家兔年快乐!下面我们使用纯 CSS 制作一个兔子、气球动画,效果为:一个圆形框内有只兔子,当我们在光标悬停在圆形框内或通过键盘 Tab 键导航来聚焦到圆形框元素时,小兔子将张大嘴巴,同时底部升起三只不同颜色的气球,上面的祝福语也会开启颜色动画,这个动效意味着掘友们能在新年大展宏图、步步高升。 实现 创建一个容器元素。 1<div class="container" tabindex="0"></div> 设置 tabindex=”0”,表示该容器元素是可聚焦的,并且可以通过键盘 Tab 键导航来聚焦到该元素。 创建顶部祝福语元素。 1<div class="prompt">大展宏兔 步步高升</div> 由于是在容器元素状态变化时,改变祝福语元素的状态,所以可以使用相邻兄弟选择器 +,且要将它们 position 属性设置为 absolute,从而将容器元素排在后面显示。祝福语元素的动画状态默认 paused,当容器元 ...
「兔了个兔」来看看夜晚能聚光的🐇
发表于2023-03-24|更新于2023-05-09|Web|SVG
介绍宠物科普:小兔是有各种颜色的,它们的眼睛也是有不一样颜色的。那是因为它们身体里有一种叫色素的东西。兔子眼睛的颜色与它们的皮毛颜色有关系,黑兔子的眼睛是黑色的,灰兔子的眼睛是灰色的,白兔子的眼睛红色的。因为兔子是夜行动物,所以它的眼睛能大量聚光,即使在微暗处也能看到东西。 下面我们来做一个 svg 动效:一群在夜晚的兔子,眼睛发射着聚光,当鼠标悬停在 svg 元素上或通过键盘 Tab 键导航来聚焦到 svg 元素时时,将切换到白天正常的状态。 实现 定义 SVG 容器,设置视口在用户空间中的位置为 0 0,尺寸为 500 500。 12<svg viewBox="0 0 500 500" tabIndex="0"></svg> 设置 tabindex=”0”,表示 SVG 元素是可聚焦的,并且可以通过键盘 Tab 键导航来聚焦到该元素。 定义一个公共(可重用)的 svg symbol 图形模板对象元素。 12<symbol id="creature" viewBox="0 ...
兔年让这只🐇发射💣来爆破你的所有坏运
发表于2023-03-24|更新于2023-05-09|Web|Canvas
前言Hello,掘友们好!又是一年新春之际,祝福大家兔年快乐!给大家介绍一个有趣的动效(兼容 IE),页面右下角有一只搞怪的兔子,鼠标在页面中悬停时,兔子会跟着做出不同的动作和表情。然后可以在页面中任意位置(离兔子太近不能发射,会伤到兔子😆)点击鼠标,将从兔子眼睛👀里发射炮弹,随之击中爆破的是你的霉 运、压 力、贫 穷、疾 病😮‍💨。 实现 定义一个随机文本块。 1<p id="p1"></p> 定义兔子的构造函数。 12345678910111213141516171819function HoverRabbit() { this.explodeImage = new Image(); this.explodeImage.src = "img/explode.png"; for (var i = 1; i <= 6; i++) { this.images[i] = new Image(); this.images[i].src = "img/s" ...
使用 ECharts 制作掘金个人信息报表
发表于2023-03-24|更新于2023-05-09|Web|ECharts
前言码上掘金迎新年🎉活动开始好久了,大佬们也已经发了各种总结报告。但是我在码上掘金上面请求 api.juejin.cn 接口用户数据时报错 "name":"TypeError","message":"Failed to fetch",通过打印 console.log(location.href) 显示为 code.devrank.cn,所以应该是跨域的问题。 所以,有些总结报告不能正常显示应该都是类似的问题。昨天终于发现茶无味的一天的作品2022年终总结互动网页,可以正常显示掘金接口的数据。 给大佬留言得到回复是请求的跨域请求的代理网站,因为发现还没有人做关于 ECharts 的报表,所以征得同意可以调用接口后,制作了一个 ECharts 掘金个人信息报表。 ECharts 报表是百度的一个开源的数据可视化工具,一个纯 Javascript 的图表库,能够在 PC 端和移动设备上流畅运行,兼容当前绝大部分浏览器。 引入 ECharts虽然我们大部分使用 ECharts 是在 node 项目中,但为了简单, ...
前端本地存储数据库 IndexedDB 存储文件
发表于2023-03-23|更新于2023-05-09|Web|indexedDB
介绍 IndexedDB 是一种浏览器底层 API,目前各浏览器都已支持,兼容性很好。 特点 IndexedDB 内部采用对象仓库(object store)存放键值对数据。可以存储结构化克隆算法支持的任何对象。每一个数据记录都有对应的主键,主键是独一无二的,并且不能有重复。 使用索引实现对数据的高性能搜索。 IndexedDB API 大部分都是异步的。不会通过返回值提供数据,而是要传递一个回调函数来获取返回值。 同大多数 Web 存储解决方案一样,IndexedDB 遵循同源策略。即可以访问相同域内存储的数据,但无法跨不同域访问数据。 可以存储文件、二进制对象。 在 Web Worker 中可用。 IndexedDB 属于 NoSQL 和事务型面向对象数据库系统。对数据库的所有操作,都要通过事务完成。 IndexedDB 允许存储和检索用键索引的对象,它可以存储结构化克隆算法支持的任何对象。 结构化克隆结构化克隆是由 HTML5 规范定义的用于复制复杂 JavaScript 对象的算法,例如 structuredClone() 函数的调用,Workers 的 postMessag ...
前端本地存储数据库 IndexedDB 的范围查询和对结果计数
发表于2023-03-23|更新于2023-05-09|Web|indexedDB
介绍 IndexedDB 是一种浏览器底层 API,目前各浏览器都已支持,兼容性很好。 IndexedDB 内部采用对象仓库(object store)存放键值对数据。可以存储结构化克隆算法支持的任何对象。每一个数据记录都有对应的主键,主键是独一无二的,并且不能有重复。 使用索引实现对数据的高性能搜索。 IndexedDB API 大部分都是异步的。不会通过返回值提供数据,而是要传递一个回调函数来获取返回值。 同大多数 Web 存储解决方案一样,IndexedDB 遵循同源策略。即可以访问相同域内存储的数据,但无法跨不同域访问数据。 可以存储文件/二进制对象。 在 Web Worker 中可用。 IndexedDB 属于 NoSQL 和事务型面向对象数据库系统。对数据库的所有操作,都要通过事务完成。 后端开发者都知道,SQL 语句中有 BETWEEN 操作符和 COUNT() 函数可以用来对匹配的记录进行过滤和计数。IndexedDB 也提供了 IDBKeyRange 接口和 IDBObjectStore.count() 方法可以实现相同的目的。 1SELECT COUN ...
1…678…17
avatar
张坤
但行好事,莫问前程
文章
163
标签
42
分类
17
Follow Me
公告
但行好事,莫问前程
最新文章
V3 Admin Vite 权限控制2023-05-09
V3 Admin Vite 路由配置、布局配置、全局样式2023-05-09
V3 Admin Vite 侧边栏、面包屑、发送 HTTP 请求2023-05-08
V3 Admin Vite 登录模块2023-05-07
使用变量种子计数器扩展 CSS 动画2023-05-05
分类
  • AI8
  • Chrome2
  • Git1
  • Linux4
  • Web108
  • WebAssembly1
  • 人工智能1
  • 关于1
标签
偶感JSCSSAI工具SVGCanvasGPTEChartsHTMLHTTPLinuxOPenAIChatgptSQLShell测试知识ViteVitestWebGLWebGPUWebpackjQuerySDK浏览器indexedDBnodeJSVue安全curlpnpm网络WebviewManifest V3软件许可协议WebAssemblyTypeScriptWeb3掘金翻译计划关于New Bing英语
归档
  • 五月 202313
  • 四月 202319
  • 三月 2023127
  • 二月 20233
  • 一月 20191
网站资讯
文章数目 :
163
已运行时间 :
本站总字数 :
314.7k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2023 By 张坤
框架 Hexo|主题 Butterfly
搜索
数据库加载中