别忘了文档类型声明

2024-01-12 16:32
文章标签 类型 文档 声明 别忘了

本文主要是介绍别忘了文档类型声明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以前在做网页的表格数据展示的时候,我曾经也想做一个固定Header,滚动内容的Table,但是用css的方法没有成功,而脚本的方法太麻烦,就没有用。前几天看到一个网页,也就是用固定Header滚动Body的Table,它是纯粹采用css实现的。难得的不是只用css实现了这种效果,而是它让多种浏览器能够兼容,它支持IE6/5.x、Opera7.x、Mozilla1.x、Konqueror 3.x等。他的地址是:http://www.imaputz.com/cssStuff/bigFourVersion.html
增强版本是:http://www.imaputz.com/cssStuff/bulletVersion.html

我打算按照他的方法在我现在的工作中应用。因为写的是ASP程序,所以用InterDev,先是创建了一个html文档,然后按照网页中的方法创建了table和css,但是发现它失败了,header照样滚动,我以为我的css漏掉了些东西,就把它全部copy到我的网页中,但是还是不成功。
执行原来的网页css能够让table成功滚动,而我的网页就是不行,检查了半天没有发现什么问题,后来突然看到源文件头有一行文档类型声明:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
我想我找到原因了,于是直接把这行DOCTYPE的声明复制到我的网页中,用IE6打开浏览,成功了。
这行文档类型声明要求浏览器将网页文档准循严格标准的XHTML1.0进行分析,我最初创建的网页没有文档类型声明,所以IE浏览器采用兼容模式分析文档,这时有些css定义是无效或者不完全的。兼容模式中position: relative这个css声明无效。使table header固定的css定义正是这个声明。
我尝试了HTML4.01过渡标准的文档声明:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
它也能够成功的运行,这是几乎是最宽松的标准html文档类型声明。Dreamweaver2004创建新网页默认就是按照这个标准定义来声明的。InterDev创建的新网页是没有文档类型声明的,在IE浏览器中,没有声明的则采用向下兼容的Quirk标准分析网页,我建议在创建网页的时候都加上一个HTML4.01过渡标准或者XHTML1.0过渡标准的文档类型声明,首先这使识别DOCTYPE声明的浏览器分析你的网页的时候,能够按照标准创建界面效果,而不是按照非标准的、兼容的方式来分析网页,而这也不会影响低版本的浏览器对网页的分析。其次如果你不是很熟悉严格的XHTML标准,网页中产生了某些非标准代码,浏览器将无法兼容(比如你无法使用<a>中的target属性)。

后来同事发现扩展版本如果没有声明也能够执行,那是因为这个版本它增加了一个IE5.x之后独有的css属性
top: expression(document.getElementById("tableContainer").scrollTop)
expression能够动态的返回css属性的值,所以IE6浏览器不按照标准模式分析网页也能够成功。

这篇关于别忘了文档类型声明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/598467

相关文章

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

C#高效实现Word文档内容查找与替换的6种方法

《C#高效实现Word文档内容查找与替换的6种方法》在日常文档处理工作中,尤其是面对大型Word文档时,手动查找、替换文本往往既耗时又容易出错,本文整理了C#查找与替换Word内容的6种方法,大家可以... 目录环境准备方法一:查找文本并替换为新文本方法二:使用正则表达式查找并替换文本方法三:将文本替换为图