原文链接: 自定义网页鼠标指针——一段曲折的旅程
看到别人主题有自定义鼠标指针的功能,我也想给我主题加一个玩玩。
探索
初探
找到了相关文档:
● MDN:cursor - CSS:层叠样式表 | MDN
● 标准文件:CSS Basic User Interface Module Level 4
看起来似乎只需要下面 CSS 代码就完事了。
随便下载了一个图标包,傻眼了:一个包里面有若干个 CUR 文件。
好吧,CUR 格式是一种图形文件格式,而不是打包了一组图标。
显然下面的写法不是很符合正确 CSS 写法。
那有没有什么标准,说明什么网页元素用什么光标?
从 User Agent Stylesheet 学习
我想到了找 User Agent Stylesheet(用户代理样式表)
● Chromium 的:Source/core/css/html.css - chromium/blink - Git at Google
● Firefox 的只需要用浏览器打开
● 未能找到 Safari 的 User Agent Stylesheet。
用户代理样式表中有这些
点我展开相关定义 (click for more details) 提取聚合相关声明 (click for more details)
我们可以将这些拿出来作为声明。
从 cursor 实现学习
忽然想到,我找下
● event_handler.cc - Chromium Code Search
● chromium/third_party/blink/renderer/core/input/event_handler.cc at main · chromium/chromium
1. 调用
2. 默认情况返回普通箭头光标(即
结论:把可选择的文本/链接文本/可编辑区域设置为
100% 还原实现思路:写一段 JS 监听 mousemove 事件,如果满足要求,就将光标换为自定义的
妥协:我希望尽量使用 CSS 来实现,覆盖大部分情况,如果有需要再用 JS 判断边缘情况(如:
点我展开 CSS 相关声明 (click for more details)
发挥主观能动性
发挥主观能动性,观察标准 HTML 元素/ARIA 属性,按语义进行标注,得到了以下 CSS 声明:
一些 CSS 声明 (click for more details)
成果
聚合上面的阶段性成果,并按情况解释
使用方法:
结语
感谢您看到这里,欢迎留言交流。
2 posts - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: HowieHz)
看到别人主题有自定义鼠标指针的功能,我也想给我主题加一个玩玩。
探索
初探
找到了相关文档:
● MDN:cursor - CSS:层叠样式表 | MDN
● 标准文件:CSS Basic User Interface Module Level 4
看起来似乎只需要下面 CSS 代码就完事了。
:root {
cursor: url("xxx.cur"), auto;
}
随便下载了一个图标包,傻眼了:一个包里面有若干个 CUR 文件。
好吧,CUR 格式是一种图形文件格式,而不是打包了一组图标。
显然下面的写法不是很符合正确 CSS 写法。
:root {
cursor: url("auto.cur"), auto;
cursor: url("context-menu.cur"), context-menu; /* [!code ++] */
/* 省略更多 */ /* [!code ++] */
}
那有没有什么标准,说明什么网页元素用什么光标?
从 User Agent Stylesheet 学习
我想到了找 User Agent Stylesheet(用户代理样式表)
● Chromium 的:Source/core/css/html.css - chromium/blink - Git at Google
● Firefox 的只需要用浏览器打开
resource://gre-resources/html.css 即可看到。● 未能找到 Safari 的 User Agent Stylesheet。
用户代理样式表中有这些
cursor 相关的定义:点我展开相关定义 (click for more details) 提取聚合相关声明 (click for more details)
我们可以将这些拿出来作为声明。
从 cursor 实现学习
忽然想到,我找下
cursor: auto 是怎么实现的,对照设置下就好了,于是找到以下源码:● event_handler.cc - Chromium Code Search
● chromium/third_party/blink/renderer/core/input/event_handler.cc at main · chromium/chromium
bool EventHandler::ShouldShowIBeamForNode(const Node* node,
const HitTestResult& result) {
if (!node)
return false;
if (node->IsTextNode() && (node->CanStartSelection() || result.IsOverLink()))
return true;
return IsEditable(*node);
}
std::optional<ui::Cursor> EventHandler::SelectCursor(
const ui::Cursor& i_beam = style.IsHorizontalWritingMode() ? IBeamCursor() : VerticalTextCursor();
switch (style.Cursor()) {
case ECursor::kAuto:
return SelectAutoCursor(result, node, i_beam);
// 省略
case ECursor::kText:
return i_beam;
// 省略
}
return PointerCursor();
}
std::optional<ui::Cursor> EventHandler::SelectAutoCursor(
const HitTestResult& result,
Node* node,
const ui::Cursor& i_beam) {
if (ShouldShowIBeamForNode(node, result))
return i_beam;
return PointerCursor();
}
cursor: auto 的实现逻辑非常简单:1. 调用
ShouldShowIBeamForNode() 判断当前节点是否满足:可选择的文本/链接文本/可编辑区域(如 <input>, <textarea> 或带 contenteditable 属性的元素) ● 如果是,返回 i_beam(即 cursor: text)2. 默认情况返回普通箭头光标(即
cursor: default)结论:把可选择的文本/链接文本/可编辑区域设置为
cursor: text。100% 还原实现思路:写一段 JS 监听 mousemove 事件,如果满足要求,就将光标换为自定义的
cursor: text。妥协:我希望尽量使用 CSS 来实现,覆盖大部分情况,如果有需要再用 JS 判断边缘情况(如:
user-select: none)。得到了以下 CSS 声明:点我展开 CSS 相关声明 (click for more details)
发挥主观能动性
发挥主观能动性,观察标准 HTML 元素/ARIA 属性,按语义进行标注,得到了以下 CSS 声明:
一些 CSS 声明 (click for more details)
成果
聚合上面的阶段性成果,并按情况解释
cursor: auto 实际值,得到了以下的最终版本:注:经过一次修订,去除了点我展开最终版本 CSS 声明 (click for more details)*::-ms-browse(会导致 CSS 选择器失效)和*::-ms-clear(有::-webkit-file-upload-button了)。
使用方法:
:root {
cursor: default; /* [!code --] */
ursor: url("实际的图标地址.cur"), default; /* [!code ++] */
}
/* 此外再补充其他需要的声明 */ /* [!code ++] */
结语
感谢您看到这里,欢迎留言交流。
2 posts - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: HowieHz)
原来哪里都有搞七捻三啊
我对各位佬友们的敬佩之情是滔滔不绝连绵不绝啊 🤣
8 posts - 5 participants
Read full topic
via LINUX DO - 最新话题 (author: 草帽)
Invalid media: image
我对各位佬友们的敬佩之情是滔滔不绝连绵不绝啊 🤣
8 posts - 5 participants
Read full topic
via LINUX DO - 最新话题 (author: 草帽)
Invalid media: image
有段时间没有仔细看L站了,现在为啥都是一堆感情帖子
之前,我7月份的时候技术帖子还很多,现在要么就是失恋,还有心情不好求安慰,人生规划,一堆牛马蛇神,无奈
8 posts - 8 participants
Read full topic
via LINUX DO - 最新话题 (author: peanut)
之前,我7月份的时候技术帖子还很多,现在要么就是失恋,还有心情不好求安慰,人生规划,一堆牛马蛇神,无奈
8 posts - 8 participants
Read full topic
via LINUX DO - 最新话题 (author: peanut)
明明自己过的不尽人意偏偏见不得人间疾苦。
希望他的事情是真的吧。
12 posts - 12 participants
Read full topic
via LINUX DO - 最新话题 (author: usopp)
Invalid media:
image
image
希望他的事情是真的吧。
12 posts - 12 participants
Read full topic
via LINUX DO - 最新话题 (author: usopp)
Invalid media:
image
image
速度抽一个1刀绑定卡,由于是1小时卡,速度
太突然,万里汇扣款失败但还是开通了,导致卡买多了,抽了吧,又不会弄抽奖器
9点10开奖,
点赞和任意回复,
豆包选楼层
49 posts - 48 participants
Read full topic
via LINUX DO - 最新话题 (author: 椰酥)
太突然,万里汇扣款失败但还是开通了,导致卡买多了,抽了吧,又不会弄抽奖器
9点10开奖,
点赞和任意回复,
豆包选楼层
49 posts - 48 participants
Read full topic
via LINUX DO - 最新话题 (author: 椰酥)
【kiro】即将和Ops说再见了
2000个积分马上刷完,也就没有渠道了
11 posts - 8 participants
Read full topic
via LINUX DO - 最新话题 (author: 饭小范)
Invalid media: image
2000个积分马上刷完,也就没有渠道了
11 posts - 8 participants
Read full topic
via LINUX DO - 最新话题 (author: 饭小范)
Invalid media: image
有佬友遇到codex的内存泄漏等一系列问题吗😭
这是我把一系列现象发给opus让他帮我分析问题所在得出的结论 😭
我已经不止一次遇到codex卡死了,然后黑屏,再亮屏,但是之后就会出现一堆问题。我也不确定opus说的对不对。有人同样遇到类似的问题吗?
我记得好像在codex的issue里面看到有人提过内存泄漏的问题。
4 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: dianjinqu)
Invalid media: image
这是我把一系列现象发给opus让他帮我分析问题所在得出的结论 😭
我已经不止一次遇到codex卡死了,然后黑屏,再亮屏,但是之后就会出现一堆问题。我也不确定opus说的对不对。有人同样遇到类似的问题吗?
我记得好像在codex的issue里面看到有人提过内存泄漏的问题。
4 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: dianjinqu)
Invalid media: image
为什么WSL2中使用本地Antigravity_Tools反代的api请求不通
WSL死活不通
本机Win11是可以正常使用的
有没有佬知道怎么解决
IP也没有问题在WSL中用这个IP请求本机java服务接口正常返回数据
2 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: javaNice)
Invalid media: image
WSL死活不通
本机Win11是可以正常使用的
有没有佬知道怎么解决
IP也没有问题在WSL中用这个IP请求本机java服务接口正常返回数据
2 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: javaNice)
Invalid media: image
CLIProxyAPI求解答
● 加载额度一直失败,会提示超时
● 模型调用失败率问题,大家的都是多少
● 在cc中使用断流的问题,任务执行到一半就停止了 希望各位大佬给解答一下
13 posts - 5 participants
Read full topic
via LINUX DO - 最新话题 (author: Little Q)
Invalid media:
image
image
● 加载额度一直失败,会提示超时
● 模型调用失败率问题,大家的都是多少
● 在cc中使用断流的问题,任务执行到一半就停止了 希望各位大佬给解答一下
13 posts - 5 participants
Read full topic
via LINUX DO - 最新话题 (author: Little Q)
Invalid media:
image
image
哪家AI 中转可以有官网的体验?
不想要一直error,可以有官网最强的模型
贵点就贵点
8 posts - 5 participants
Read full topic
via LINUX DO - 最新话题 (author: jsjcjsjc)
不想要一直error,可以有官网最强的模型
贵点就贵点
8 posts - 5 participants
Read full topic
via LINUX DO - 最新话题 (author: jsjcjsjc)
刷到一个围棋网站,还蛮有意思的
有一点学习新知识或者做产品的小巧思在里边
SquishyGo
SquishyGo
SquishyGO
5 posts - 5 participants
Read full topic
via LINUX DO - 最新话题 (author: ℒ𝓊𝓂𝑒𝓃)
Invalid media:
image
image
有一点学习新知识或者做产品的小巧思在里边
SquishyGo
SquishyGo
SquishyGO
5 posts - 5 participants
Read full topic
via LINUX DO - 最新话题 (author: ℒ𝓊𝓂𝑒𝓃)
Invalid media:
image
image
[jetbrains插件fork] rust-analyzer-lsp 添加windows支持 (Rider 等IDE可用)
原插件hard code了路径为mac os的, fork添加了选项设置路径
需要安装rust-analyzer
的输出路径填到插件的设置选项即可(需要重启插件)
😅不过正经人谁在rider中写rust
----------------------
fork仓库
github.com
GitHub - rere43/rust-analyzer-lsp-intellij-plugin: An IntelliJ plugin for `rust-analyzer` LSP (PoC)
An IntelliJ plugin for `rust-analyzer` LSP (PoC)
----------------------
原插件:
JetBrains Marketplace
rust-analyzer LSP - IntelliJ IDEs Plugin | Marketplace
A plugin for JetBrains IntelliJ IDE providing a rust-analyzer LSP. This plugin is currently a PoC-only, and was initially created to explore IntelliJ's LSP support. It...
----------------------
原仓库:
github.com
GitHub - ChrisCarini/rust-analyzer-lsp-intellij-plugin: An IntelliJ plugin for `rust-analyzer` LSP (PoC)
An IntelliJ plugin for `rust-analyzer` LSP (PoC)
----------------------
原作者:
GitHub
ChrisCarini - Overview
Engineer @linkedin. ChrisCarini has 87 repositories available. Follow their code on GitHub.
3 posts - 3 participants
Read full topic
via LINUX DO - 最新话题 (author: Kitkei Chan)
Invalid media:
image
image
image
image
image
原插件hard code了路径为mac os的, fork添加了选项设置路径
需要安装rust-analyzer
where rust-analyzer的输出路径填到插件的设置选项即可(需要重启插件)
😅不过正经人谁在rider中写rust
----------------------
fork仓库
github.com
GitHub - rere43/rust-analyzer-lsp-intellij-plugin: An IntelliJ plugin for `rust-analyzer` LSP (PoC)
An IntelliJ plugin for `rust-analyzer` LSP (PoC)
----------------------
原插件:
JetBrains Marketplace
rust-analyzer LSP - IntelliJ IDEs Plugin | Marketplace
A plugin for JetBrains IntelliJ IDE providing a rust-analyzer LSP. This plugin is currently a PoC-only, and was initially created to explore IntelliJ's LSP support. It...
----------------------
原仓库:
github.com
GitHub - ChrisCarini/rust-analyzer-lsp-intellij-plugin: An IntelliJ plugin for `rust-analyzer` LSP (PoC)
An IntelliJ plugin for `rust-analyzer` LSP (PoC)
----------------------
原作者:
GitHub
ChrisCarini - Overview
Engineer @linkedin. ChrisCarini has 87 repositories available. Follow their code on GitHub.
3 posts - 3 participants
Read full topic
via LINUX DO - 最新话题 (author: Kitkei Chan)
Invalid media:
image
image
image
image
image
任何容易重复的Prompt都装进来吧!(20260119发版)
分割线
分割线
下载链接:
通过网盘分享的文件:20260119
链接: 百度网盘 请输入提取码 提取码: prom
–来自百度网盘超级会员v3的分享
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: promptonce)
Invalid media:
image
image
image
分割线
分割线
下载链接:
通过网盘分享的文件:20260119
链接: 百度网盘 请输入提取码 提取码: prom
–来自百度网盘超级会员v3的分享
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: promptonce)
Invalid media:
image
image
image
佬们平时上班都是上多久哇
这个点还在上班的佬,还有多少呢?早上9点坐到现在了,中午休息1个半钟 🤔
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: Lance)
这个点还在上班的佬,还有多少呢?早上9点坐到现在了,中午休息1个半钟 🤔
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: Lance)
有个想法,公益站
我手搓了两百多个反重力pro号,自己一个人用不完,想搞个公益站,各位佬有没有什么建议
起初是自己想写个项目然后实在没办法在L站看了些文章自己搭建了本地api撸token,现在项目大体已经完成了,但是还有些号在手上,想着资源不能浪费了,但是无云服,单开个云服也浪费
凭证
14 posts - 14 participants
Read full topic
via LINUX DO - 最新话题 (author: Lockboy)
Invalid media:
image
image
我手搓了两百多个反重力pro号,自己一个人用不完,想搞个公益站,各位佬有没有什么建议
起初是自己想写个项目然后实在没办法在L站看了些文章自己搭建了本地api撸token,现在项目大体已经完成了,但是还有些号在手上,想着资源不能浪费了,但是无云服,单开个云服也浪费
凭证
14 posts - 14 participants
Read full topic
via LINUX DO - 最新话题 (author: Lockboy)
Invalid media:
image
image
google flow生成图片时如何避免自动翻译成英文?
google flow生成图片时总是自动翻译成英文,导致图片显示的文字和我要的不一样;即使我强调要显示中文原文字,还是一样被翻译为英文再转换为中文,导致文字不是我想要的。有没有大佬知道怎么解决?
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: moris)
google flow生成图片时总是自动翻译成英文,导致图片显示的文字和我要的不一样;即使我强调要显示中文原文字,还是一样被翻译为英文再转换为中文,导致文字不是我想要的。有没有大佬知道怎么解决?
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: moris)
MUST 要大于 must,一个有意思的社区讨论
在 opencode 问问题的时候发现大佬们在讨论提示词中大写的必要性问题。觉得挺有意思,遂搬运。
大佬的观点
----------------------
然后大佬丢出来了一个自己写的 opencode 插件,用于将提示词中涉及的 must、require 等字符串转换为大写。
插件地址:
https://github.com/ariane-emory/opencode-config-supplemental/tree/main/plugin/MUST-have-plugin
疑问
我们日常都是用中文,这个帮助大吗,“必须”和“MUST”,是否有同样权重呢
引用
● 作者: https://github.com/ariane-emory
● Discord 消息地址: https://discord.com/channels/1391832426048651334/…
2 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: FFattiger)
在 opencode 问问题的时候发现大佬们在讨论提示词中大写的必要性问题。觉得挺有意思,遂搬运。
大佬的观点
这些大语言模型的训练数据覆盖了整个互联网,或者说,囊括了训练人员能够轻松抓取到的所有网络内容。互联网工程任务组(IETF)的网站很容易被抓取,因此,这些模型在训练阶段已经读取了全部的请求注解文档(RFC),没有遗漏任何一份。
大语言模型的分词器并非以逐字母的方式处理文本:以 “must” 和 “MUST” 为例,二者会被识别为两个完全不同的标记。你可以访问 GPT 分词工具(https://platform.openai.com/tokenizer),输入 “must MUST”,就能看到二者对应不同的编码数字。
这两个不同的标记,与其他标记之间的权重关联是不一样的。而请求注解文档(RFC)中的专业用语,在技术规范里本身就指代非常特定的含义。因此,在这些模型训练过程中形成的隐性推理逻辑里,这两个标记会携带不同的关联信息,也会产生不同的语义倾向。
----------------------
然后大佬丢出来了一个自己写的 opencode 插件,用于将提示词中涉及的 must、require 等字符串转换为大写。
插件地址:
https://github.com/ariane-emory/opencode-config-supplemental/tree/main/plugin/MUST-have-plugin
疑问
我们日常都是用中文,这个帮助大吗,“必须”和“MUST”,是否有同样权重呢
引用
● 作者: https://github.com/ariane-emory
● Discord 消息地址: https://discord.com/channels/1391832426048651334/…
2 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: FFattiger)
AMC 加入 Bbox 功能,辅助用户识别图像、操作电脑
🌟 GitHub (求个 Star):
github.com
GitHub - yeahhe365/All-Model-Chat: 一个全能的 AI 聊天助手,深度集成 Gemini...
一个全能的 AI 聊天助手,深度集成 Gemini 生态。支持多模态交互(文本/语音/图片/视频)、实时联网搜索、代码执行、长文档分析及高级推理功能。内置丰富的预设场景与个性化配置,助您探索 AI 的无限可能。
Online Demo Try in AI Studio
License React TypeScript Gemini SDK
💬 欢迎留言建议!
26 posts - 16 participants
Read full topic
via LINUX DO - 热门话题 (author: Mozi)
Invalid media:
image
image
image
image
image
image
image
🌟 GitHub (求个 Star):
github.com
GitHub - yeahhe365/All-Model-Chat: 一个全能的 AI 聊天助手,深度集成 Gemini...
一个全能的 AI 聊天助手,深度集成 Gemini 生态。支持多模态交互(文本/语音/图片/视频)、实时联网搜索、代码执行、长文档分析及高级推理功能。内置丰富的预设场景与个性化配置,助您探索 AI 的无限可能。
Online Demo Try in AI Studio
License React TypeScript Gemini SDK
💬 欢迎留言建议!
26 posts - 16 participants
Read full topic
via LINUX DO - 热门话题 (author: Mozi)
Invalid media:
image
image
image
image
image
image
image
杜蕾斯还是那么有活整,Do了么APP
----------------------
----------------------
----------------------
----------------------
----------------------
----------------------
Read full topic
via LINUX DO - 热门话题 (author: 最上川)
Invalid media:
image
image
image
image
image
[!warning]
😋还是杜蕾斯有活整喵
注意这是 #搞笑 标签下的娱乐内容
----------------------
----------------------
----------------------
----------------------
----------------------
----------------------
小红书原文:有了Do了么APP,再也不怕对象忘记了52 posts - 42 participants
Read full topic
via LINUX DO - 热门话题 (author: 最上川)
Invalid media:
image
image
image
image
image
今天我生日!
但貌似除了爸妈记着,没人在关注了,老婆都忘记了 🤣
102 posts - 91 participants
Read full topic
via LINUX DO - 热门话题 (author: shi_si)
但貌似除了爸妈记着,没人在关注了,老婆都忘记了 🤣
102 posts - 91 participants
Read full topic
via LINUX DO - 热门话题 (author: shi_si)