博学谷前端 css兼容性简单总结
1. CSS兼容性
在网络中浏览器众多,因为不同浏览器使用内核及对W3C标准的支持不一样,各个浏览器对于页面的解释呈视也不尽相同。以及用户客户端的环境不同(如分辨率不同)造成的显示效果不能达到理想效果。最常见的问题就是网页元素位置混乱,错位。目前暂没有统一的能解决这样的工具.
最普遍的解决办法就是不断的在各浏览器间调试网页显示效果,通过对CSS样式控制以及通过脚本判断并赋予不同浏览器的解析标准。
总结: 所以为css兼容性,就是针对于不同浏览器我们书写不同的样式,从而达到统一的样式效果。
其实,css兼容性,主要针对于ie的旧版浏览器, 因为其他浏览器比较符合w3c规范。
2.1 属性hack
2.2 选择器hack
(1)IE6(含)以下的版本识别语法:* html 选择器 {...}例如:html .content { width:300px; height:300px; border:1px dashed #0066FF;
}
(2)只有IE7识别语法:*+html 选择器 {....}例如:*+html .content { width:300px; height:300px; border:1px dashed #0066FF;}
(3)媒体查询的写法
@media screen\9{body { background: red; }} 只对IE6/7生效
@media \0screen {body { background: red; }} 只对IE8生效
@media \0screen\,screen\9{body { background: blue; }} 只对IE6/7/8有效
@media screen\0 {body { background: green; }} 只对IE8/9/10有效
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {body { background: orange; }} 只对IE10有效
2.3 条件注释语法
注意: 在ie10.ie11 已经不支持 if ie 这些语句了,其实ie10以上基本已经和ff,chrome差不多了,因此不需要单独指定兼容性了。
(1)只有IE浏览器中可见<!--[if IE]>
<p>你在非IE中将看不到我的身影</p>
<![endif]-->
(2)判断等于某个IE浏览器版本的语法语法:<!--[if IE 7]>只能被 IE7 识别;<![endif]-->
例如:<!--[if ie 7]><link rel="stylesheet" type="text/css" href="css/c.css"><![endif]-->
(3)判断IE浏览器的范围:gte,gt,lte,ltgte 表示高于或等于某个IE浏览的版本
gt 表示高于某个IE浏览器的版本
lte 表示低于或等于某个IE浏览器的版本
lt 表示低于某个IE浏览器的版本
语法:<!--[if gte ie 版本号]>要判断的内容<![endif]-->
例如:<!--[if gte ie 5]><link rel="stylesheet" type="text/css" href="css/c.css">
<![endif]-->
(4) 判断非IE浏览器语法:<!--[if ! ie]><!-->要判断的内容<!--<![endif]-->
例如:<!--[if ! ie]><!--><link rel="stylesheet" type="text/css" href="css/c.css"><!--<![endif]-->
2.4 检测是否了解兼容性
(1)以下代码兼容 ie6.7.8.谷歌浏览器各自显示的颜色
#tip {background:blue;background:red \9;*background:black;_background:orange;}
答案:
background:blue; chrome 背景变蓝色background:red \9; IE8 背景变红色*background:black; IE7 背景变黑色_background:orange; IE6 背景变橘色
2.5 总结兼容性
其实,最好的兼容性还是要写符合标准的代码, 注意前面讲过的特殊属性,比如外边距合并,浮动脱标等等。
非要使用css hack的话,要注意顺序千万不要乱,因为当出现重复定义时,浏览器默认按最后一下渲染,所以一定要先正常,再*,最后_。 (先大后小或者 先全局后局部)
学IT,上博学谷
感谢博学谷老师们强大的技术储备
博学谷前端 css兼容性简单总结相关推荐
- 博学谷前端 CSS字体样式属性
1.
- 博学谷html css,博学谷 - CSS笔记12 - 清除浮动
1.为什么需要清除浮动 由于父级盒子很多情况下,不方便给高度,但是子盒子浮动又不占有位置,最后父级盒子高度为 0 时,就会影响下面的标准流盒子. 由于浮动元素不再占用原文档流的位置,所以它会对后面的元 ...
- 博学谷php,博学谷web前端
资源介绍 博学谷web前端 前端开发基础 阶段说明 本阶段主要讲解HTML/HTML5.CSS/CSS3的基础知识.Photoshop基本操作以及电商项目实战.通过前端基础的学习,可完成与美工对接,完 ...
- 【博学谷学习记录】超强总结,用心分享|前端学习总结-第2周
本周疑难点总结 问:为什么一个网页中只允许有一个 h1 标签? 答:网站H1标签多次调用不容易被百度收录 h1 代表大标题,一个网页中只能有一个大标题,不能拥有多个带标题(就跟一篇文章一样,一篇文章都 ...
- #博学谷it学习技术支持#黑马头条知识点1
#博学谷it学习技术支持#黑马头条知识点1 目录: 一.文章列表加载 二.Freemarker 三.对象存储服务MinIO 四.文章详情功能 黑马头条day2 一. 文章列表加载 1)需求分析 2)表 ...
- 不同版本浏览器前端标准兼容性对照表以及CORS解决跨域和CSRF安全问题解决方案
CORS也已经成为主流的跨域解决方案,不过CORF也会引发CSRF,本文先分享第三方的一个前端工具箱全面展示那些浏览器版本支持CORS,由于各家浏览器厂商因为各自原因在不同的版本里支持的标准不同,这个 ...
- css实现简单的告警提示动画效果
需求:css实现简单的告警提示动画效果,当接收到实时信息的时候,页面弹出告警信息的动画效果 <!DOCTYPE html> <html lang="en"> ...
- HTML5期末大作业:网站——仿游戏官网(龙之谷)HTML+CSS+JavaScript
HTML5期末大作业:网站--仿游戏官网(龙之谷)HTML+CSS+JavaScript ~ 学生HTML个人网页作业作品下载 ~ web课程设计网页规划与设计 ~大学生个人网站作业模板 ~简单个人网 ...
- 前端——CSS学习总结
CSS 1. css简介 1.1 HTML 的局限性 说起 HTML,这其实是个非常单纯的家伙,他只关注内容的语义.比如 表明这是一个大标题, 表明这是一个段落, 表明这儿有一个图片, 表示此处有链接 ...
最新文章
- Java每日一讲讲什么好_撩课-Java每天10道面试题第1天
- 凌晨三点,各类程序员都在干吗?
- 北欧小国的宏大AI实验: 让1%的人口接受人工智能培训
- Session分布式共享 = Session + Redis + Nginx
- python编程15讲答案,[Python编程:从入门到实践] 第十五章:生成数据 习题答案
- 使用 mysql workbench 建议
- js 获取样式兼容方法
- 数据库集群技术 -摘自网络
- python生成安装程序_python生成安装文件 msi
- js深入研究之神奇的匿名函数类生成方式
- Web安全通讯之Token与JWT
- 列表的增删改查和嵌套, 元组, range
- Nature:进化新方式?线粒体DNA会插入我们的基因组
- shikiryu html5,保举WEB开拓者最佳HTML5和CSS3代码天生器
- Java程序员面试笔试宝典-数据库原理(三)
- C++ 中如何区分std::endl、std::ends、std::flush的差异性
- 计科生毕业一年,做了什么?
- 正则表达式:回车和换行的区别
- matlab最小二乘法拟合 做图像,用MatLab画图(最小二乘法做曲线拟合)
- cf战队模板(html),cf战队 cf主力比赛接待战队专属频道模版
热门文章
- 操作系统复习-2.3 进程同步
- CityScapes数据集转voc数据格式训练yolov5(含下载链接)
- mysql 自然数集合_MySQL自然语言全文搜索
- 在32位机器上实现64位数的除法
- 【论文解析】Fast Adaptive Task Offloading in Edge Computing Based on Meta Reinforcement Learning
- 【数据结构(郝斌)】03线性结构-栈
- 安卓手机卡顿怎么解决_安卓手机卡顿反应慢怎么办?我教你解决根本原因
- 圈子真的能决定你的未来吗?
- [转]苹果商店审核规则,你触犯了哪一条?
- Ae 效果详解:CC Snowfall