Html 使用CSS:lang()选择器切换divs可见性

Html 使用CSS:lang()选择器切换divs可见性,html,css,lang,Html,Css,Lang,嗯,它不起作用,也许就是不起作用。我想显示一个基于浏览器语言的容器 所有div的初始设置都消失了。 我尝试过使用属性display:none和visibility:hidden,但都没有用。语言选择器不会覆盖初始设置 .france-box, .german-box, .dutch-box, .italy-box { display: none } .france-box :lang(fr) { display: flex } .german-box :lang(de) { displa

嗯,它不起作用,也许就是不起作用。我想显示一个基于浏览器语言的容器

所有div的初始设置都消失了。 我尝试过使用属性display:none和visibility:hidden,但都没有用。语言选择器不会覆盖初始设置

 .france-box, .german-box, .dutch-box, .italy-box { display: none }

 .france-box :lang(fr) { display: flex }
 .german-box :lang(de) { display: flex; }
 .dutch-box :lang(nl) { display: flex; }
 .italy-box :lang(en) { display: flex; }
这似乎是另一种方式,如果语言有效,我可以隐藏div,但不能显示它们


任何想法如何做到这一点,理想情况下,只是css。我想要一个精简的解决方案。

这里有两个问题:

更改从
display:none
派生的元素的显示不起任何作用 类选择器和lang伪类选择器之间的后代组合符意味着只有从
显示:none
(从第1行开始)的元素派生的元素才是目标

以下是一个简化的示例:

div{
显示:无;
}
分区跨度{
显示器:flex
}

这里有两个问题:

更改从
display:none
派生的元素的显示不起任何作用 类选择器和lang伪类选择器之间的后代组合符意味着只有从
显示:none
(从第1行开始)的元素派生的元素才是目标

以下是一个简化的示例:

div{
显示:无;
}
分区跨度{
显示器:flex
}

请同时添加HTML。删除.frace-box:lang(fr)等之间的空格。请同时添加HTML。删除.frace-box:lang(fr)等之间的空格。好的,谢谢昆汀,你是对的,我误解了。非常彻底的回答投票给昆汀的人!好的,谢谢昆汀,你说得对,我误解了。非常彻底的回答投票给昆汀的人!