listChildDocs
listChildDocs copied to clipboard
挂件内是否有可能实现默认长宽
- 之前一致是url或者引用块生成内容块的形式,现在换到挂件内的形式了,原因是我发现内容块容易“污染”搜索结果,但是挂件内的形式就有挂件宽高还需要再手动拉一遍的问题(我看到目前高度有设置项了,但是默认宽度可以实现吗)
- 还有就是挂件的宽度我在windows和docker上都是拉不到100%的(其他挂件也是如此),我记得以前思源有几个版本是可以的,不知道这个能不能做到拉到100% 麻烦开发者大大了
关于1
1、试了一下,要把默认宽度保存起来有点小问题,凑合能用。
~~listChildDocs-dev#30.zip在config.js saveDefaultWidgetStyle里设置。~~ 有点问题,写入的style会作为块的属性被创建索引,先不要启用。
目前的方案没法稳定地在挂件插入的时候就立刻设定默认宽高,有时候会在下次打开挂件时设定。
之前没将挂件高度保存在文档中,所以能明显地看到挂件块加载后变长或变短的现象。感觉宽度再闪烁一下不太好,就没用原来的方法。
2、要求不高的话,代码片段里直接加这个应该就行(设置--外观--代码片段--css--添加css)
如果之前通过拖拽设定过挂件宽高,将以拖拽设定的为准;如果所有挂件的宽度都不改的话,分号前面加个
!important。
[data-node-id] iframe[src*="/widgets/listChildDocs"] {
width: 2000px;
}
关于2.
编辑页面两边有边距,好像确实超过不了这个范围;如果用的是HBuilderX之类的窄边距主题,这点确实是挺明显的;我还没弄明白怎么让拖拽绕过这个限制。
把上面代码片段里width给一个特别大的值应该就行,或者下面这样:
/* Firefox需要启用layout.css.has-selector.enabled选项 */
[data-node-id] .iframe-content:has(iframe[src*="/widgets/listChildDocs"]) {
width: 100%;
}
[data-node-id] iframe[src*="/widgets/listChildDocs"] {
width: 100%;
}
谢谢! 目前我通过如下的css可以实现初次插入就直接100%宽度,但是拖拽还是出问题,后面有机会会在研究一下,目前不影响使用了。
.iframe-content {
position: relative;
width: 100%;
}
.b3-typography iframe, .protyle-wysiwyg iframe {
width:100%;
}