:lang 选择器最佳实践

作者: 繁华遇见 | 来源:发表于2018-09-05 21:49 被阅读5次

在公司做项目的时候遇到一个情况。
项目需要做国际化,并且中英文环境下,样式会有不同。所以选择了:lang 选择器

按照w3c 文档上描述,我在每个标签上设置了 lang 属性 并设置了每种语言的样式。如下:

//html部分
<Input lang={(navigator.language||navigator.userLanguage).substr(0,2)} />
<label lang={(navigator.language||navigator.userLanguage).substr(0,2)}><label/>
//css
Input:lang(en){
 ...
}
Input:lang(zh){
 ...
}

不过这样写就太傻了。这种东西可以写到立即执行函数中,如下:

!function(a){
    var x=a.document;
    var y=x.documentElement;
    y.lang = (navigator.language||navigator.userLanguage).substr(0,2);
}(window)

如此一来,就直接写css 样式的部分就好了,不用在标签里挨个写了。

PS:我写的是React应用下的方式,立即执行函数放在index.html 文件中script标签里。因为是单页应用,所以只有一个根HTML文件。所以在立即执行函数执行好后,就相当于整个文档都加了lang属性。

总结:写代码,大局观很重要。

相关文章

网友评论

    本文标题::lang 选择器最佳实践

    本文链接:https://www.haomeiwen.com/subject/kpmzwftx.html