div布局无效的解决方案

DIV CSS网页布局中CSS无效十个常见原因

我们从51cto.com中学习DIV CSS网页布局的知识,可是W3Cvalidation有时难以操作,但用它你可以查看由版面设计引起的差错。验证程序抛出大量差错和警告,说明你的XHTML尚未完善,可能无法在不同浏览器上保持一致功能。下面十个细微的失效问题难住了大批程序员,本文就告诉你如何解决。在本文开始前介绍一些使用W3C验证程序时需要注意的问题。

1、不要担心验证程序的警告:如果验证程序说发现12处错误以及83处警告,不要理它,继续进行下一步。

2、一次更正一个错误:按顺序进展工作,从上到下,一次修正一个错误。HTML用浏览器从上到下浏览,这些错误也是按同样顺序显示。
3、每次修正代码后要刷新代码,使它们重新生效:一个小错误常常会引发之后整页的连串错误。因此如果操作不当,“修正错误”也可能引发更多错误。每次修正后使代码重新生效,这样就可以确保完全解决问题。

知道了上面这些基本的异常情况,下面我们就来看看版面设计无效的几个原因。

一、div标签未关闭

这是版面设计失效的最常见原因之一。当我们了解到这是多少精致的版块设计失效的罪魁祸首时,总会大吃一惊。开启的div标签是最普遍的版块设计失误之一,也是最难诊断的失误之一。验证程序有时会指向错误的开启div标签,诊断时就像大海捞针一样麻烦。

二、麻烦的embed标签

九十年代早期,Microsoft和Netscape的浏览器开始能够辨认非标准的独有字体。遗憾的是这意味着W3C验证程序还不能识别某些关键HTML标签,如“embed”,即使这些标签已经被广泛使用。如果确实希望得到严格的DOCTYPE(文档类型)验证,就只能放弃嵌套。
如果同时想要生效的版面设计和嵌入式媒体,可以试试FlashSatay方法。

三、DIV CSS网页布局中不当的DOCTYPE声明

不声明DOCTYPE,或者在文件开始错误声明DOCTYPE,也是一个常见错误。根据一般经验,StrictDOCTYPE是大家追求的最高级验证。Strictvalidation表明你的网页能够在所有浏览器上都得到最佳展示。

四、结尾斜线

如果你的网站不能验证,很有可能是在代码的某个地方漏写了结尾斜线。我们很容易忽略结尾斜线之类的东西,特别是在image标签等元素中。
在严格的DOCTYPE中这是无效的。要在img标签结尾处加上“/”以解决此问题。

五、DIV CSS网页布局中Align标签

如果DOCTYPE被设为Transitional,你就会使用“align”标签,但如果要求更高一点希望得到Strict验证,你会看到很多错误。Align是另一个不可用于版面设计的标签。可以尝试用“float”或者“text-align”来代替align转换元素。

六、JavaScript

如果已经声明StrictDOCTYPE,就需要在JavaScript中覆盖CDATA标签。验证程序的这一方面难倒了很多程序员,因为网站倾向于为广告和追踪脚本使用嵌入的JavaScript。如果必须用到JavaScript,可以在其前后加上如下标签:

七、DIV CSS网页布局中图像需要“alt”属性

你可能还没有注意到,图像也是高级验证的潜在绊脚石。除了结尾斜线,高级验证也要求用alt标签来描述图像,如alt=”Scaryvampirepicture”。
搜索引擎也靠alt标签来识别网页上的图像,所以无论怎样加上alt标签总是好的。

八、未知实体数据

实体数据是又一个影响验证的易犯错误。我们可以考虑用适当的编码字符来代替“&”等符号。entirelist中列出在XHTML版块设计中可用的适当的编码字符实体数据。

九、DIV CSS网页布局中不良嵌套

嵌套就是元素里又包括元素,我们容易混淆嵌套元素的顺序。例如在div标签前启动strong标签,但又先关闭div标签。这可能不会改变版块布局,但却会使你的版块设计失效。

十、缺少“title”标签

尽管这看上去是一个很明显的错误,很多程序员(包括我自己)还是经常会在“head”版块中遗漏title标签。当你看到“missingarequiredsub-elementofHEAD”(缺少HEAD的必要子元素)时,才会发现自己忘记添加title标签了。

时间: 2024-11-06 03:44:31

div布局无效的解决方案的相关文章

IE6下select覆盖div z-index无效 解决方案

