网页兼容性问题解决方案
- 格式:doc
- 大小:63.50 KB
- 文档页数:20
浏览器兼容解决方案
《浏览器兼容解决方案》
在互联网时代,浏览器兼容性问题是网站开发人员不得不面对的一个挑战。
不同浏览器对HTML、CSS和JavaScript的解释
存在差异,因此同一个网页在不同浏览器上可能会显示不同的效果,甚至无法正常加载。
为了解决这一问题,我们需要采取一些兼容性解决方案。
首先,使用最新的Web标准。
随着HTML5和CSS3等新技术
的不断发展,很多老版本的浏览器并不支持这些新特性。
因此,在设计网页时,尽量采用最新的Web标准,以确保网页在大
部分现代浏览器上能够正常显示。
其次,进行浏览器检测和特性检测。
借助JavaScript,我们可
以检测用户正在使用的浏览器和其版本,根据不同浏览器的特性来加载不同的代码,以确保页面在各种浏览器上都能够良好地显示和运行。
另外,采用CSS Reset。
不同的浏览器对CSS的默认样式存在
差异,因此在设计网页时,我们可以使用CSS Reset来重置不
同浏览器的默认样式,以确保网页的外观在各种浏览器上保持一致。
最后,采用浏览器嗅探和用户代理检测。
通过浏览器嗅探和用户代理检测,我们可以获取用户的浏览器信息,从而根据用户的浏览器来加载不同的样式和脚本,以确保网页在不同浏览器
上都能够正常运行。
总之,针对浏览器兼容性问题,我们可以采取上述一些解决方案来解决。
只有通过不懈的努力和探索,我们才能够让我们的网页在各种浏览器上都能够完美地呈现。
如何处理跨浏览器兼容性问题在当今互联网时代,浏览器的种类繁多,每个浏览器都有自己的特点和兼容性问题。
对于网页开发者来说,如何处理跨浏览器兼容性问题是一项重要的任务。
本文将探讨一些常见的跨浏览器兼容性问题以及解决方法。
一、了解不同浏览器的特点首先,了解不同浏览器的特点对于处理兼容性问题至关重要。
目前市场上主流的浏览器包括谷歌Chrome、火狐Firefox、微软Edge、苹果Safari等。
每个浏览器都有自己的渲染引擎和支持的Web标准,因此在开发过程中需要考虑到不同浏览器的差异。
二、使用CSS ResetCSS Reset是一种常用的解决浏览器兼容性问题的方法。
由于不同浏览器对于默认样式的处理方式不同,使用CSS Reset可以将不同浏览器的默认样式统一,从而减少兼容性问题。
常见的CSS Reset库包括Normalize.css和Reset.css,可以根据自己的需求选择合适的库来使用。
三、遵循Web标准遵循Web标准是解决跨浏览器兼容性问题的基础。
Web标准包括HTML、CSS和JavaScript等方面的规范,通过遵循这些规范可以确保网页在不同浏览器中的一致性显示。
在开发过程中,尽量使用标准的HTML标签和CSS属性,避免使用浏览器私有的特性。
四、使用浏览器前缀某些CSS属性在不同浏览器中需要添加特定的前缀才能生效。
例如,某个CSS属性在谷歌浏览器中需要添加"-webkit-"前缀,在火狐浏览器中需要添加"-moz-"前缀。
通过使用浏览器前缀,可以确保网页在不同浏览器中正常显示。
然而,过多地使用浏览器前缀也会增加代码的复杂性,因此需要权衡使用的必要性。
五、进行测试和调试在开发过程中,进行充分的测试和调试是解决兼容性问题的关键。
可以使用浏览器的开发者工具来模拟不同浏览器的环境,检查网页在不同浏览器中的显示效果。
同时,还可以使用一些兼容性测试工具来自动化地检测兼容性问题,例如Can Iuse和BrowserStack等。
前端开发中常见的浏览器兼容性问题与解决方案随着移动互联网及云计算的迅速发展,前端开发也越来越重要。
然而,不同浏览器之间的差异性造成了许多兼容性问题,给开发者带来了不小的困扰。
本文将介绍一些前端开发中常见的浏览器兼容性问题,并提供一些解决方案。
一、CSS兼容性问题1. 盒模型差异:不同浏览器对盒模型的解析方式有所不同,主要体现在边框和内边距的计算上。
解决方案是使用CSS的box-sizing属性将盒模型设置为border-box,以保证在不同浏览器中的显示效果一致。
2. 行内元素的内外边距:在IE6及更早的版本中,行内元素会忽略内外边距的设置。
解决方案是将行内元素转换为块级元素,或者使用display:inline-block属性来呈现行内块元素的效果。
3. 清除浮动:不同浏览器对清除浮动的方式支持度各不相同。
常用的清除浮动方法有使用overflow:hidden属性、添加空元素并清除浮动、使用clearfix类等。
二、JavaScript兼容性问题1. DOM操作差异:不同浏览器对于DOM操作的实现方式存在差异,例如通过innerHTML属性插入HTML片段在IE中可能导致内存泄漏。
解决方案是尽量使用createElement和appendChild等原生DOM方法来进行元素的动态创建和操作。
2. 事件处理差异:不同浏览器对于事件处理的机制有所不同,例如IE不支持事件捕获,而是通过attachEvent方法进行事件绑定。
解决方案是使用事件委托的方式来减少事件绑定的数量,同时可以借助框架如jQuery等来解决跨浏览器兼容性问题。
3. AJAX兼容性:不同浏览器对XMLHttpRequest对象的支持有所不同,特别是IE6及更早的版本。
解决方案是使用封装好的Ajax库或者利用浏览器的原生ActiveXObject对象来实现跨浏览器的AJAX请求。
三、HTML5兼容性问题1. 标签支持度不足:HTML5中的一些新标签如<header>、<nav>、<section>等在旧版本的浏览器中可能无法正确解析。
移动端网页开发中的适配与兼容性问题解决方案移动端的普及,使得移动端网页开发成为当前互联网行业的重要一环。
然而,由于各种移动设备的硬件和软件差异,导致移动端网页在不同设备上显示效果差异明显。
因此,适配与兼容性问题成为移动端网页开发者面临的挑战。
一、视口设置为了解决移动设备上网页显示的适配问题,我们可以通过设置视口来实现适配。
视口是指移动设备上显示网页内容的区域,通过设置视口的宽度、缩放比例等参数,可以使得网页在不同设备上有更好的显示效果。
在HTML文档的头部添加以下代码,可以设置视口的宽度为设备宽度,并且禁止用户缩放网页内容:```<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">```通过设置视口的宽度为设备宽度,可以让网页的宽度自适应不同设备的屏幕宽度,从而解决了网页在移动设备上显示时出现的错位、溢出等问题。
二、流式布局在移动端网页开发中,采用流式布局可以使得网页在不同设备上呈现一致的显示效果。
流式布局是指网页中的元素按照相对宽度进行排列,在不同设备上可以自动调整元素的大小和位置,从而实现适配。
通过使用百分比或者rem单位来设置元素的宽度和高度,可以使得元素在不同设备上按照比例进行缩放。
同时,为了保证元素在缩放过程中的比例关系不变,需要设置元素的最小宽度和最大宽度。
例如,设置一个div元素的宽度为50%,高度为自适应,最小宽度为200px,最大宽度为500px:```<style>.box {width: 50%;height: auto;min-width: 200px;max-width: 500px;}</style><div class="box"><!--内容--></div>```通过流式布局,可以使得网页在不同设备上的显示效果更加一致,提升用户体验。
!important 优先级兼容IE61.div的垂直居中问题2. margin加倍的问题3.浮动ie产生的双倍距离4 .IE与宽度和高度的问题 IE 不认得min-这个定义5. 页面的最小宽度 min -width是个非常方便的CSS命令6.DIV浮动IE文本产生3象素的bug 左边对象浮动7.IE捉迷藏的问题8.float的div闭合;清除浮动;自适应高度;11.高度不适应1.div的垂直居中问题 vertical-align:middle; 将行距增加到和整个DIV 一样高 line-height:200px; 然后插入文字,就垂直居中了。
缺点是要控制内容不要换行2. margin加倍的问题设置为float(浮动)的div在ie下设置的margin 会加倍。
这是一个ie6都存在的bug(臭虫)。
解决方案是在这个div里面加上display:inline;例如: <#div id=”imfloat”> 相应的css为 #IamFloat{ float:left; margin:5px;/*IE下理解为10px*/ display:inline;/*IE下再理解为5px*/}3.浮动ie产生的双倍距离 #box{ float:left; width:100px; margin:0 0 0 100px; //这种情况之下IE会产生200px的距离 display:inline; //使浮动忽略} 这里细说一下block与inline两个元素block元素的特点是,总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline 元素的特点是,和其他元素在同一行上,不可控制(内嵌元素); #box{ display:block; //可以为内嵌元素模拟为块元素display:inline; //实现同一行排列的效果diplay:table;4 IE与宽度和高度的问题 IE 不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。
前端框架技术中响应式网页设计的浏览器兼容性问题及解决方案前端框架在日常的网页设计与开发中扮演着重要角色,而响应式网页设计作为一种能够适应不同屏幕尺寸的解决方案,在如今移动设备的普及和多样化带来的需求下,越发受到开发者的青睐。
然而,在使用响应式网页设计时,我们常常会面临浏览器兼容性问题。
本文将详细探讨前端框架技术中响应式网页设计的浏览器兼容性问题,并提供解决方案。
一、浏览器兼容性问题的原因浏览器兼容性问题在前端开发中是非常常见的。
不同浏览器的内核、渲染机制以及对新标准的支持程度不同,导致网页在不同浏览器中的显示效果存在差异。
二、浏览器兼容性问题的解决方案1. CSS HackCSS Hack是一种通过针对不同浏览器的特定规则来解决兼容性问题的方法。
例如,通过使用不同浏览器的私有前缀来添加特定的CSS属性,或者使用条件注释来加载特定的样式表。
然而,使用CSS Hack有时会导致代码冗余和可读性下降,因此应慎用。
2. PolyfillPolyfill是一种可以在旧浏览器上模拟新功能的技术。
利用Polyfill,我们可以在不支持某些CSS或JavaScript特性的浏览器上使用它们。
通过引入Polyfill库并按需加载,可以实现兼容性问题的解决。
3. CSS Reset不同浏览器对于HTML元素的默认样式存在差异,这可能导致响应式网页在不同浏览器中的显示效果不一致。
为了解决这个问题,我们可以使用CSS Reset来重置浏览器默认样式,然后再根据自己的需求重新定义样式。
4. 媒体查询媒体查询是一种CSS3提供的功能,可以通过查询设备的特征(如屏幕宽度、屏幕高度等)来应用不同的CSS样式。
使用媒体查询可以根据设备的特征为不同的屏幕尺寸提供不同的布局和样式,从而实现响应式网页设计。
5. 移动优先策略随着移动设备的普及,我们在设计网页时应采用移动优先的策略。
通过优先考虑移动设备的特性和需求,并为移动设备提供适配的布局和样式,可以确保网页在各种设备上都能正常显示。
前端开发中的浏览器兼容性问题与解决方案随着互联网的迅猛发展,前端开发成为了一个独立且重要的领域。
同时,不同浏览器的发展也带来了挑战,前端开发人员需要考虑并解决不同浏览器的兼容性问题。
本文将探讨浏览器兼容性问题的来源、影响因素以及一些解决方案。
浏览器兼容性问题源于不同浏览器之间对Web标准的实现差异。
虽然W3C发布的Web标准旨在统一不同浏览器的行为,但实际上,浏览器供应商对标准的解读和实现方式存在差异。
这导致了同一个网页在不同浏览器上呈现的效果有所差异,甚至在某些情况下无法正常显示。
首先,不同浏览器在CSS解析和渲染方面存在差异。
CSS是前端开发中用于定义网页样式的一种标记语言,但不同浏览器对于CSS属性的支持程度可能不同。
例如,在某些浏览器中,一些CSS属性可能无法正常解析,导致网页的布局和样式出现问题。
为了解决这个问题,开发人员需要对不同浏览器的CSS兼容性进行测试,并根据差异编写特定的CSS代码。
其次,JavaScript的支持和实现方式也因浏览器而异。
JavaScript是一种常用的脚本语言,用于实现网页的交互和动态效果。
然而,由于不同浏览器对JavaScript引擎的实现存在差异,开发人员需要针对不同浏览器编写兼容的JavaScript代码。
一种常见的解决方案是使用开源库,如jQuery,来处理不同浏览器的兼容性问题。
此外,不同浏览器对HTML5和CSS3的支持也有所差异。
HTML5和CSS3是最新的Web标准,提供了丰富的新特性和功能。
然而,旧版本的浏览器对这些新标准的支持有限,甚至完全不支持。
为了在不同浏览器上获得一致的体验,开发人员需要使用一些技术手段,如使用垫片(shim)或后备方案来模拟新特性,或者使用特定的前缀来适应不同浏览器。
解决浏览器兼容性问题的方法有很多,但其中一个有效的策略是采用渐进增强的设计原则。
渐进增强是一种设计理念,它将网页的核心功能作为基本功能,然后根据浏览器的能力逐渐添加和增强其他功能。
浏览器兼容性问题的解决方案随着互联网的不断发展,浏览器已经成为人们日常生活中必不可少的工具之一。
然而,不同的浏览器和浏览器版本之间的兼容性问题却给网站开发和维护带来了诸多麻烦。
本文将探讨浏览器兼容性问题带来的影响以及解决方案。
一、浏览器兼容性问题的影响1.用户体验不佳在不同的浏览器和版本下,网站的显示效果和交互体验往往差异很大,这会导致用户在使用网站时出现卡顿、界面错乱、功能失效等问题,影响用户的使用体验。
2.网站表现不佳由于不同的浏览器对网站代码的解释和执行方式不同,故网站在兼容性方面存在一定的缺陷。
这会导致网站在某些浏览器和版本下出现性能问题,例如加载速度变慢、页面响应时间变长等。
3.网站SEO降低由于不同的浏览器在搜索引擎中的排名不同,因此网站在兼容性方面出现问题会直接影响网站的搜索排名和SEO结果,降低网站被搜索引擎收录的概率和搜索排名。
二、1.编写符合标准的HTML、CSS和JavaScript代码兼容性问题的主要原因是网站代码不符合标准,因此,编写符合标准的代码是避免兼容性问题的基本手段。
在编写代码时要符合W3C标准,并注意不要使用浏览器非标准的属性和方法。
2.尽量避免使用特定浏览器的特定功能尽量避免使用特定浏览器的特定功能,以避免兼容性问题。
如果非常需要使用某个功能,则需要对该浏览器进行特别处理。
这可以通过JavaScript语言的特异性或条件注释来实现。
3.使用开源框架开源框架具有成熟的代码库,同时还能避免浏览器兼容性问题的发生。
常见的开源框架包括React、Angular和Vue.js等。
4.使用CSS Reset或Normalize.cssCSS Reset可以将所有浏览器的默认样式清空,从而减少兼容性问题的发生。
Normalize.css则可以实现一些浏览器的标准一致,从而让网站表现更稳定。
5.使用polyfillPolyfill是一种用于填补不同浏览器功能缺失的JavaScript库。
前端开发中的浏览器兼容性问题解决方法在当今互联网时代,前端开发已经成为了一个非常重要的技术领域。
无论是网页设计还是应用开发,都需要借助浏览器来展示和运行。
然而,不同浏览器之间的兼容性问题常常给前端开发带来了很大的挑战。
本文将探讨一些解决浏览器兼容性问题的方法,帮助开发者更好地应对这一挑战。
一、了解不同浏览器的差异首先,要解决浏览器兼容性问题,开发者需要了解不同浏览器之间的差异。
不同浏览器对HTML、CSS和JavaScript的解析和渲染方式可能存在差异,因此在开发过程中需要特别注意这些差异。
可以通过查阅相关文档、参考网上的浏览器兼容性表格等方式来获取这些信息。
二、使用标准化的代码和技术为了避免浏览器兼容性问题,开发者应该尽量使用标准化的代码和技术。
标准化的代码可以确保在不同浏览器中的一致性表现,减少兼容性问题的出现。
例如,使用HTML5、CSS3等标准化的技术,避免使用过时的HTML标签和属性,使用最新的CSS选择器和属性等。
三、使用CSS预处理器和前端框架CSS预处理器和前端框架可以帮助开发者更好地处理浏览器兼容性问题。
CSS 预处理器如Sass和Less可以提供更强大的CSS编写能力,可以使用变量、嵌套、混合等功能,减少重复代码的编写,并且可以自动生成兼容不同浏览器的CSS代码。
前端框架如Bootstrap和Foundation提供了一套标准化的CSS和JavaScript组件,可以大大简化开发过程,并且已经经过了广泛的浏览器兼容性测试。
四、使用浏览器兼容性解决方案在实际开发中,开发者可以使用一些浏览器兼容性解决方案来解决特定的兼容性问题。
例如,可以使用CSS Hack和条件注释来针对特定的浏览器进行样式和脚本的调整。
可以使用JavaScript库如Modernizr来检测浏览器的特性支持情况,并根据不同情况进行相应的处理。
还可以使用Polyfill来填充浏览器不支持的新特性,使其在旧版本的浏览器中也能正常运行。
浏览器间不兼容原因及解决办法网页设计遇到最大的麻烦之一莫过于网页对不同浏览器的兼容性问题了,因为IE 6。
0 / IE 7.0 / firefox 2 / Opera 9等主流浏览器对CSS解析不近相同,导致设计的页面效果不一样,所以用什么方法可以有效解决不同浏览器不同页面效果的问题呢?广泛被使用的方法就是 CSS Hack,即使用特别的CSS定义显示网页在不同浏览器的设计风格,针对不同的浏览器去写不同的CSS,最大化兼容浏览器。
一般情况下,我都会兼顾IE 6.0 / IE 7。
0 / firefox 2。
0浏览器,下面是用的较频繁的CSS Hack技巧:用的最广莫过于!important了,它可以针对IE(IE 7.0能正确理解!important)和非IE浏览器设置不同的样式,只要在非IE浏览器样式的后面加上!important,就可以针对其优先了。
所以为了兼顾IE 6.0与火狐之间的差异,我都会使用!important。
1、仅IE7与IE5.0可以识别*+html select {…}当面临需要只针对IE7与IE5.0做样式的时候就可以采用这个HACK.2、仅IE7可以识别*+html select {…!important;}当面临需要只针对IE7做样式的时候就可以采用这个HACK。
3、IE6及IE6以下识别* html select {…}这个地方要特别注意很多博客都写成了是IE6的HACK其实IE5.x同样可以识别这个HACK。
其它浏览器不识别。
4、html/**/ 〉body select {…}这句与上一句的作用相同。
5、仅IE6不识别,屏蔽IE6select { display /*屏蔽IE6*/:none;}这里主要是通过CSS注释分开一个属性与值,注释在冒号前。
6、仅IE6与IE5不识别,屏蔽IE6与IE5select/**/ { display /*IE6,IE5不识别*/:none;}这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。
!important 优先级兼容IE61.div的垂直居中问题2. margin加倍的问题3.浮动ie产生的双倍距离4 .IE与宽度和高度的问题IE 不认得min-这个定义5. 页面的最小宽度min -width是个非常方便的CSS命令6.DIV浮动IE文本产生3象素的bug 左边对象浮动7.IE捉迷藏的问题8.float的div闭合;清除浮动;自适应高度;11.高度不适应1.div的垂直居中问题vertical-align:middle; 将行距增加到和整个DIV一样高line-height:200px; 然后插入文字,就垂直居中了。
缺点是要控制内容不要换行2. margin加倍的问题设置为float(浮动)的div在ie下设置的margin会加倍。
这是一个ie6都存在的bug(臭虫)。
解决方案是在这个div里面加上display:inline;例如:<#div id=”imfloat”> 相应的css为#ImFloat{ float:left; margin:5px;/*IE下理解为10px*/display:inline;/*IE下再理解为5px*/}3.浮动ie产生的双倍距离#box{ float:left; width:100px; margin:0 0 0 100px; //这种情况之下IE会产生200px的距离display:inline; //使浮动忽略} 这里细说一下block与inline 两个元素block元素的特点是,总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline 元素的特点是,和其他元素在同一行上,不可控制(内嵌元素); #box{ display:block; //可以为内嵌元素模拟为块元素display:inline; //实现同一行排列的效果diplay:table;4.IE与宽度和高度的问题IE不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。
这样问题就大了,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。
比如要设置背景图片,这个宽度是比较重要的。
要解决这个问题,可以这样:#box{ width: 80px; height: 35px;}html>body #box{ width: auto; height: auto; min-width: 80px; min-height: 35px;}5.页面的最小宽度min -width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。
但IE不认得这个,而它实际上把width当做最小宽度来使。
为了让这一命令在IE上也能用,可以把一个<div> 放到<body> 标签下,然后为div指定一个类, 然后CSS这样设计:#container{ min-width: 600px; width:expression(document.body.clientWidth < 600? "600px": "auto" );} 第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。
它实际上通过Javascript的判断来实现最小宽度。
6.DIV浮动IE文本产生3象素的bug 左边对象浮动,右边采用外补丁的左边距来定位,右边对象内的文本会离左边有3px的间距. #box{ float:left; width:800px;} #left{ float:left; width:50%;} #right{ width:50%;} *html #left{ margin-right:-3px; //这句是关键} <div id="box"> <div id="left"></div> <div id="right"></div> </div>7.IE捉迷藏的问题当div应用复杂的时候每个栏中又有一些链接,DIV等这个时候容易发生捉迷藏的问题。
有些内容显示不出来,当鼠标选择这个区域是发现内容确实在页面。
解决办法:对#layout使用line-height属性或者给#layout 使用固定高和宽。
页面结构尽量简单。
8.float的div闭合;清除浮动;自适应高度;①例如:<#div id=”floatA”><#div id=”floatB”><#div id=”NOTfloatC”>这里的NOTfloatC 并不希望继续平移,而是希望往下排。
(其中floatA、floatB 的属性已经设置为float:left;) 这段代码在IE中毫无问题,问题出在FF。
原因是NOTfloatC并非float标签,必须将float 标签闭合。
在<#div class=”floatB”> <#div class=”NOTfloatC”>之间加上< #div class=”clear”>这个div一定要注意位置,而且必须与两个具有float属性的div同级,之间不能存在嵌套关系,否则会产生异常。
并且将clear这种样式定义为为如下即可:.clear{ clear:both;}②作为外部wrapper 的div 不要定死高度,为了让高度能自动适应,要在wrapper里面加上overflow:hidden; 当包含float的box的时候,高度自动适应在IE下无效,这时候应该触发IE的layout私有属性(万恶的IE啊!)用zoom:1;可以做到,这样就达到了兼容。
例如某一个wrapper如下定义:.colwrapper{ overflow:hidden; zoom:1; margin:5px auto;}③对于排版,我们用得最多的css描述可能就是float:left.有的时候我们需要在n栏的float div后面做一个统一的背景,譬如: <div id=”page”> <div id=”left”></div> <div id=”center”></div> <div id=”right”></div> </div> 比如我们要将page的背景设置成蓝色,以达到所有三栏的背景颜色是蓝色的目的,但是我们会发现随着left center right的向下拉长,而page居然保存高度不变,问题来了,原因在于page不是float属性,而我们的page由于要居中,不能设置成float,所以我们应该这样解决<div id=”page”> <div id=”bg”style=”float:left;width:100%”> <div id=”left”></div> <div id=”center”></div> <div id=”right”></div> </div> </div> 再嵌入一个float left而宽度是100%的DIV解决之④万能float 闭合(非常重要!) 关于clear float 的原理可参见[How To Clear Floats Without Structural Markup],将以下代码加入Global CSS 中,给需要闭合的div加上class="clearfix" 即可,屡试不爽. /* Clear Fix */ .clearfix:after { content:"."; display:block; height:0; clear:both; visibility:hidden; } .clearfix{ display:inline-block; } /* Hide from IE Mac */ .clearfix {display:block;} /* End hide from IE Mac */ /* end of clearfix */ 或者这样设置:.hackbox{ display:table; //将对象作为块元素级的表格显示}11.高度不适应高度不适应是当内层对象的高度发生变化时外层高度不能自动进行调节,特别是当内层对象使用margin 或padding 时。
例:#box {background-color:#eee; } #box p {margin-top: 20px;margin-bottom: 20px; text-align:center; } <div id="box"> <p>p对象中的内容</p> </div> 解决方法:在P对象上下各加2个空的div对象CSS 代码:.1{height:0px;overflow:hidden;}或者为DIV加上border属性。
12 .IE6下为什么图片下有空隙产生解决这个BUG的方法也有很多,可以是改变html的排版,或者设置img 为display:block 或者设置vertical-align 属性为vertical-align:top | bottom |middle |text-bottom 都可以解决.13.如何对齐文本与文本输入框加上vertical-align:middle; <style type="text/css"> <!-- input { width:200px; height:30px; border:1px solid red;vertical-align:middle; } --> </style>14.web标准中定义id与class有什么区别吗一.web标准中是不容许重复ID的,比如div id="aa" 不容许重复2次,而class 定义的是类,理论上可以无限重复, 这样需要多次引用的定义便可以使用他.二.属性的优先级问题ID 的优先级要高于class,看上面的例子三.方便JS等客户端脚本,如果在页面中要对某个对象进行脚本操作,那么可以给他定义一个ID,否则只能利用遍历页面元素加上指定特定属性来找到它,这是相对浪费时间资源,远远不如一个ID来得简单。