浏览器兼容性

问题产生原因

市场竞争
标准版本的变化

厂商前缀

  • 市场竞争,标准没有正式发布
  • 标准仍在讨论,厂商希望先支持

比如 box-sizing. 谷歌旧版浏览器中使用-webkit-box-sizing:border-box

IE : -ms-
Chrome Safari: -webkit-
opera:-o-
firefox: -moz-

浏览器在处理样式或元素时,使用如下方式:
当遇到无法识别的代码,直接略过.

实际上,开发中使用自定义滚动条,往往使用div+css+js实现

css hack

根据不同浏览器(主要针对ie),设置不同样式和元素

  1. 样式

ie中,css的特殊符号:

  • *属性,兼容IE5 IE6 IE7
  • _属性,兼容IE5~IE6
  • 属性值\9,兼容IE5~IE11
  • 属性值\0 兼容IE8~IE11
  • 属性值\9\0,兼容IE9~IE10

IE5~7的外边距bug,浮动元素的左外边距翻倍

  1. 条件判断

渐进增强 和 优雅降级

两种解决兼容性问题的思路,会影响代码的书写风格

  • 渐进增强:先适应大部分浏览器,然后针对新版本浏览器加入新的样式
    书写代码时,先尽量避免书写兼容性问题的代码,完成之后,再逐步加入新标准中的代码

  • 优雅降级: 先制作完整的功能,然后针对低版本浏览器进行特殊处理

书写代码时,先不用特别在意兼容性,完成整个功能之后,再针对低版本浏览器处理样式

caniuse

查找css兼容性

caniuse.com

HTML css——浏览器兼容性相关推荐

  1. CSS浏览器兼容性问题详解总结

    CSS浏览器兼容性问题详解总结 2009-11-12 11:39 对css缩写的支持问题: 不论是ie 还是ff对css的缩写都有一小点问题 比如 border: 0xp solid #fff;两个浏 ...

  2. CSS浏览器兼容性问题

    CSS浏览器兼容性问题 1.浏览器CSS样式初始化 最简单的初始化方法就是:使用通配符(*),重置所有的初始样式. *{margin: 0;padding: 0; } /* 10px=1rem */ ...

  3. CSS浏览器兼容性与解决方法

    一.什么是浏览器兼容性问题? 所谓的浏览器兼容性问题,是指不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况:而造成浏览器兼容问题的根本原因,是浏览器的内核不同导致的. 认识浏览器内核 ...

  4. CSS浏览器兼容性的4个解决方案:浏览器CSS样式初始化、浏览器私有属性,CSS hack语法和自动化插件...

    前端是一个苦逼的职业,不仅因为技术更新快,而且要会的东西实在太多了(如果全写出来,那真是一箩筐),更让人头疼的是,还要面临各种适配.兼容性问题. 一直以来都是头痛医头脚痛医脚,没有进行系统的梳理,整个 ...

  5. 浏览器与css的兼容,CSS浏览器兼容性与解决

    一.超链接访问后hover样式不出现 1.现象描述: 同时设置了a:visited和a:hover样式,但一旦超链接点击过后,hover的样式就不再出现了. 2.解决方法: 调整样式顺序为先a:vis ...

  6. html网页自动兼容模式,解决CSS浏览器兼容性问题的4种方案

    前端是一个苦逼的职业,不仅因为技术更新快,而且要会的东西实在太多了,更让人头疼的是,还要面临各种适配.兼容性问题. 为什么会有浏览器兼容性问题? 还不是因为浏览器厂商太多了! Chrome,Frire ...

  7. css浏览器兼容性的问题

    1, FF下给 div 设置 padding 后会导致 width 和 height 增加, 但IE不会.(可用!important解决) 2, 居中问题. 1).垂直居中.将 line-height ...

  8. Css 浏览器兼容性及其其他常见问题

    2019独角兽企业重金招聘Python工程师标准>>> CSS IE10~11 透明滚动条 透明滚动条不占空间,显示时会覆盖内容 //--如下样式使滚动条变为普通样式 body {/ ...

  9. CSS浏览器兼容性----Hack

    CSS Hack大致有3种表现形式,CSS类内部Hack.选择器Hack以及HTML头部引用(if IE)Hack,CSS Hack主要针对IE浏览器. 类内部Hack:比如 IE6能识别下划线&qu ...

最新文章

  1. 缺少nst linux.mbr文件,用EasyBCD2.0在Windows环境下引导Linux启动
  2. TypeScript学习笔记(七) - 命名空间
  3. Android自定义控制(五)仿新浪微博的下拉刷新
  4. linux mkfs.ext3 参数,linux命令mkfs.ext3用法[阮胜昌]
  5. js如何往div里写div
  6. html5 canvas 笔记五(合成与裁剪)
  7. VB.NET工作笔记007---ASP.NET中Session超时一直不起作用
  8. 使用多线程提高Rest服务性能
  9. Ubuntu下搭建C/C++开发环境
  10. 网页中返回顶部代码及注释说明
  11. 如何用PADS打开AD的PCB文件?
  12. R在市场调查中的应用--探索性因子分析(EFA)
  13. 松翰单片机--SN8F5702学习笔记(一)uart寄存器
  14. 什么是cc攻击以及个人网站遭到cc攻击的解决方法
  15. 求一个n*n矩阵对角线元素之和C语言,求一个n*n矩阵主对角线之和,次对角线元素之和.用指针完成...
  16. android os仿ios,安卓仿ios12桌面全套仿安卓完美版
  17. 串扰——Crosstalk
  18. 什么是token?Android中token的使用讲解
  19. The Mana World 有感
  20. 下拉 html 实现原理,百度搜索下拉框实现技术原理分析

热门文章

  1. 印度 TWS 耳机市场增长迅猛,支持Find My功能耳机将成为香饽饽
  2. 汽车研发生产中的三大样车:A样、B样和C样
  3. java hprof文件_hprof是什么文件
  4. Android全屏中adjustResize的失效的解决方案 AndroidBug5497Workaround
  5. CSDN编辑器格式调整 --- 个人笔记
  6. OpenCV—Python视频的读取及保存
  7. Visual Studio Code中对某变量名批量修改
  8. python十进制小数转二进制_在python中如何将十进制小数转换成二进制
  9. 不良的生活习惯对身体健康的影响
  10. 【企业管理资料】公司委托代理人委托书模板和所需资料模板合集(27份)