遇到了IE6 select遮挡div的bug,这个bug表现为页面有浮动元素(某个div元素)在select上面时,在IE6里面select总是显示在这个浮动元素上方,该元素z-index的值多大都没有作用. 解决的思路是:IE6中iframe可以覆盖select,而div可以覆盖iframe,所以解决办法就是使用iframe元素包裹或者覆盖select元素或浮动元素,或者在select元素或浮动元素添加一个Iframe作为子元素. 方法一:Iframe包裹select元素  使用iframe包

图片溢出div问题的最终解决方案

前两天编写了一个前端页面,在本机上显示一切正常.不过在不断的测试中,发现了一个严重的问题,如果图片过大,会撑破div溢出来.再由于页面是自适应页面,根据不同分辨率的显示器会做出相应的div宽度调整,所以图片即使不大,但是因分辨率不同也会出现溢出的情况. 这里探讨总结一下解决方法. 首先我们先来做个简单的css布局: <html><head> <meta charset="utf-8" /> <title>div图片溢出的解决方案</

对于页面动态加载的元素事件无效的解决方案

当用ajax动态获取的数据放在新建的div中进行展示时,当你提前写一些 mouseover,click 操作时会发现不起作用 解决方法: 把事件绑定到它的父元素上面 例如,每次读到数据会将它放在新建的 class = data的div中显示,并且用append方法把他添加在 id= parent 的div中.这个时候假如对data这个块有点击事件,平常可能会写 $('.data').click(function(){...}); 当点击这个div时,不会有反应.这时候可以再一开始将事件绑定到父元

Android查缺补漏(View篇)--自定义 View 中 wrap_content 无效的解决方案

自定义 View 中 wrap_content 无效的解决方案 做过自定义 View 的童鞋都会发现,直接继承 View 的自定义控件需要重写 onMeasure() 方法,并设置 wrap_content 时的自身大小,否在在布局文件中对自定义控件在设置大小时,wrap_content 将等同于 match_parent. 其实在 Android 中自带的控件中,也都对 onMeasure() 方法进行了重写,对于 wrap_content 等情况做了特殊处理,在 wrap_content 时

关于css+div布局的疑问 2017-03-19

第一次布局一个静态网页,发现许多细节都需要自己探索,出现诸如以下问题: 1.布局问题:经常出现一个div被挤出来?做到一半少一个div布局? 布局之前,要点打好框架,明确每个地方的高宽是多少,争取精确到每一像素(是否含有边框像素):但是,在纸上花的草图再好再精确,也需要实际操练. 2.定位问题:明明都定位了,为什么还出现div布局混乱的现象? (未解)为什么可以通过设置margin-left/right的值为负数可以解决,但是在其他浏览器显示效果仍错误? 3.div中图片的定位,为什么按照理论设

table布局与div布局

DIV与TABLE本身并不存在什么优缺点,所谓web标准只是推荐的是正确的使用标签,好比说:DIV用于布局,而TABLE则本来就是转二维数据的.让TABLE做该做的事,并不是说页面里不出现TABLE就是多么多么牛. DIV是标准,是大势所趋,但并不意味着所有的页面都适合用它来做. 中国的门户和国外的有很大的区别,中国网民并不喜欢信息量少的页面,YAHOO到了中国页面上的内容就多了不少,而上次改为简洁的页面后访问量下降的厉害以至于没过几天就又改了回来.正式由于中国的国情造就了搜狐.新浪这样门户.

6.4 DIV布局制作淘宝首页

为了加深对DIV层布局的理解,下面就来体验一把什么是DIV层布局. 使用Dreamweaver来绘制如图1所示的层布局页面,具体操作岁骤如下: 图1 DIV层布局页面 (1) 打开Dreamweaver,新建一个空白文档. (2) 在插入栏的“布局”类别中单击“绘制层”按钮. (3) 在“文档”窗口的“设计”视图中,执行下列操作之一: ●  按下鼠标左键拖动以绘制一个层. ●  通过按住Ctrl键并按下鼠标左键进行拖动来连续绘制多个层(只要不松开Ctrl键,就可以继续绘制新的层). (4) 绘制

HTML学习笔记 div布局及table布局案例 第三节 (原创)参考使用表

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>table布局</title> </head> <body marginheight="0px" marginwidth="0px"> <table width="100%&qu

关于div布局的一点心得

如果是嵌套的div布局,外面的div 比如是<div  class="container"></div>这时候设置的是一个大的外框架,居中显示.我们要在里面嵌套div来 显示内容,这时候就通过<div style="display:block;position:relative"></div>来使得div标签的位置是相对于外面最靠近它的父级标签也就是<div  class="container"