关于Asp.net2.0下Div+Css布局页面样式实效的解决方法

来源:互联网 发布:中山和佛山 知乎 编辑:程序博客网 时间:2024/05/16 08:38

问题描述:     最新写了一个网站,采用的Div+CSS方式进行布局的。在调试的过程中发现IE7和FF都兼容,但在Ie6不兼容的情况,部分层的样式不起作用,完全未执行,就像失去控制一样。重写了布局两次未果,难道真是Ie6有这么难的兼容性。解决思路:     step1:找一台Ie环境的机器,装上Dw进行布局,发现该css在IE6兼容问题不大,局部有细小改动即可。     step2:应用该css到项目中,IE7和FF正常,但IE6的问题仍然存在。不死心,将Dw环境下的做测试的的Html静态页,传到服务器试试。解析结果跟单机一样。     step4:分析原因应该是Asp.net的解析和html的解析结果不一样。试着把静态页的内容粘贴到Aspx文件中测试,结果还是样式还是乱的。     step5:把aspx文件的执行结果和html文件的对比,没有太多的变化。难道是asp.net内部解析执行的问题??     step6:上网查资料,注释会影响样式的执行,于是去掉css文件中写的样式注释,一并去掉了页面的样式注释并执行。测试结果,大体布局出来了,但局部样式还是未应用到。     step7:考虑文件编码的问题了,是不是css样式文件的编码认不到?查看css文件的属性原来编码是ANSI方式,而Asp.net支持的是UTF-8的方式。将css文件以记事本的方式打开,另存为Utf-8编码文件。测试效果达到html文件执行效果。     step8:用!important局部修正Ie6执行样式,页面执行结果达到了预期的效果。

 总结:      Dw环境下,Css文件的编码方式ANSI。应用到Asp.net2.0的项目中,应修改其编码方式。      Css样式文件最好不做注释,注释在有些时候解析会出错然后导致样式异常。

ASPX和JSP技术有点不一样,ASPX会加很多自己生成的东西在客户端页面。 所以,有可能会破坏到客户端页面。 其次,DW和IE的兼容性不是很好,而且个人估计以后会更不好,毕竟ADOBE和MS是竞争关系,而MS又善于搞小动作。

我也遇到过,实际上,在做Div+CSS样式开发的时候个人感觉其实应该注意的其实是严格使用CSS定义标准,比如说,在Div中添加内容的时候,当然是程序动态添加的时候,如果文字内容太多的话,Div的高度不会发生变化的,如果在定义Div样式的时候给他加上 height:auto,那么这个问题就会解决,但是很多人为了方便忽略掉了这个小小的问题,为什么?因为在IE6里面Div的高度是自动调整的,但在IE7或者FF中是不会自动调整的,这样的话就会出现所谓的兼容性问题

原创粉丝点击