写好一个HTML都很难,论浏览器兼容问题
2012-12-20 13:53
330 查看
现在看来,百花齐放的浏览器给我们这些开发者带来不少的麻烦,就连一个简单到不行的主页HTML都让我费劲心思。
IE这朵奇葩让人又爱又恨,有的时候很友好,有时候很不合理。
1. div 的居中实现问题:
2. Height autoSize 问题:
对高度的解析
IE:将根据内容的高度变化,包括未定义高度的图片内容,即使定义了高度,当内容超过高度时,将使用实际高度
Firefox:没有定义高度时,如果内容中包括了图片内容,MF的高度解析是根据印刷标准,这样就会造成和实际内容高度不符合的情况;当定义了高度,但是内容超过高度时,内容会超出定义的高度,但是区域使用的样式不会变化,造成样式错位。
结论:大家在可以确定内容高度的情况下最好定义高度,如果真的没有办法定义高度,最好不用使用边框样式,否则样式肯定会出现混乱!
3. setHomepage 设置主页 IE很简单Firefox很叼嗨
可以得知,浏览器对于修改主页这种事情还是很谨慎的
4. Hidden 在IE中无效
当你需要一个div,然后把它隐藏,这个idea很好,但是IE不support,我的天哪!!
把这个塞到某个div里面咯!!
5. 负数之美,如果你想让Margin-left:-10px;生效,不好意思溢出的东西,IE都表示否定。
IE这朵奇葩让人又爱又恨,有的时候很友好,有时候很不合理。
1. div 的居中实现问题:
body{ margin:0 auto; text-align:center; // IE 需要加这个 }
2. Height autoSize 问题:
对高度的解析
IE:将根据内容的高度变化,包括未定义高度的图片内容,即使定义了高度,当内容超过高度时,将使用实际高度
Firefox:没有定义高度时,如果内容中包括了图片内容,MF的高度解析是根据印刷标准,这样就会造成和实际内容高度不符合的情况;当定义了高度,但是内容超过高度时,内容会超出定义的高度,但是区域使用的样式不会变化,造成样式错位。
结论:大家在可以确定内容高度的情况下最好定义高度,如果真的没有办法定义高度,最好不用使用边框样式,否则样式肯定会出现混乱!
3. setHomepage 设置主页 IE很简单Firefox很叼嗨
可以得知,浏览器对于修改主页这种事情还是很谨慎的
function setHomepage(){ // 设置首页 if (document.all) { document.body.style.behavior = 'url(#default#homepage)'; document.body.setHomePage(window.location.href); } else if (window.sidebar) { if(window.netscape) { try { netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); } catch (e) { alert('此操作被浏览器拒绝!\n请在浏览器地址栏输入“about:config”并回车\n然后将 [signed.applets.codebase_principal_support]的值设置为’true’,双击即可。'); } var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch); prefs.setCharPref('browser.startup.homepage', window.location.href); } } } function addFav(){ // 加入收藏夹 if (document.all) { window.external.addFavorite(window.location.href, document.title); } else if (window.sidebar) { window.sidebar.addPanel(document.title, window.location.href, ""); } }
4. Hidden 在IE中无效
当你需要一个div,然后把它隐藏,这个idea很好,但是IE不support,我的天哪!!
把这个塞到某个div里面咯!!
<h1 style="visibility: hidden; display:inline;" height="0" hidden="true">罗定剪刀</h1>
5. 负数之美,如果你想让Margin-left:-10px;生效,不好意思溢出的东西,IE都表示否定。
相关文章推荐
- 解决浏览器兼容问题的一个CSS
- html网页兼容手机浏览器(解决显示页面很小的问题)
- jQuery中html()方法浏览器兼容问题
- 浏览器的兼容性问题实质是CSS的兼容性问题,不是Html的兼容问题
- html网页兼容手机浏览器(解决显示页面很小的问题)
- 解决在用HTML+DIV+CSS编写网页时,各个浏览器的兼容问题
- 关于浏览器兼容的问题以及字符串编码的一个坑,鼠标滚动事件mousewheel和DOMMouseScroll
- 两台相同电脑的版本号相同的IE8浏览器的不兼容问题,一个正常,一个div横向拉长(已经解决)
- 黑马程序员之HTML学习笔记:有关css和js针对不同浏览器兼容的问题
- html\css\js-dom在不同主流浏览器的兼容问题
- html浏览器兼容问题
- html5有哪些新特性?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?
- 一个浏览器的兼容问题
- html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和HTML5?
- 一个不错的html视频播放器兼容主流浏览器
- 网页制作之html基础学习6-CSS浏览器兼容问题
- 手写一个关于title属性自定义提示框解决浏览器(IE)不兼容问题
- 最全的CSS浏览器兼容问题http://www.68design.net/Web-Guide/HTMLCSS/37154-1.html
- 一个能够兼容IE6,IE8,IE9,IE10,IE11,谷歌,火狐,360等常见的10个浏览器的HTML头部信息配置代码
- 前端学习(2):为document的click事件指定一个事件句柄函数(考虑跨浏览器兼容问题)