gpt4 book ai didi

css - 条件文档 : how to show optional parts based on several classes

转载 作者:行者123 更新时间:2023-11-27 23:16:17 27 4
gpt4 key购买 nike

我有一个文档最多有 6 个类来选择可选部分。一些可选部分在 中,因此在不同的影子根中,因此必须将决定作为 CSS 自定义属性传入。

目标是让所有可选部分的类与要显示的正文类匹配,其余部分隐藏。可选部分有 cc 类,然后还有可能在主体上的其他类。

我想到的许多想法导致了 6 的组合爆炸! (720) 规则,这是不切实际的。然后我测试了不透明度不反对 (0,1) 范围之外的值,所以认为以下方法可能有效......但即使是看起来应该总和为 0 的元素,总和为 1,两者在 Firefox 和 Chrome 中,导致所有文本都可见,而不仅仅是与所选类对应的文本!

我错过了什么?

<!DOCTYPE HTML>
<html>
<head>
<meta charset=utf-8>
<title>conditional text test</title>
<style>
body:not(.ab)
{
--vis-ab:0;
}
body.ab
{
--vis-ab:1;
}
body:not(.cde)
{
--vis-cde:0;
}
body.cde
{
--vis-cde:1;
}
body:not(.fghi)
{
--vis-fghi:0;
}
body.fghi
{
--vis-fghi:1;
}
body:not(.jklmn)
{
--vis-jklmn:0;
}
body.jklmn
{
--vis-jklmn:1;
}
body:not(.opqrst)
{
--vis-opqrst:0;
}
body.opqrst
{
--vis-opqrst:1;
}
body:not(.uvwxyz)
{
--vis-uvwxyz:0;
}
body.uvwxyz
{
--vis-uvwxyz:1;
}

.cc:not(.ab)
{
--has-ab:0;
}
.cc.ab
{
--has-ab:var( --vis-ab );
}
.cc:not(.cde)
{
--has-cde:0;
}
.cc.cde
{
--has-cde:var( --vis-cde );
}
.cc:not(.fghi)
{
--has-fghi:0;
}
.cc.fghi
{
--has-fghi:var( --vis-fghi );
}
.cc:not(.jklmn)
{
--has-jklmn:0;
}
.cc.jklmn
{
--has-jklmn:var( --vis-jklmn );
}
.cc:not(.opqrst)
{
--has-opqrst:0;
}
.cc.opqrst
{
--has-opqrst:var( --vis-opqrst );
}
.cc:not(.uvwxyz)
{
--has-uvwxyz:0;
}
.cc.uvwxyz
{
--has-uvwxyz:var( --vis-uvwxyz );
}
.cc
{
opacity:calc( var( --has-ab ) + var( --has-cde ) + var( --has-fghi ) + var( --has-jklmn ) + var ( --has-opqrst ) + var( --has-uvwxyz ));
}
</style>
</head>
<body class=ab>
<h1>conditional text test</h1>
<div>
<span class="cc ab">ab</span>
<span class="cc cde">cde</span>
<span class="cc fghi">fghi</span>
<span class="cc jklmn">jklmn</span>
<span class="cc opqrst">opqrst</span>
<span class="cc uvwxyz">uvwxyz</span>
</div>
<div class="cc ab fghi">ab or fghi</div>
<div class="cc ab uvwxyz">ab or uvwxyz</div>
<div class="cc opqrst fghi">opqrst or fghi</div>
</body>
</html>

最佳答案

我的 friend 明白了这一点。它在 var 和 ( 之间有一个空格。他在 Firefox DevTools 上提交了一个错误报告 https://bugzilla.mozilla.org/show_bug.cgi?id=1586556

现在所描述的技术工作正常,我的 friend 对其进行了一些优化(在 bug 的文件中)以减少所需的规则数量。

关于css - 条件文档 : how to show optional parts based on several classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58253673/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com