产品的角度(产品的受众、受众的浏览器比例、效果优先还是基本功能优先) 成本的角度 (有无必要做某件事)
1. 说下行内元素和块级元素的区别?行内块元素的兼容性使用(IE8 以下) Q1)行内元素:会在水平方向排列,不能包含块级元素,设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效。 块级元素:各占据一行,垂直方向排列。从新行开始结束接着一个断行。 Q2)兼容性:display:inline-block;display:inline;zoom:1; 2.清除浮动有哪些方式?比较好的方式是哪一种? 1)父级div定义height。 2)结尾处加空
属性前缀法是在CSS样式属性名前加上一些只有特定浏览器才能识别的hack前缀,以达到预期的页面展现效果。
IE6好像支持这种情况,因为它能匹配链中的最后一个class到使用该class的元素上,然而,它并不能限制一个使用链中所有class的元素。
IE6 hack _background-color:#CDCDCD; /* ie 6*/ IE7 hack *background-color:#dddd00; /* ie 7*/ IE8 hack background-color:red \0; /* ie 8/9*/ IE9 hack background-color:blue \9\0; 浏览器优先级别:FF<IE7<IE6,CSS hack书写顺序一般为FF IE7 IE6 以: " #demo {width:100px;}
有时,我们为了让一些外观在不同浏览器中做保持一致。就不得不用css hack。下面是常用的css hack。
JavaScript检测IE浏览器是哪个ie版本代码,包括是否是ie6的识别与检测: var ie=!!window.ActiveXObject; var ie6=ie&&!window.XMLHttpRequest; var ie8=ie&&!!document.documentMode; var ie7=ie&&!ie6&&!ie8; if (ie){ if (ie6){ alert(”ie6″); }else if (ie8){ alert(”ie8″)
css ie6,ie7,ie8 兼容性写法,CSS hack写法 margin-bottom:40px; /*ff的属性*/ margin-bottom:140px\9; /* IE6/7/8的属性 */ color:red\0; /* IE8支持 */ *margin-bottom:450px; /*IE6/7的属性*/ +margin-bottom:450px; _color:#ff0000; /* 只ie6支持 */ #1 {
1、什么是CSS hack? CSS hack是通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号(什么样的浏览器识别什么样的符号是有标准的,CSS hack就是让你记住这个标准),以
1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="utf-8"> 6 <title></title> 7 </head> 8 9 <body> 10 <script type="text/javascript"> 11 function myBrowser() { 12 var userAgent =
在项目中,经常会遇到IE浏览器的兼容问题,IE678简直是前端工程师的噩梦,每个版本的IE浏览器都会有比较大的差异。
现在市面上浏览器无外乎有这么几种:微软的IE、Mozilla的火狐、苹果Safari、谷歌Chrome和Opera等。其他诸如遨游、世界之窗、360安全卫士等都是基于IE内核的浏览器,少了IE内核它们全部没用,因此严格来说并不是真正意义上的浏览器。
由于不同的浏览器和浏览器各版本对CSS的支持及解析结果不一样,以及CSS优先级对浏览器展现效果的影响,我们可以据此针对不同的浏览器情景来应用不同的CSS。
以上就是css中hack的3种表现形式,希望对大家有所帮助。更多css学习指路:css教程
在进行网站开发过程中,IE是另很多程序员头疼的一个浏览器,他的版本兼容性很难调整,尤其是IE6,IE7,IE8,IE9,IE10这几个版本的区别有很大。现在百度与谷歌都有了一行解决这种兼容性的代码了。我们先来看一下百度的。
只在IE下生效 只在IE6下生效 只在IE6以上版本生效 IE8以及IE8以下 只在IE8上不生效 非IE浏览器生效
文件兼容性用于定义让IE如何编译你的网页。此文件解释文件兼容性,如何指定你网站的文件兼容性模式以及如何判断一个网页该使用的文件模式。
总是忘记给ie做特殊样式处理,以前打游击,不做也就算了,以后可不行,得对自己的“孩子”负责。。 一、先说IE老大的兼容 知道了一些常用的css属性兼容方法确实可以解决问题, 但我不知道我自己的ieTester是不是假的,很多网上说的ie8能识别、ie6,7不能识别的符号,我的ieTester6,7还是能识别。针对ie的兼容还有后缀\9\0写道一起的方法,说是只针对ie9,其实ie8也可以、怀疑自己用的是假的ie9。 总结了一些,常见的IE hack写法,对比正常写法,列表及实际功能如下 backgrou
显然,这是一个bootstrap样式的后台单页应用,用react实现了组件化、用mobx管理状态、引入了fetch等promise异步工具,并且使用了一些日期选择和富文本编辑器插件等第三方库
HTML5学堂:我们平日说的IE hack到底是什么,随着浏览器的发展,IE的hack技术也在不断的发生着变化,一起看看最新的IE hack。 何为hack? 行业中存在着各类浏览器,典型的如IE、火狐、谷歌等;另外,即便同样种类的浏览器,也存在着不同的版本,如IE6、IE7……IE11等。不同浏览器对于CSS的解析机制并不是完全相同的,因此有时会导致页面效果不同,得不到我们所需要的样式。此时,我们可以针对某种浏览器进行样式的设置,从而达到所有浏览器中显示效果的一致性。那么,这种能够标识出不同浏览器的书写方
Code <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <style type='text/css'> #example { background: #ff0000;width:100px;height:100px } /* Moz/FF/IE8 beta2 */ *html #example { background:
最近有用到php的json字符串要转成js对象,以前一直用jq或者eval,又发现了其他的方法,记录下.
jQuery一般来说还是很好用的,但有时候它也会有些问题的,比如jQuery的html()方法设置html代码,在一种情况下,ie6、ie7、ie8 下是不能设置html代码的。本文说的问题只针对ie8(包括ie8)以下的浏览器。 1.什么情况下IE6、IE7、IE8 jQuery.html("xxx")方法会设置不上html代码? 答:当被加载的的html代码里面出现以下情况,ie8(包括ie8)以下是设置不上html代码的: a) 被设置的html代码中包含引用其他js的,如:<scr
Microsoft Expression Web SuperPreview for Internet Explorer 是微软发布的一款免费软件,它可以让我们在各个版本 IE 浏览器下调试网站,使得网站在各个版本 IE 浏览器下兼容。通过 SuperPreview For IE,我们可以迅速升级你的网站到 IE8,并且同时兼容 IE6 和 IE7。 SuperPreview For IE 可以展示网站在 IE6, 7, 8 各个版本的 IE 浏览器中渲染情况,该软件还提供尺子,平移,变焦等工具去准确区分布局上的不同。如下图就是我爱水煮鱼在 IE6 和 IE8 上面的比较情况:
IE条件注释 除了IE <![endif]--> 用Chrome或
浏览器的兼容性问题,通常是因为不同的浏览器对同一段代码有不同的解析,造成页面显示不统一的情况。
因为业务需求,项目经理让我做一个判断当前浏览器是否是谷歌浏览器,并确定谷歌浏览器版本,不满足谷歌浏览器和版本就显示一个页面提示升级,满足条件就跳转到我们的一个项目,下面先来实现这个:
x-ua-compatible 用来指定IE浏览器解析编译页面的model x-ua-compatible 头标签大小写不敏感,必须用在 head 中,必须在除 title 外的其他 meta 之前使用。 1、使用一行代码来指定浏览器使用特定的文档模式。 <meta http-equiv="x-ua-compatible" content="IE=9" > <meta http-equiv="x-ua-compatible" content="IE=8" > <meta http-equiv="x-ua-compatible" content="IE=7" > 2、在一些情况下,我们需要限定浏览器对文档的解析到某一特定版本,或者将浏览器限定到一些旧版本的表现中。可以用如下的方式: <meta http-equiv="x-ua-compatible" content="IE=EmulateIE9" > <meta http-equiv="x-ua-compatible" content="IE=EmulateIE8" > <meta http-equiv="x-ua-compatible" content="IE=EmulateIE7" > 使用这种写法,浏览器或者使用标准模式进行解析,或者使用 IE5 Quirks 模式进行解析。 3、为了测试,我们也可以使用下面的语句指定浏览器按照最高的标准模式解析页面。 <meta http-equiv="x-ua-compatible" content="IE=edge" > 4、多个模式的指定。我们可以用逗号分割多个版本,这种情况下,浏览器会从这个列表中选择一个他所支持的最高版本来使用标准模式进行渲染。如下面的例子,在IE8进行浏览时,将会使用IE7的标准模式进行渲染,因为他本身不支持IE9和IE10。 <meta http-equiv="x-ua-compatible" content="IE=7,9,10" > 参考: http://www.cnblogs.com/cocowool/archive/2013/04/25/3043832.html http://www.cnblogs.com/nidilzhang/archive/2010/01/09/1642887.html http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx 一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10 2012-04-25 16:29:04| 分类: 学习 |字号 订阅 在网站开发中不免因为各种兼容问题苦恼,针对兼容问题,其实IE给出了解决方案Google也给出了解决方案 百度也应用了这种方案去解决IE的兼容问题 百度源代码如下 <!Doctype html> <html xmlns=http://www.w3.org/1999/xhtml xmlns:bd=http://www.baidu.com/2010/xbdml> <head> <meta http-equiv=Content-Type content=“text/html;charset=utf-8″> <meta http-equiv=X-UA-Compatible content=IE=EmulateIE7> <title>百度一下,你就知道 </title> <script>var wpo={start:new Date*1,pid:109,page:‘superpage’}</script> <meta http-equiv=X-UA-Compatible content=IE=EmulateIE7> 可以打开百度,右键查看源码看下!我们可以看下文件头是否存在这样一行代码! 这句话的意思是强制使用IE7模式来解析网页代码! 在这里送上几种IE使用模式! <meta http-equiv=“X-UA-Compatible” content=“IE=8″> 2. Google Chrome Frame也可以让IE用上Chrome的引擎: <meta http-equiv=“X-UA-Compatible” content=“chrome=1″ /> 3.强制IE8使用IE7模式来解析 <meta http-equiv=“X-UA-Compatible” content=“IE=EmulateIE7″><!– IE7 mode –> //或者 <meta http-equiv=“X-UA-Compatible” content=“IE=7″><!– IE7 mode –> 4.强制IE8使用I
前一阵对公司网站的购物车功能进行了改造,允许不同商家的商品放到同一个购物车,下单时自动按商家来拆分订单。 本地测试时一切正常,IE6/IE7/IE8均没问题。部署到服务器上后试运行几天,有客户反馈说使用购物车下单时,点击提交按钮后,多数时候不能正常生成订单,但也有少部分时候能正常。 于是我又在本地开发环境(win7 + ie8)下测试了一番(包括IETest用IE6.0模拟),然后又用本机浏览器(IE8)测试了线上正式环境的下单,仍然一切正常,当时的第一反应,既然有时候能正常下单,说明代码应该是正确的,于是
一、前言 首先看看一道阿里这期网申的题目吧! 1.找出下面优先级相同的选择器 A. img.thumb:after B.[data-job="frontend"]::first-letter C. #main::before D. [type="checkbox"]:checked E. ul#shop-list 二、回顾选择器类型 html片段 <bo
昨天和朋友聊到了有关浏览器兼容性的问题,在开发中有时的确很让人苦恼,我向他推荐了几款测试浏览器兼容的工具,分享给大伙,有什么更好的工具或是解决方法还希望大家拿出来晒一晒。
有多少朋友做过浏览器兼容性测试?怎么做的,效率怎么样,是在不同的机器上下载不同的浏览器进行效果确认?有多少人对浏览器的兼容性测试犯过愁? 本人曾经也对浏览器的兼容性感到头痛,后来到网上找了些资料和工具,虽然未能彻底解决所遇到的问题,不过多少有些帮助,特此分享给大伙,若大伙有什么更好的工具或是经验方法还希望能拿出来晒一晒。 鄙人主要尝试过这几个工具:IETester, SuperPreview,Browsershots,Browser Sandbox。下面分别说一下。 IETester 估计工作
png24 位的图片在 iE6 浏览器上出现背景 解决方案是做成 PNG8. 浏览器默认的 margin 和 padding 不同。 解决方案是加一个全局的*{margin:0;padding:0;}来统一。 IE6 双边距 bug:块属性标签 float 后,又有横行的 margin 情况下,在 ie6 显示 margin比设置的大。浮动 ie 产生的双倍距离 #box{ float:left; width:10px; margin:0 0 0 100px;}这种情况之下 IE 会产生 2
在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。 JSON.stringify(obj) 将JSON对象转为字符串。 JSON.parse(string) 将字符串转为JSON对象格式。
最近几天辛辛苦苦的修改了这个比较中意的模板,然后就需要考虑各个浏览器兼容性的问题了,目前大多数都是IE8,少部分还存在ie7、ie6等浏览器,ie浏览器绝对是一个噩梦,美丽的网站会被撕得粉碎,疼的你是不要不要的。。。
1、为什么要用 jQuery DOM API 很难用。我们可以通过document.getElementById等方法获取DOM对象,但是方法名称长,使用不方便,而且功能有限,不能像CSS选择器那样灵活。 存在兼容性问题。比如,实现一些功能要写一些事件处理程序,如果要兼容老浏览器的话,则要进行一层层的封装。 功能太少,不能与时俱静。换句话说,只有等到浏览器更新了或者不需要兼容老浏览器时,才可以使用一些新的语法去选择一些元素,去操作它......。 jQuery 兼容性好。 API 友好。使用起来很方便 功能
如何使用360浏览器是很多360浏览器的粉丝经常遇到的问题,因为在使用的时候360浏览器出问题了。曾经很长一段时间,很多银行登录系统、企业管理系统、信息管理系统……很多应用级的web系统都不能使用360浏览器正常访问,因为那曾经确实很不好。
在网上搜了一下,结论非常笼统,讲IE从不讲版本,因此自己做了测试并上传结论。以下结论皆是在标准模式下测试通过的,没有测试quirk模式。
一、前言 从IE8开始引入了文档兼容模式的概念,作为开发人员的我们可以在开发人员工具中通过“浏览器模式”和“文档模式”(IE11开始改为“浏览器模式”改成更贴切的“用户代理字符串”)品味一番,它的出现极大地方便了苦逼的前端攻城狮们适配各版本的IE,但jser们也不能完全信任它,因为它只是提供尽可能的文档模式模拟而已。 本篇大部分内容来源于官方解说:http://msdn.microsoft.com/library/cc288
代码如下: JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换成json对符串
这时我们可以使用 jQuery 遍历中的 not() 方法来排除某些元素,例如根据元素的 #id ,.class 等排除,代码如下:
一、前言 由于本人英语能力有限,译本内容难免有误,望各位指正! 本译文不含附录部分,请知悉。 二、译文内容 为了让用户正常访问遵循Web标准的网站和90年代后期的非标准网站,当前的浏览器都内置了多种引擎模式。本文将解释这些模式和它们触发的原理。 本文概要(没耐性的同学看完这个就可以闪了!) 本文结论:以<!DOCTYPE html>作为你们的HTML文档(http头的mime为text/http的
各浏览器对页面外部资源加载的策略 这个总结来源于一次优化的请求,最初某个页面的加载十分缓慢,load事件迟迟无法触发,因此希望可以通过对静态文件分域名等方式对页面的外部资源进行优化,拿得load事件尽可能早地触发。 于是我查看了页面的源码,并对外部资源进行了整理,基于下面2个理念画出了一个推测的瀑布图: 浏览器对同一个域只能并发2个HTTP请求 – 网上盛传已久。 javascript文件的加载会阻塞浏览器其他资源的加载 – 同样网上盛传已久。 然而,当我看到各浏览器中实际的瀑布图时,我知道
IETester是一款免费(兼具个人和专业用途)的WebBrowser,它允许您在 Windows 8桌面,Windows 7,Vista 和 XP上使用IE11,IE10,IE9,IE8,IE7,IE6 和 IE5.5 的渲染和JavaScript引擎,以及在同一过程中安装的IE。
随着浏览器的发展,css hack 技术的使用应该越来越少了,但是在某些关键时刻以及综合的WEB应用或者老项目中,可能还需要使用 css hack 技术来解决一些问题。
Google近日为IE发布了一款开源插件Chrome Frame,兼容XP、Vista系统,适用于IE6、IE7、IE8,安装该插件后IE用户就可以使用Chrome的JavaScript引擎,体验到和Chrome一样的速度以及各种新的Web技术,比如HTML5。不过微软认为这个插件会给IE用户带来风险,降低IE的安全性,因此建议用户不要使用。
不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题。而这个针对不同的浏览器写不同的CSS 代码的过程,就叫CSS Hack。
CSS3选择器再CSS2.1选择器的基础上增加了属性选择器、伪类选择器、过滤选择器,减少了对HTML类名或ID名的依赖,避免了对HTML结构的干扰,让编写代码更加轻松。
领取专属 10元无门槛券
手把手带您无忧上云