博学谷前端 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,这其实是个非常单纯的家伙,他只关注内容的语义.比如 表明这是一个大标题, 表明这是一个段落, 表明这儿有一个图片, 表示此处有链接 ...
最新文章
- io python 读取pdf_实用又好用,6 款 Python 特殊文本格式处理库推荐
- 编写程序,随机产生20个0到1之间的数,将这20个数写入文本文件中,要求每行5个数
- Axure原型设计导出到PDF文件
- 构造方法与对象的创建 java 1614780813
- element ui 点击修改开启停用按钮状态
- 微软silverlight视频教程
- matlab多图形相交,用MATLAB作出柱面x^2+y^2=4 和柱面x^2+z^2=4 相交的图形.
- IDEA 更换主题样式
- windowsxp下载python下载视频_Python实现视频下载功能
- java aes解密源码_java AES解密,用易语言实现
- 现在国内最牛逼的 Spring CloudAlibaba全栈操作手册,不接受反驳
- python嵌入式系统开发_图解嵌入式系统开发之语言篇:初识Python
- mysql 表结构的复制
- 宇宙少女-小贾的一时兴起
- MacBookPro硬盘升级记
- 机器人genghis_家用机器人的未来
- 武汉理工大学博士生导师计算机,博士学位论文预答辩公告-武汉理工大学计算机学院.DOC...
- 2. 内核解压-关中断进入svc模式
- java如何把汉字转拼音
- Oracle 9i amp; 10g编程艺术-深入数据库体系结构——第12章:数据类型