博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浏览器常用兼容性调试技巧
阅读量:4029 次
发布时间:2019-05-24

本文共 1894 字,大约阅读时间需要 6 分钟。

1、实现所有浏览器主页居中:

FireFox : .box{ margin:0px auto;}

IE5.5 : .body{ text-align:center;}

将以上代码合并

2、单行文本上下居中(垂直对齐)

.h1{
height:30px; line-height:30px;}

IE6下,左右maigin会加倍

使用 display:inline; //将块元素转化成行内元素

排版时,能用padding解决的问题最好不使用margin,若使用margin,只使用其中一边

3、CSS HACK

针对不同浏览器,书写不同的CSS代码的过程,成为“CSS HACK”

针对不同浏览器,有如下符号:
在CSS属性前面加,用于分辨不同的浏览器版本

"*"IE6和cIE7 识别,如:.box{ *background-color:red;}

"_"IE6识别 如:.box{ _baskground-color:red}

注意:CSSHACK不是W3C标准,尽量少用。

4、什么是CSS hack?在 CSS 和 HTML里如何写 hack?在 CSS 中 ie6、ie7的 hack 方式?

CSS hack
简单的说,CSS hack的目的就是使你的CSS代码兼容不同的浏览器。也可以反过来利用CSS hack为不同版本的浏览器定制编写不同的CSS效果。
因为不同厂商的浏览器、以及相同浏览器的不同版本,对于css的解析都有所不同,导致页面的解析渲染效果也会出现差别。 这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。

正常的样式放前面,针对hack的样式写在后面

  • CSS hack方式一:条件注释法
/* 语义为在IE6时显示上述文字 */
  • CSS hack方式二:类内属性前缀法
  • CSS hack方式三:选择器前缀法
  • CSS3选择器结合JavaScript的Hack

5、列举几种 浏览器兼容问题

inline-block IE 8以下不支持
需要添加

*zoom:1;display:inline;

兼容问题出现的情况有很多,我们平时是可通过查询 网站查询兼容情况,然后在去找处理的相关代码以及方法。例如CC或者是browser去解决

5、针对兼容、多浏览器覆盖有什么看法?渐进增强和优雅降级是什么意思?

根据实际的情况去做浏览器的兼容与覆盖。例如相关浏览器的占比,目标用户使用浏览器的情况等等去做权衡。将开发成本和实际效果做大最大化。

  • 优雅降级:

    是指先在最新版本的浏览器中进行开发,然后再针对低版本浏览器进行兼容,不追求与高版本一致,减少用户体验的供给,只保证最基本的功能。由复杂到基础的化简。

  • 渐进增强:

    针对低版本浏览器进行构建页面,保证最基本的功能,然后在针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。由基础到复杂的过程。

6、reset.css和normalize.css分别是做什么的?为什么推荐使用 nomalize.css?

reset.css 是对于标签元素样式的重置,消除他们自带的标准样式,避免给整个页面带来影响
normalize.css 则是传统reset的替换方案,他优化了原来的清楚默认样式的方式。
保护有用的浏览器默认样式而不是完全去掉它们
修复了浏览器的bug并保证各浏览器的一致性
有目的地对目标元素设置样式,不会让你的调试工具变的杂乱。而Reset在浏览器调试工具中存在着大量的继承链。
Normalize.css 是模块化的,可以选择性的移除属性
拥有详细的文档

7、IE盒模型和标准盒模型有什么区别? 怎样使 IE678使用标准盒模型?box-sizing:border-box有什么作用

盒模型由content,padding,border,margin四个部分组成;
IE盒模型: width值为content+padding+border
标准盒模型: width值为content
对于IE6、7、8,如需使用标准盒模型可以通过在HTML中设置声明Doctype即可

box-sizing:border-box;是css3新增属标签

box-sizing:有三个属性

  • border-box;设定的元素宽高包括border,padding,content(IE盒模型)
  • content-box;设定的元素宽高即是内容的宽高;(标准盒模型)
  • inherit 规定应从父元素继承 box-sizing 属性的值;

转载地址:http://fhlbi.baihongyu.com/

你可能感兴趣的文章
ubuntu下SVN服务器安装配置
查看>>
MPMoviePlayerViewController和MPMoviePlayerController的使用
查看>>
CocoaPods实践之制作篇
查看>>
[Mac]Mac 操作系统 常见技巧
查看>>
苹果Swift编程语言入门教程【中文版】
查看>>
捕鱼忍者(ninja fishing)之游戏指南+游戏攻略+游戏体验
查看>>
iphone开发基础之objective-c学习
查看>>
iphone开发之SDK研究(待续)
查看>>
计算机网络复习要点
查看>>
Variable property attributes or Modifiers in iOS
查看>>
NSNotificationCenter 用法总结
查看>>
C primer plus 基础总结(一)
查看>>
剑指offer算法题分析与整理(一)
查看>>
剑指offer算法题分析与整理(三)
查看>>
部分笔试算法题整理
查看>>
Ubuntu 13.10使用fcitx输入法
查看>>
pidgin-lwqq 安装
查看>>
mint/ubuntu安装搜狗输入法
查看>>
C++动态申请数组和参数传递问题
查看>>
opencv学习——在MFC中读取和显示图像
查看>>