当在编写网站或者系统时,假如需要兼容ie浏览器的话,无论是html、jsp...都必须要在页面开头部分声明DOCTYPE标签,否则会出现css样式不起作用、甚至会导致一部分javascript不能按照标准正常执行。
DOCTYPE:
HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。
HTML Strict DTD
如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML Transitional DTD
Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML 的呈现特性时,请使用此类型:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">
Frameset DTD
Frameset DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "
http://www.w3.org/TR/html4/frameset.dtd">
分享到:
相关推荐
例如,一个固定宽度的元素和一个宽度为100%的元素并排时,如果没有DOCTYPE声明,IE浏览器可能无法正确处理它们的相对位置。添加DOCTYPE声明可以修正这种行为,确保元素按照预期的方式显示。 总结来说,`margin: 0px...
总结来说,针对IE浏览器的CSS居中问题,我们可以采取以下策略: 1. 使用`body{text-align:center}`并保持`margin: 0 auto;`来居中元素。 2. 添加适当的`DOCTYPE`声明,使IE进入更接近标准的渲染模式。 3. 避免依赖...
标题提及的“IE浏览器和火狐浏览器兼容问题”主要集中在CSS样式方面,因为CSS在不同浏览器之间的解析方式有所差异,导致在Internet Explorer(IE)和Firefox中显示效果可能不一致。以下是一些关键的兼容性问题及解决...
3. **FF: body设置text-align时,div需要设置margin: auto**:若要使div在页面中水平居中,Firefox需要在body上设置`text-align: center`,然后在div上设置`margin: auto`,而IE则只须`margin: auto`。 4. **FF: ...
在本例中,问题出在L-Blog没有在HTML文件的开头添加适当的DOCTYPE,导致IE浏览器以怪异模式(Quirks Mode)解析页面,而不是标准模式。在怪异模式下,浏览器可能会按照早期的非标准方式渲染页面,从而影响某些CSS...
important`时,需要考虑到IE浏览器可能不会正确识别它。因此,建议使用类似`div { margin: 30px; margin: 28px; }`这样的写法,这样在IE中只识别第一个声明。 2. **IE5与IE6的BOX模型差异**: - 在IE5中,设置`div...
`在IE浏览器中不居中的问题,有时修改文档类型声明可以解决问题。具体操作是将DTD从XHTML的声明修改为HTML5的声明,即: ```html <!DOCTYPE html> ``` 不过,需要注意的是,并非所有情况下都需要修改DTD声明来解决...
IE浏览器在处理浮动元素(`float`)的`margin`时会出现问题,导致实际的`margin`值翻倍。解决办法是在浮动元素中添加`display: inline;`。 ```css .floating-div { float: left; margin: 5px; display: ...
解决方法是为非IE浏览器提供min-width和min-height,同时为IE提供正常宽度和高度,如`html>body #box {...}`。 5. **页面最小宽度**: `min-width`在IE中不受支持,可以使用JavaScript的`expression`来实现,如`...
- **IE vs Firefox**: 在Firefox中,可以通过设置`margin-left`和`margin-right`为`auto`实现元素居中,而IE浏览器则不支持这种方法。解决方法是在所有浏览器中使用`margin: auto`实现居中。 - **文本居中**: 设置`...
2. **margin加倍问题**:在IE浏览器中,尤其是IE6,当一个div设置为浮动(`float:left`)时,其margin会被加倍计算。解决方法是在该div中添加`display:inline`,使IE浏览器正确解析margin。 3. **浮动产生的双倍...
2. **居中对齐**:Firefox可以通过设置`margin-left`和`margin-right`为`auto`使元素水平居中,但IE可能需要额外的`text-align: center`属性应用到父元素。 3. **宽度和高度**:Firefox在应用`padding`后会自动调整...
最后,当左右两个浮动元素相邻时,IE浏览器可能会出现3像素的文本偏移问题。这可以通过为左侧浮动元素添加负的`margin-right`来修正,例如`*html #left{ margin-right:-3px;}`。这里的星号`*`是针对IE的特定 hack。 ...
为了让`min-width`属性在IE浏览器中生效,可以使用JavaScript表达式来实现: ```css #container { min-width: 600px; width: expression_r(document.body.clientWidth < 600 ? "600px" : "auto"); } ``` ##### 6...
2. 垂直居中可以通过设置`line-height`和`vertical-align: middle`实现,水平居中可以使用`margin: 0 auto;`。 3. 为使a标签内的内容应用样式,需要设置`display: block;`。 4. FF和IE对盒模型的理解不同,可能导致2...
- `"\9"`:仅适用于IE浏览器,可以用来指定特定于IE的样式规则。 ```css .myClass\9 { margin: 0 auto \9; } ``` - `"*"`:适用于IE6和IE7,不适用于IE8及以上版本。 ```css .myClass * { padding: 10px; } ...