首页 > 网站 > 网页设计 > 正文

css 样式加载的优先级使用经验分享

2024-08-30 08:35:28
字体:
来源:转载
供稿:网友
昨天项目开发过程中,遇到一个样式加载优先级的问题。

定义了class,在页面最初加载的过程中是被识别出来了,当加载完毕后的一瞬间,样式像被重写了一样,定义好的margin-bottom不起作用了。控件因为没有这个样式就挤在了一起。

测试中FF和Chrome都是可以的,IE8有问题,但是用IE developer工具是可以看到这个margin-bottom被识别出来了,也没有被重定义。

问题比较怪异。

这个页面不是普通的结构,页面内容是异步生成的,而不是之前已经写好各种元素的普通页面。至于在加载完的一瞬间是被什么给重定义了还没有找到原因。现象是其中的挤在一起的表单元素随便点击一个,它所在的模块的所有表单都会加载margin-bottom样式,就不会再挤在一起。或者用IE developer工具,先把margin-bottom前面的勾点击为不选,然后再点击选中,这样页面上所有没有识别margin-bottom的表单元素都会正常加载这个样式。

但这肯定不是解决问题的办法,不能让客户看到这个问题,UI是最能打动用户的部分,也是最容易激怒用户的部分。

随后试了几种方法,专门写一个样式定义margin-bottom,而不是随着别的定义一起,不行;

加!important这种优先级很高的办法也不行;

直接写style优先级还不如!important,并且代码冗余太多,弊端更多,不行;

然后试了一个方法,script的方法,可行,代码如下:

复制代码
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表