总需求:
有点复杂,以有序列表为例:
1. 折叠时,去除数字方框阴影
另:无序列表的折叠阴影不用去除
2. 只显示“‣”
3. 鼠标悬浮“‣”时,去除方框阴影、“折叠/展开”字样
4. 折叠标题,去除方框(任我行主题,可以理解为“去除折叠状态标识”)
总需求:
有点复杂,以有序列表为例:
1. 折叠时,去除数字方框阴影
另:无序列表的折叠阴影不用去除
2. 只显示“‣”
3. 鼠标悬浮“‣”时,去除方框阴影、“折叠/展开”字样
4. 折叠标题,去除方框(任我行主题,可以理解为“去除折叠状态标识”)
css 代码如下
/* 有序列表,折叠时,去除数字方框阴影; 无序列表的折叠阴影不用去除 */
.protyle-wysiwyg [data-node-id].li[data-subtype="o"][fold="1"]>.protyle-action:after{
background-color: transparent!important;
}
/* 只显示“‣” */
.protyle-gutters button[data-type="NodeList"] svg,
.protyle-gutters button[data-type="NodeListItem"] svg
{
display:none;
}
/* 鼠标悬浮“‣”时去除方框引用 */
.protyle-gutters button:hover svg{
background-color: transparent;
}
/* 折叠标题,去除方框(任我行主题,可以理解为“去除折叠状态标识”) */
.protyle-wysiwyg div[fold="1"]:not(div[data-type="NodeListItem"]){
background-color: transparent;
border:none;
}
/* 鼠标悬浮“‣”时,去除“折叠/展开”字样,css无法实现,见下面的js代码 */
鼠标悬浮“‣”时,去除“折叠/展开”字样,css 无法实现,js 代码如下
// 鼠标悬浮“‣”时,去除“折叠/展开”字样
(()=>{
whenElementExist(".layout__center").then((element)=>{
element.addEventListener('mouseover', async (e)=>{
if(e.target.closest('button[aria-label="折叠/展开"]')){
const tooltip = await whenElementExist("#tooltip");
tooltip.remove();
}
});
});
function whenElementExist(selector) {
return new Promise(resolve => {
const checkForElement = () => {
let element = null;
if (typeof selector === 'function') {
element = selector();
} else {
element = document.querySelector(selector);
}
if (element) {
resolve(element);
} else {
requestAnimationFrame(checkForElement);
}
};
checkForElement();
});
}
})();
另外,你需求里提到的一级标题,我想你本意应该不是仅针对一级标题的样式吧,所以这里的样式和 js 会应用到 h1-h6 所有标题。
抱歉,之前的回复有问题,并不是因为省略号超出折叠元素范围导致的,而是因为折叠时标题前面的圆形图标和省略号是选择符是同一个元素,且圆形图标的优先级更高,覆盖了省略号导致的。
所以,我现在在折叠模式下,用标题后面的文字元素再添加个样式来模拟标题元素的省略号,这样就弥补了折叠时标题省略号丢失问题。
代码如下,添加到思源 css 代码片段中即可。
.protyle-wysiwyg [data-node-id][data-type="NodeHeading"][fold="1"] > [contenteditable="true"]::before {
position: absolute;
top: -0.8em;
color: #55555a4d;
}
.protyle-wysiwyg [data-node-id][fold="1"].h1 > [contenteditable="true"]::before {
content: ".";
}
.protyle-wysiwyg [data-node-id][fold="1"].h2 > [contenteditable="true"]::before {
content: "..";
}
.protyle-wysiwyg [data-node-id][fold="1"].h3 > [contenteditable="true"]::before {
content: "...";
}
.protyle-wysiwyg [data-node-id][fold="1"].h4 > [contenteditable="true"]::before {
content: "....";
}
.protyle-wysiwyg [data-node-id][fold="1"].h5 > [contenteditable="true"]::before {
content: ".....";
}
.protyle-wysiwyg [data-node-id][fold="1"].h6 > [contenteditable="true"]::before {
content: "......";
}
Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。
据说 99% 的性能瓶颈都在数据库。
微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。
C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。
机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。
正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。
DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。
OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。
人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。
网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。
Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。
Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。
本标签主要用于分享网络空间安全专业的学习笔记
NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。
你比 99% 的人都优秀么?
有什么新发现就分享给大家吧!
jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。
星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。
心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。
Thank God It's Friday! 感谢老天,总算到星期五啦!
Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。
CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。
Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。