- 浏览: 1465618 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
luhouxiang:
写的很不错,学习了
Extjs 模块化动态加载js实践 -
kingkongtown:
如果想改成淘宝后台那样,可以在编辑器批量上传图片呢?
kissy editor 阶段体会 -
317966578:
兄弟我最近也在整jquery和caja 开放一些接口。在git ...
caja 原理 : 前端 -
liuweihug:
Javascript引擎单线程机制及setTimeout执行原 ...
setTimeout ,xhr,event 线程问题 -
辽主临轩:
怎么能让浏览器不进入 文档模式的quirks模式,进入标准的
浏览器模式与文本模式
常见的
html, body {
height: 100%;
}
解释
这是为了兼容各个浏览器。
IE 处于混杂模式时,body以窗口为高度参照,body设置为100%就可以使得页面和窗口一样高,body里面的嵌套div也可以扩展到窗口高度,这样的话可以使布局适应浏览器窗口大小。
窗体 》body》div (html ,body {overflow:scroll} 一层滚动条)
但是当处于标准模式时,body以html标签为高度参照,html标签才以窗口为参照,所以仅仅body 100%,并不能使它的子div100% 占据整个屏幕,还要使得 html 100%使得 html获得窗口大小才行。才有了上述代码。
窗体》html》body》div
(html ,body {overflow:scroll} 两层滚动条 ,html的滚动条从来不会用到)
使用后问题:
(090624 From http://log.7thpark.com/article/W3C-and-Front-End-Development/html-body-style-height-100percent.html)
1.清楚浮动失效,一般在遇到这种代码时候 <div id="main"><div id="sidebar">side</div> <div id="content">content</div></div> 控制sidebar浮左,content浮右以后,需要清楚一下浮动,有很多种方法,例如在main最后插入一个clear:both的div或用纯css方法,但是当设置了html,body{height:100%}的时候会发现失效了;
2.仍然会出现处置滚动条,这是因为某些元素设置的margin及padding混乱造成的,所以当一个页面可能超过一屏的时候最好不要用这个属性
|
当body中子100%div的内容过多时,兼容标准的浏览器会 出现 : 内容透了出来覆盖该div后面内容上面,body上面出现滚动条。
而ie6 则会自动扩展100%div的高度到适应高度大小。
要解决这个问题:则要利用 兼容标准浏览器的 Min-height css 属性了。
示例代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <style type="text/css"> *{margin:0;padding:0;} html,body {height:100%;} #wrapper{height:100%;background:#369;} body>#wrapper{height:auto;min-height:100%;} /*设定最小高度*/ </style> </head> <body> <div id="wrapper"> <h1><a href="#">很长</a></h1> <p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p> <p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p> <p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p> <p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p> </div> <div> 我是尾巴 </div> </body> </html>
应用2:position : fixed 的 IE6 (标准模式下) 实现、
由于 css , position:fixed 这个特性 IE6 不支持,而我们 需要某个东西定位到窗口某个位置,而它不随浏览器滚动条的拖动而影响。
现在存在两个方法:
1. javascript
监控 window 的 scroll 事件 ,将定位为 absolute 的 top 动态改变为 : document.documentElement.scrollTop + x
以及和此方法类似的 css expression 方法。(这时,效率很成问题,注意:expression每次界面渲染都会执行的 )
缺点:定位元素拖动时会有闪动的效果
优点:不改动现有css布局
2.css 方法 (其他浏览器这样用也能达到同样效果)
主要就是利用 absolute 定位 以 html 为 准 ,body属于 html的子容器,我们需要滚动条出现在 body 上,而不是html上,这样才能 以html绝对定位 到某一位置,拖动 body的滚动条时不会影响 以html定位的元素。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <style type="text/css"> *{margin:0;padding:0;} html,body {height:100%;overflow:hidden;} body {overflow:auto;}; </style> </head> <body> <div id="wrapper"> <h1><a href="#">很长</a></h1> <p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p> <p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p> <p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p> <p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p><p>很长</p> </div> <div style="position:absolute;bottom:0;border:2px green solid;"> 我是尾巴 </div> </body> </html>
优点:拖动滚动条是不会有闪动
缺点:以后所有以html绝对定位的元素都变成fixed 效果了。
发表评论
-
cubic-bezier 模拟实现
2013-01-05 16:34 14110cubic-bezier 曲线是 css3 动画的一个重要基石 ... -
css reset revisit
2012-07-25 00:32 4260正如 javascript 兼容库的作用, css r ... -
兼容 ie 的 transform
2012-02-23 14:00 6443css 2d transform 是 css3 引入的一个新的 ... -
write html parser
2011-12-01 02:48 2925首先需要声明 html 不能用正则表达式来直接匹配进行内容抽取 ... -
转载:瀑布流布局浅析
2011-09-29 19:02 2853简介 如果你经 ... -
fixed 定位 auto 问题
2010-12-02 11:58 2113当一个元素被 fixed 定位 ... -
css的优先级与继承
2010-11-08 12:30 3718起因: 很早就听 ... -
浏览器渲染
2010-10-12 21:07 0http://snook.ca/archives/html_a ... -
背景图样式回顾
2010-09-30 13:51 1796正式点叫 background-image recap ,最近 ... -
mhtml datauri 与 css expression
2010-09-29 18:17 2399mhtml ,datauri ,css expressio ... -
margin合并整理
2010-06-23 11:25 4201多个段落为了美观,浏览器会将它们的垂直距离变得统一,这是一种很 ... -
编写跨浏览器兼容的 CSS 代码的金科玉律
2010-06-09 13:26 0作为 Web 设计师,你的 ... -
图片优化 and dataURI and mhtml for ie<8
2010-04-28 10:00 0http://www.phpied.com/data-uris ... -
W3C XML Schema 与文档类型定义 (DTD) 比较
2010-02-01 23:50 0http://www.ibm.com/developerwor ... -
xtml与html
2010-02-01 23:26 0HTML与XHTML 二者有什么区别,你觉得 ... -
获取css属性计算值问题
2010-01-29 23:11 3809都知道标准浏览器可以用 getComputedStyle 以及 ... -
垂直居中问题解释整理
2009-12-06 01:19 2299垂直居中曾经很热的话题,也转过网络一些好的解决方案: ... -
有趣的z-index
2009-12-01 00:25 2851实践 : 注:firefox 示例1 ... -
css列布局整理
2009-11-27 01:14 1704对一些经典的布局进行整理,以及修改去除不必要的hack,兼容 ... -
ebay ppt.rar
2009-11-18 15:23 0ebay ppt.rar
相关推荐
这个库允许开发者以简洁、高效的方式解析、修改和操作HTML内容。本文将深入探讨HtmlAgilityPack的基本概念、主要功能以及如何在C#项目中使用它。 **HtmlAgilityPack简介** HtmlAgilityPack是由Liam Westley开发的一...
一旦获取到HTML文本,解析标题和正文body通常涉及DOM操作。可以使用`DOMParser`对象的`parseFromString()`方法将HTML字符串转换为DOM文档,然后通过`querySelector()`或`getElementsByTagName()`等方法选择`<title>`...
- **DOMDocument**: 内置的PHP类,提供解析HTML和XML的功能,可以解析HTML字符串并转换为DOM对象,然后进行修改、提取数据等操作。 - **DOMXpath**: 与DOMDocument一起使用,用于查找DOM树中的特定元素,支持通过...
它由一系列元素组成,这些元素以开始标签和结束标签的形式出现,如`<html>`、`<head>`、`<body>`等。在"HTML解析"这个主题中,我们将深入探讨如何理解和处理这些元素。 在描述中提到的“Thtml.rar”是一个压缩包,...
在iOS开发中,解析HTML文件是一项常见的任务,特别是在处理网页数据或者从网页抓取信息时。本篇文章将深入探讨如何在iOS应用中解析HTML,...记得在实际应用中,根据HTML结构和业务需求调整解析策略,以达到最佳效果。
HTML文档解析器,如其名,是用于处理和解析HTML(超文本标记语言)文档的工具。在前端开发中,理解和掌握HTMLParser的...通过学习和实践,我们可以更好地应对HTML解析带来的挑战,从而创造出更加高效、易用的网页应用。
HTML解析不仅用于抓取网页信息,还广泛应用于自动化测试、数据挖掘和爬虫项目。通过分析DOM(Document Object Model)结构,我们可以模拟用户交互,点击按钮、填写表单等。 此外,理解HTML与CSS和JavaScript的关系...
另外,解析HTML也用于浏览器呈现网页,以及Web应用程序中操作和修改页面内容。 **文件解析与分析** 在提供的文件列表中,`HtmlHelper.cpp`和`HtmlAnalyzer.cpp`可能包含了实现HTML解析功能的代码。`HtmlHelper.h`和...
HTML解析应用场景 - **网络爬虫**:用于自动化抓取网页数据,如新闻、商品信息等。 - **数据清洗**:从杂乱无章的HTML代码中提取干净的数据,方便后续处理。 - **网页重构**:基于原有HTML结构进行修改或添加新功能...
在Java编程领域,解析...为了具体实践以上步骤,你需要解压这个文件,读取HTML内容,然后应用上述代码来解析和提取所需信息。如果你的"WeatherReport"是一个网页抓取或数据提取项目的一部分,那么这些方法将非常有用。
HTML解析源码是编程领域中一个关键的主题,特别是在构建网页爬虫、网页解析器或处理HTML内容的应用程序时。HTML(HyperText Markup Language)是一种标记语言,用于创建和设计网页,而HTML解析则是将HTML文本转换成...
`body-parser`提供了多种解析方法,如`json()`, `raw()`, `text()` 和 `urlencoded()`,分别对应不同格式的数据解析。 1. **bodyParser.json(options)** 这个中间件用于解析JSON格式的请求体。默认情况下,它仅...
本文将深入探讨Java库Jsoup及其在HTML解析中的应用。 Jsoup是Java的一个开源库,专为解析、操作和提取HTML内容而设计。它提供了强大的功能,使开发者能够轻松地处理HTML文档,如同操作DOM(文档对象模型)一样。...
在Swift编程语言中,处理XML和HTML数据是常见的任务,特别是在构建网络应用或者解析服务器返回的数据时。"Ji (戟)" 是一个专为Swift设计的开源XML/HTML解析器,它提供了高效且灵活的方式来解析这两种标记语言。下面...
本案例"HTML_案例解析"着重于通过实际的项目——高等院校档案管理系统,帮助学习者深入理解和应用HTML。 在"HTML_案例解析"中,我们将会探索以下HTML的关键知识点: 1. **基本结构**:HTML文档通常以`<!DOCTYPE ...
它的主要元素包括标签,如`<html>`、`<head>`、`<body>`、`<p>`、`<a>`等,这些标签定义了网页的内容和样式。解析HTML的过程就是将这些标签和内容转换为可读或可操作的数据结构。 HTML解析器的作用是读取HTML文档,...
Jsoup是一款非常强大的Java库,专门用于处理HTML和XML文档,提供了一系列简洁的API来抓取、解析、修改以及格式化这些文档。在现代Web开发中,数据抓取和网页解析是常见需求,Jsoup凭借其高效且易用的特性,成为...
总的来说,HtmlAgilityPack是C#开发人员解析和操作HTML的强大工具,无论是在爬虫项目中提取网页数据,还是在Web应用中处理用户输入的HTML,都能发挥重要作用。通过熟练掌握HtmlAgilityPack,开发者可以更高效、更...
HTML解析是Web开发中的一个重要环节,它涉及到从HTML文档中...通过理解其工作原理和应用,开发者可以有效地进行网页数据抓取任务。不过,针对复杂的网页结构和需求,可能需要结合其他工具和策略以提高效率和准确性。
在`<html>`内部,有`<head>`和`<body>`两个主要部分,`<head>`存放元数据(如标题、字符集等),`<body>`则包含实际的页面内容。 2. **元素与属性**:HTML元素如`<h1>`至`<h6>`表示标题,`<p>`表示段落,`<a>`创建...