写好一个HTML都很难,论浏览器兼容问题
现在看来,百花齐放的浏览器给我们这些开发者带来不少的麻烦,就连一个简单到不行的主页HTML都让我费劲心思。
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都表示否定。
转载于:https://blog.51cto.com/6221123/1095100