嗨,我试图用CSS制作一个网站,并想知道是否可以根据语言隐藏文本。我们使用asp网站和语言是英语和法语。为了简单的人谁将记录FAQ,我有义务做html(没有模板和DB)。我想做一个CSS代码,它检查languageCode是"EN“还是"FR”,并在没有选择语言的地方放置不可见标记。我可以做Javascript来改变CSS,但是因为我使用CSS来隐藏和显示我的问题--anwser,我想知道我是否可以用CSS来完成它。这里是模板的示例,我想要的信息是什么,我想在什么地方应用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;
}这是我想做的,但我说不出如何让它起作用
#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就可以做我想做的事情。
发布于 2015-04-01 22:34:07
您可以尝试使用:lang选择器css。但是,考虑到所有情况,xml等都是很棘手的。我认为检测用户浏览器语言的javascript很简单,所以为什么不基于此设置一个全局类,然后您可以相应地使用css隐藏/显示。您确实需要确保您有一个完整的列表,可能的朗值。
var language = window.navigator.userLanguage || window.navigator.language;
alert(language);
document.getElementById('content').className = language;div {
visibility: hidden;
}
#content.fr .french {
visibility: visible;
}
#content.en-US .english {
visibility: visible;
}
#content.sp .spanish {
visibility: visible;
}<div id="content" class="default">
<div class="french">Si votre navigateur préférence lang est francais , vous devriez voir cette
</div>
<div class="english">If your browser lang preference is ENGLISH you should see this
</div>
<div class="spanish">Si su navegador lang preferencia es espanol debería ver esto
</div>
</div>
https://stackoverflow.com/questions/29400663
复制相似问题