: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