本文共 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的样式写在后面
/* 语义为在IE6时显示上述文字 */
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:有三个属性转载地址:http://fhlbi.baihongyu.com/