CSS3-css文件能否动态加载图片
现在开发多语种平台,每个语种的页面样式结构是一样的,不同的是背景图片和样式图片,现在的做法是每个语种一个样式文件。能否只用一个样式文件,图片地址以传值的方式来改变。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
现在开发多语种平台,每个语种的页面样式结构是一样的,不同的是背景图片和样式图片,现在的做法是每个语种一个样式文件。能否只用一个样式文件,图片地址以传值的方式来改变。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
我以前的一个项目也是多语言的,处理图片的时候你可以采用,图片名+国家的方式,css也是一样的,然后后台通过判断国家,来实在分别载入
话说CSS是无法动态加载,毕竟是一门静态语言,一般对于这种情况,采用的方法是:
.将CSS公用的部分写成一个单独的文件(所有情况下都通用的部分)。
.对不同的部分再单写成多个文件以对应不同的情形(例如:语种平台、不同版本的浏览器等)。因为一般这一部分文件都比较小,加载很快。
写一个样式就好了~
再针对不同平台用行内样式去修改background-image
css单独是无法实现动态加载或生成的,必须借助其他语言工具,比如@何远伦所说的LESS,你也可以在服务器脚本里动态生成css文件,什么需求生成什么css文件样式,而且里面的图片url可以已变量的形式。这样控制更灵活些。
在.net 中完全可以利用.ashx处理文件动态添加css,从而间接实现css动态加载图片
如果是希望图片地址以传值的方式来改变,那么就需要在服务器端做些处理了,动态生成css内容.
使用LESS能实现动态样式,官网地址http://www.lesscss.net/,只要页面中引用一个less.js就行,也可借助Node.js或者Rhino在服务端运行。