嗨我正在尝试使用CSS创建网站,并且想知道是否可以根据语言隐藏文本。我们使用asp网站,语言为英文和法文。为了简单起见将会记录常见问题解答,我有义务执行html(无模板和数据库)。我想做一个CSS代码,它检查languageCode是“EN”还是“FR”,并在未选择语言的位置放置不可见标签。我可以通过Javascript来改变CSS,但是因为我使用CSS来隐藏和显示我的问题,我想知道如果我只用CSS就可以做到。 这里的模板是什么,wher的信息,我想和一个样品,我想后:CSS隐藏一些带有类和标识的文本
<div>
<div>
<div>
<div class="languageCode" id="fr" style="display: none; visibility: hidden;">fr</div>
</div>
</div>
</div>
<div class="MainContent">
<div>
<h1>FAQ</h1>
<label><input type="checkbox" id="language" />Français ?</label>
<ul class="collapse-list">
<li class="fr">
<label class="collapse-btn" for="question-1">
Titre FR1
</label>
<input class="collapse-open" type="radio" id="question-1" name="question" aria-hidden="true" hidden="hidden"/>
<div class="collapse-panel">
<div class="collapse-inner">
<p>
texte
</p>
</div>
</div>
</li>
<li class="en">
<label class="collapse-btn" for="question-2">
Title EN1
</label>
<input class="collapse-open" type="radio" id="question-2" name="question" aria-hidden="true" hidden="hidden"/>
<div class="collapse-panel">
<div class="collapse-inner">
<p>
text
</p>
</div>
</div>
</li>
</ul>
</div>
</div>
这里的CSS
.collapse-open
{
display: none;
}
.collapse-panel
{
display: none;
margin-left: 10px;
}
.collapse-open:checked ~ .collapse-panel
{
display: block;
}
下面部分的一小部分应用的CSS我想这样做,但我不能说如何使它工作
#fr.languageCode ~ .fr{
visibility: hidden;
display: none;
}
#fr.languageCode ~ .en{
visibility: visible;
}
#en.languageCode ~ .fr{
visibility: visible;
}
#en.languageCode ~ .en{
visibility: hidden;
display: none;
}
一样,如果该ID是#fr你只显示法语内容,如果ID是#en你只显示英文内容。 注:我知道我的CSS中的选择器不起作用,但我找不到应该使用的东西,或者如果可以在没有javascript的情况下做我想要的东西。
我会用JavaScript做到这一点:https://localizejs.com/questions/integrating/detect-languages – 2015-04-01 21:44:57
这是行不通的。 '〜'选择器适用于兄弟姐妹,并且'.languageCode'没有兄弟姐妹。你会想要在DOM中尽可能高的位置添加语言代码,或者在body上添加'data-lang'或其他东西。然后你可以做'[data-lang =“fr”] .en {display:none;}'等等。 – Pevara 2015-04-01 22:41:41