fix: 用户/作者卡片外层包裹层透明化改用 !important + :has() 兜底

上一版透明化规则无 !important,在暗色模式(html.dark .zib-widget 权重更高)
与首页/用户中心侧栏(homepage-fixed 后加载的同权重规则)中反被卡片绘制规则
覆盖,导致外层卡片重现。

- 透明化声明全部加 !important,确保胜过所有 .zib-widget 卡片绘制规则
- 新增 .zib-widget:has(.aksrt-user-card/.aksrt-author-card) 兜底,
  无论包裹层类名/嵌套 .is-affix 与否都能命中
This commit is contained in:
2026-08-01 11:04:32 +08:00
parent 0fd5848884
commit bd538d7daf
+14 -8
View File
@@ -2,17 +2,23 @@
* Batch5: user card guest/login depth, main posts, term aggregation.
*/
/* 用户卡/作者卡:外层 .zib-widget 包裹层不再画卡片,内层 .aksrt-*-card 是唯一卡片 */
/* 用户卡/作者卡:外层 .zib-widget 包裹层永不作为卡片绘制,
内层 .aksrt-user-card / .aksrt-author-card 是唯一卡片。
- classname 钩子(.widget_aksrt_user_card / _author_card)命中侧栏 before_widget 包裹层;
- :has() 兜底:无论包裹层类名如何,只要它内部含一张 .aksrt-*-card 就透明化
(用后代而非直接子选择器,因为开启吸顶时中间还隔着 .is-affix 包裹层);
- !important 确保胜过 widgets/part-1.css 的 `html.dark .zib-widget`(0-2-1)、
homepage-fixed/base-3.css 的 `.aksrt-homepage__aside > .zib-widget` 等卡片绘制规则。 */
.zib-widget.widget_aksrt_user_card,
.zib-widget.widget_aksrt_author_card,
.aksrt-homepage__aside > .zib-widget.widget_aksrt_user_card,
.aksrt-homepage__aside > .zib-widget.widget_aksrt_author_card {
background: none;
border: 0;
box-shadow: none;
padding: 0;
.zib-widget:has(.aksrt-user-card),
.zib-widget:has(.aksrt-author-card) {
background: none !important;
border: 0 !important;
box-shadow: none !important;
padding: 0 !important;
border-radius: 0 !important;
margin-bottom: 20px;
border-radius: 0;
}
.aksrt-user-card {