网页设计中如何解决浏览器兼容问题
5个回答
2020-02-20 · 上海雍熙资深互联网服务品牌
上海雍熙
上海雍熙是中国资深互联网服务商,11年来为3000余家企业提供网站系统开发服务,高新技术企业、双软认证企业、通过国际ISO9001、ISO27001质量体系认证,世界500强企业长期供应商。
向TA提问
关注
展开全部
1. 目标不居中;
一般新手都爱出现这个问题,主要原因是对盒子模型不够理解,如果发现你的页面没有居中,基本上有两种情况:
a. 如果是在浏览器中没有居中,就是没盒子,就是要用一个大DIV把所有需要居中元素 装起来,然后给盒子一个css样式margin:0 auto;
b. 如果想要盒子内的元素居中,必须定义盒子的绝对宽度,然后给盒子一个CSS样式 text-align:center;
2. 目标在不同浏览器上的位置不同;
a. 首先不要去急着找hack,先看一下自己的代码有没有错误,DW里有一个“检查浏览器兼容 性”功能特别实用;
b. 然后,尽量让目标的位置初始化,使之在所有浏览器都处在同一个位置,这个条件的前提 是,不写hack,最后再一个方位一个方位调整。
3. 目标与目标之间距离在各个浏览器上的区别;
a. 给其中一个目标加背景颜色;
b. 观察背景色与另外一个目标的距离,查看是不是这个目标造成的距离问题
c. 如果不是上一个目标,那就给另外一个目标也加上背景颜色。
d. 这样很容易判断出那个目标造成的原因,就针对那个目标进行修改。
4. IE6兼容问题最多的一个,浮动问题。
a. flaot浮动造成IE6下面双倍边距问题,这个最常见,也最好处理,解决方法:
只需要给这个DIV加一个样式:display:inline;
b. 布局的时候经常会遇到这种情况:发现有一个DIV浮动了,接下来的一个DIV本来是要在下面显示的,结果跑上面去了,这种情况一般在FF下面会出现。
解决的办法:清除浮动,在设置过浮动的那个DIV下面加一个DIV,给个样式clear:both;如下
一般新手都爱出现这个问题,主要原因是对盒子模型不够理解,如果发现你的页面没有居中,基本上有两种情况:
a. 如果是在浏览器中没有居中,就是没盒子,就是要用一个大DIV把所有需要居中元素 装起来,然后给盒子一个css样式margin:0 auto;
b. 如果想要盒子内的元素居中,必须定义盒子的绝对宽度,然后给盒子一个CSS样式 text-align:center;
2. 目标在不同浏览器上的位置不同;
a. 首先不要去急着找hack,先看一下自己的代码有没有错误,DW里有一个“检查浏览器兼容 性”功能特别实用;
b. 然后,尽量让目标的位置初始化,使之在所有浏览器都处在同一个位置,这个条件的前提 是,不写hack,最后再一个方位一个方位调整。
3. 目标与目标之间距离在各个浏览器上的区别;
a. 给其中一个目标加背景颜色;
b. 观察背景色与另外一个目标的距离,查看是不是这个目标造成的距离问题
c. 如果不是上一个目标,那就给另外一个目标也加上背景颜色。
d. 这样很容易判断出那个目标造成的原因,就针对那个目标进行修改。
4. IE6兼容问题最多的一个,浮动问题。
a. flaot浮动造成IE6下面双倍边距问题,这个最常见,也最好处理,解决方法:
只需要给这个DIV加一个样式:display:inline;
b. 布局的时候经常会遇到这种情况:发现有一个DIV浮动了,接下来的一个DIV本来是要在下面显示的,结果跑上面去了,这种情况一般在FF下面会出现。
解决的办法:清除浮动,在设置过浮动的那个DIV下面加一个DIV,给个样式clear:both;如下
展开全部
1. 目标不居中;
一般新手都爱出现这个问题,主要原因是对盒子模型不够理解,如果发现你的页面没有居中,基本上有两种情况:
a. 如果是在浏览器中没有居中,就是没盒子,就是要用一个大DIV把所有需要居中元素装起来,然后给盒子一个css样式margin:0 auto;
b. 如果想要盒子内的元素居中,必须定义盒子的绝对宽度,然后给盒子一个CSS样式text-align:center;
2. 目标在不同浏览器上的位置不同;
a. 首先不要去急着找hack,先看一下自己的代码有没有错误,DW里有一个“检查浏览器兼容性”功能特别实用;
b. 然后,尽量让目标的位置初始化,使之在所有浏览器都处在同一个位置,这个条件的前提是,不写hack,最后再一个方位一个方位调整。
3. 目标与目标之间距离在各个浏览器上的区别;
a. 给其中一个目标加背景颜色;
b. 观察背景色与另外一个目标的距离,查看是不是这个目标造成的距离问题
c. 如果不是上一个目标,那就给另外一个目标也加上背景颜色。
d. 这样很容易判断出那个目标造成的原因,就针对那个目标进行修改。
4. IE6兼容问题最多的一个,浮动问题。
a. flaot浮动造成IE6下面双倍边距问题,这个最常见,也最好处理,解决方法:
只需要给这个DIV加一个样式:display:inline;
b. 布局的时候经常会遇到这种情况:发现有一个DIV浮动了,接下来的一个DIV本来是要在下面显示的,结果跑上面去了,这种情况一般在FF下面会出现。
解决的办法:清除浮动,在设置过浮动的那个DIV下面加一个DIV,给个样式clear:both;如下
<div style="float:left;height:100px; width:500px;"> <div style="clear:both;"> <div style="height:100px; width=300px">
5. IE8兼容问题
ie8下兼容问题,这个最好处理,转化成ie7兼容就可以。在头部加如下一段代码,然后只要在IE7下兼容了,IE8下面也就兼容了 <meta http-equiv="x-ua-compatible" content="ie=7" />
6. 背景兼容问题
有的时候明明给一个DIV加了背景颜色或背景图片,但是却显示不出来或者显示不全。
解决办法:首先,有可能是DIV没有设置绝对高度。如果设置了宽度和高度还没有效果,那么给DIV一个样式display:block;(通常a:hover加背景的时候经常遇到)。
另外,如果高度必须要设置成自动的话,那么就给DIV一个样式overflow:hidden;
7. IE7和Firefox兼容问题
很多朋友DIV+CSS的时候,会出现,在IE的几个浏览器下都好使,就是FF下有问题。
解决方法:height:100px;/*FF下显示100的高*/ +height:120px;/*IE678下显示120高*/
原理:FF不识别加过符号的属性,而IE识别。
一般新手都爱出现这个问题,主要原因是对盒子模型不够理解,如果发现你的页面没有居中,基本上有两种情况:
a. 如果是在浏览器中没有居中,就是没盒子,就是要用一个大DIV把所有需要居中元素装起来,然后给盒子一个css样式margin:0 auto;
b. 如果想要盒子内的元素居中,必须定义盒子的绝对宽度,然后给盒子一个CSS样式text-align:center;
2. 目标在不同浏览器上的位置不同;
a. 首先不要去急着找hack,先看一下自己的代码有没有错误,DW里有一个“检查浏览器兼容性”功能特别实用;
b. 然后,尽量让目标的位置初始化,使之在所有浏览器都处在同一个位置,这个条件的前提是,不写hack,最后再一个方位一个方位调整。
3. 目标与目标之间距离在各个浏览器上的区别;
a. 给其中一个目标加背景颜色;
b. 观察背景色与另外一个目标的距离,查看是不是这个目标造成的距离问题
c. 如果不是上一个目标,那就给另外一个目标也加上背景颜色。
d. 这样很容易判断出那个目标造成的原因,就针对那个目标进行修改。
4. IE6兼容问题最多的一个,浮动问题。
a. flaot浮动造成IE6下面双倍边距问题,这个最常见,也最好处理,解决方法:
只需要给这个DIV加一个样式:display:inline;
b. 布局的时候经常会遇到这种情况:发现有一个DIV浮动了,接下来的一个DIV本来是要在下面显示的,结果跑上面去了,这种情况一般在FF下面会出现。
解决的办法:清除浮动,在设置过浮动的那个DIV下面加一个DIV,给个样式clear:both;如下
<div style="float:left;height:100px; width:500px;"> <div style="clear:both;"> <div style="height:100px; width=300px">
5. IE8兼容问题
ie8下兼容问题,这个最好处理,转化成ie7兼容就可以。在头部加如下一段代码,然后只要在IE7下兼容了,IE8下面也就兼容了 <meta http-equiv="x-ua-compatible" content="ie=7" />
6. 背景兼容问题
有的时候明明给一个DIV加了背景颜色或背景图片,但是却显示不出来或者显示不全。
解决办法:首先,有可能是DIV没有设置绝对高度。如果设置了宽度和高度还没有效果,那么给DIV一个样式display:block;(通常a:hover加背景的时候经常遇到)。
另外,如果高度必须要设置成自动的话,那么就给DIV一个样式overflow:hidden;
7. IE7和Firefox兼容问题
很多朋友DIV+CSS的时候,会出现,在IE的几个浏览器下都好使,就是FF下有问题。
解决方法:height:100px;/*FF下显示100的高*/ +height:120px;/*IE678下显示120高*/
原理:FF不识别加过符号的属性,而IE识别。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为了能让网站设计正常的运行于各种浏览器平台,网站设计师们不得不想尽办法处理好网站建设中的浏览器兼容问题。正是因为网站设计当中的这一需要产生了一项新技术— CSS Hack。 CSS Hack 就是针对不同浏览器写出不同的 CSS code 的过程,主要用来解决目前各类浏览器无法标准解析CSS样式,导致同一网站设计页面在不同浏览器下出现显示效果不一致的兼容问题。 针对不同浏览器,可以将CSS Hack 网站设计代码整理如下:
1、针对I E 系列浏览器的网站设计代码 针对 IE 6 的专属 CSS Hack 网站设计代码 #id{ _display: block; } 也就是在网站设计CSS属性前加一个小划线就好。 针对 IE 7 的专属 CSS Hack 网站设计代码 #id{ *display: block; } 即在网站设计CSS属性前加上一个星号即可 针对 IE 8 的专属 CSS Hack 网站设计代码 #id{ margin-top: 10px 9; /*IE8*/ } 如上所示,解决办法为在网站设计CSS属性后分号前加上空格与斜线并加入一个数字9即可 。
2、针对火狐的CSS Hack 网站设计代码 火狐可谓是最标准的浏览器之一了,网站设计技术只要稍稍不到位就能体现得淋漓尽致,所以不少网站设计师也很头痛,其实想要解决火狐的兼容性除了要把网站设计的基础知识扎牢之外只要将CSS代码写入到下图 @-moz-document url-prefix(){ } 里面就行了 @-moz-document url-prefix() { #id{ display: block; } } 。
3、针对 Safari 的CSS Hack 网站设计代码 Safari是苹果计算机的最新作业系统Mac OS X中新的浏览器,用来取代之前的Internet Explorer for Mac,使用了KDE的KHTML作为浏览器的运算核心。 @media screen and (-webkit-min-device-pixel-ratio:0) { #id { display: block; } } 兼容性做法和火狐相近。
4、针对 Opera 的CSS Hack 网站设计代码 Opera即Opera Software ASA,是台式机、各种设备和移动网络浏览器市场的商业领袖,因快速、小巧和比其他浏览器更佳的标准兼容性获得了国际上的最终用户和业界媒体的承认,并在网上受到很多人的推崇。 @media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) { head~body #id { display: block; } } 这个世界上必然不会存在绝对完美的事物,因此运用以上方法让我们的网站设计更好的与各种浏览器兼容的时候其实已经违反了网站制作的W3C标准。
1、针对I E 系列浏览器的网站设计代码 针对 IE 6 的专属 CSS Hack 网站设计代码 #id{ _display: block; } 也就是在网站设计CSS属性前加一个小划线就好。 针对 IE 7 的专属 CSS Hack 网站设计代码 #id{ *display: block; } 即在网站设计CSS属性前加上一个星号即可 针对 IE 8 的专属 CSS Hack 网站设计代码 #id{ margin-top: 10px 9; /*IE8*/ } 如上所示,解决办法为在网站设计CSS属性后分号前加上空格与斜线并加入一个数字9即可 。
2、针对火狐的CSS Hack 网站设计代码 火狐可谓是最标准的浏览器之一了,网站设计技术只要稍稍不到位就能体现得淋漓尽致,所以不少网站设计师也很头痛,其实想要解决火狐的兼容性除了要把网站设计的基础知识扎牢之外只要将CSS代码写入到下图 @-moz-document url-prefix(){ } 里面就行了 @-moz-document url-prefix() { #id{ display: block; } } 。
3、针对 Safari 的CSS Hack 网站设计代码 Safari是苹果计算机的最新作业系统Mac OS X中新的浏览器,用来取代之前的Internet Explorer for Mac,使用了KDE的KHTML作为浏览器的运算核心。 @media screen and (-webkit-min-device-pixel-ratio:0) { #id { display: block; } } 兼容性做法和火狐相近。
4、针对 Opera 的CSS Hack 网站设计代码 Opera即Opera Software ASA,是台式机、各种设备和移动网络浏览器市场的商业领袖,因快速、小巧和比其他浏览器更佳的标准兼容性获得了国际上的最终用户和业界媒体的承认,并在网上受到很多人的推崇。 @media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) { head~body #id { display: block; } } 这个世界上必然不会存在绝对完美的事物,因此运用以上方法让我们的网站设计更好的与各种浏览器兼容的时候其实已经违反了网站制作的W3C标准。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我解决的办法可能太笨了,但我没有更好的办法,特意把我的办法在这里说一下,一是可能帮到你,二抛砖引玉,也关注一下有没有更好的办法。
我的办法是用Macromedia Dreamweaver或Office FrontPage把首页重作一下,然后再在相关位置放JS代码。呵呵,让大家见笑了。
我的办法是用Macromedia Dreamweaver或Office FrontPage把首页重作一下,然后再在相关位置放JS代码。呵呵,让大家见笑了。
参考资料: http://baike.baidu.com/view/5355100.htm
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
浏览器兼容性问题存在了很多因素的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询