录制出来的效果失真严重,各位自己看着弄吧~
从油猴脚本:始皇充电特效同款继续讨论:
@keron 佬整了个始皇充电的效果,在此基础上,我想稍作修改。
基础简化
源文件里面的判定使用了 子字符串匹配选择器
来指定特定用户,但是选择的是以某个字符串开头的,这里作为图片链接我们可以直接使用用户名来判断就可以:
原始文件冗长
.post-avatar:has(img.avatar[src^="/user_avatar/linux.do/neo/"]):after,
.post-avatar:has(img.avatar[src^="https://linux.do/user_avatar/linux.do/neo/"]):after {
// ...
}
修改后只需关心用户名,更简洁
.post-avatar:has(img.avatar[src *= "/clarke.l/"])::after{
// ...
}
关于这两个选择器区别,可以参考 【基础巩固】CSS选择器进阶补充
五彩斑斓
始皇原始的充电特效颜色太过单一,不够花哨。
我们可以使用 hue-rotate
来翻转色相,配合动画就可以实现多彩效果。
这里只需要修改动画关键帧部分
@keyframes ani {
0% ,100%{
opacity: 0.5;
transform: scale(0.95);
}
50% {
opacity: 1.0;
transform: scale(1.00);
filter: hue-rotate(200deg);
}
}
我更改了动画名(原:pulse
),为了不和始皇原始冲突 为了让自己的比neo更花哨
完整代码
:root{
--ld-border-radius: 10%; // 圆头像改为 50%
--ld-color: #00aeff; // 初始颜色
}
img.avatar[src *= "/clarke.l/"] {
border-radius: var(--ld-border-radius);
}
.post-avatar {
&:has(img.avatar[src *= "/clarke.l/"])::after {
width: 46px;
height: 46px;
position: absolute;
left: 1px;
top: 1px;
content: "";
display: block;
border-radius: var(--ld-border-radius);
pointer-events: none;
box-shadow: 0 0 20px var(--ld-color);
animation: ani 3s ease-in-out infinite;
}
}
@keyframes ani {
0% ,100%{
opacity: 0.5;
transform: scale(0.95);
}
50% {
opacity: 1.0;
transform: scale(1.00);
filter: hue-rotate(200deg);
}
}
使用增强插件的佬友们,可以直接将上述代码放入自定义CSS里使用(删掉注释)。
如果你只想在回帖中显示方头,就将
img.avatar[src *= "/clarke.l/"]
移到.post-avatar
里面。