我的flash代码明明打得都对,没有语法错误,为何却运行不出结果?

Miflash工具刷机常见问题及解决办法教程

主要原因在于更新分区前有清空所有数据,然后再进行更新分区所以才会造成更新分区失败
解决方法:重启手机后更新分区即可

主要原因可以是刷机包下载错误或着路径出错
解决方法:下载刷机包要下载EXE的文件,因为ZIP的文件它是在RECOVERY中刷机的,还要注意的是路径要正确

三、MIFLASH刷机时点FLASH发现进度条无反映但时间在走或者出现MIFLASH刷机过程中出现0秒完成刷机
主要原因在于驱动有问题,导致MIFLASH的文件刷不进去
解决方法:关闭MIFLASH,删除一些手机端的软件和手机驱动后,重新安装手机驱动即可

四、MIFLASH刷机时出现红字提示--存储空间不足
解决办法:1 电脑端MIFLASH存在的磁盘确实空间有限,请转移或者清理 最少也得5G以上,关闭防火墙,和杀毒软件目前机油反映是这样的
     2 没办法的办法 换个电脑或者重装系统 有的电脑系统是精简版的本身存在问题,这是猜想。微博上也很有机油表示存在这个可能
     4.实在不行的话,就重做一个系统吧!因为有些电脑系统是精简版的本身的问题。

五、刷机包完整,下载也正确的线刷包,就是0秒完成或者是上1000秒完不成

  原因是刷机工具和手机的识别无效,和刷机包的识别有效

  1 重新下载小米手机驱动,在桌面我的电脑上点右键-属性-设备管理器-在Android pone下面的设置上点右键选择更新驱动,然后选择你刚才下载的驱动(注意解压缩哦)更新下就行

  2 重新拔插数据线。重新识别一下。听到电脑“噔”的一声 然后重新打开刷机工具,再做尝试

  3 切换电脑端的USB接口,或者是不是用电高峰期造成USB供电不足 不能识别手机

  4 没办法的办法 换个电脑或者重装系统 有的电脑系统是精简版的本身存在问题,这是猜想。微博上也很有机油表示存在这个可能

六、其他正常,点击刷机提示:未指定的错误(ox)后缀多样(FAILED too。。。)

  1 没有更新分区容易出现这个问题,更新分区点我

  2 更新分区,请不要手动清除数据,更新分区默认会清除

  3有时重新拔插数据线可以解决,自己亲测

  4 办法的办法 换个电脑或者重装系统 有的电脑系统是精简版的本身存在问题,这是猜想。微博上也很有机油表示存在这个可能

  5如果没有提示too large 就说明是pc端问题 大多是与驱动有关 重新卸载驱动 重新安装 参考前面的步骤。

七、MIFLASH就不能安装如何刷机?

  1 网吧的机子几乎都有这个问题,后台阻止程序,或者直接干掉该安装的进程,办法 回家呗 用自己电脑

  2 其他电脑;将后台的杀毒软件之类的关掉,还有防火墙也关掉 不然只能换电脑试试了

  3 下载最新的刷机工具 

  1 下载最新的刷机工具

      1.在线刷工具的界面中,点左侧浏览下面那个高级设置,第一项fastboot脚本选择刷机包文件夹里面的flash_all.bat,就可以刷机了!!!!
      2.下载好的资料解压到D盘,然后进入解压的文件夹复制地址,复制好的地址先粘贴到记事本中,然后再复制记事本的地址粘贴到刷机软件

用记事本打开flash_all.bat直接去掉鼠标选中的这一这段字,(把刚才那个文件备份或者剪切了那一段字后面还有用)
保存了再点刷机过不长一会儿就刷机完成了
然后再把打开flash_all.bat把刚才的那段字放到原位(就是把刚才删的那段字再粘贴到原来的位置空格什么的不能错,或者是把备份的flash_all.bat再拖回来覆盖了)

原因:加了防刷机锁(bootloader锁),解决方法:改用深度刷机的方式即可

十五、报错:指定的网络资源或者设备不可用
解决方法:这种报错是由于ADB端口被占用导致,可以清楚ADB端口,或者尝试更换一下USB端口

十六、故障现象:刷机报错,已到文件结尾
解决方法:重新进入深刷模式,或者换一个USB端口

十七、故障现象:刷机报错禁用F8驱动签名,禁用之后刷机依然报错禁用F8
由于刷机时端口会由最初的9008端口切换到9006端口,在此过程中,电脑端与手机端不同步导致,可以尝试以下几种方法:
1)尝试能否进入fastboot,若能进入,按电源键强制重启,等待米 logo出现之前迅速插入数据线,可再次进入深刷模式;
2)拔掉USB线,然后长按电源键5S左右,再插上USB线,看设备管理器中是否出现9006端口,如果出现,点击“刷新”-“刷机”;
3)如果上述方法还不能解决,拔掉USB线,然后扣掉电池,重新进行深刷操作;当Miflash再次提示“Wait device”时重新拔插一次USB线,在未报错之前检测到9006端口,刷机将会继续进行

十八、开机卡白米,刷机之后还是开机卡白米
此问题多数是硬件故障,EMMC、CPU或者电源故障。建议换板处理

十九、刷机报错:没有注册类:
解决方法:重装Miflash刷机工具

二十、报错:加载类型库/DLL 时出错
解决方法:重新安装Miflash刷机工具,MiFlash安装文件,尝试重新安装

二十一、Fastboot模式刷机进度条不走
检查驱动是否安装正确。 刷机前请打开电脑设备管理器,看驱动是否正常,看看手机驱动是否有 Android Bootloader Interface,再打开进程管理器查看是否有 ADB 进程等. 终止 ADB进程,关闭各类手机助手,如豌豆荚,91 手机助手,360 手机助手等

二十二、文件名 目录名或卷标语法不正确

二十三、最新小米机器刷机报错原因
最新的小米红米手机,2016年之后的出的机子,如小米4I、小米4C、 小米5、小米5S、小米5Splus、小米6、红米3S、红米4A、红米NOTE4X等,都有刷机锁,不解锁刷机就会报错,需要深度线刷机或者短接两点进9008模式刷机,方可成功!新手可以看看深度线制作以及刷机教程,操作很简单,对着教程很容易搞定!(部分机子如小米3 红米2等老机子刷机不成功也可以用9008模式)


数据可视化是个很火的领域,如果在 Github 上搜索 chart 会发现有 个结果,大量看起来功能类似的图表库,如何在这么多项目中选择适合自己的?因为做 BI 产品 的缘故,我们曾经花费了大量时间了解各种可视化库,接下来将分享我们在这方面的经验,帮助你做出更好的选择。

首先我们将数据可视化分成两种大的类型:

  1. 可视化库,比如 D3、ECharts 等,这些是面向开发者的,开发者可以基于这些库开发可视化应用。
  2. 可视化平台,比如 Grafana、Superset 等,这些面向分析师和一般使用者,直接拿来分析数据,无需开发。

为了避免篇幅过长,本文先介绍可视化库,后续还会单独介绍可视化平台。

如何快速了解一个项目?

虽然很多语言都有图表库,但前端相关的项目最多,在 Github 投稿了一篇文章,提出了 Flash 不仅能用来做小广告,还可以实现交互式图表的想法,这篇文章给他带来了 1500$ 的零花钱,普通高中生拿到零花钱多半会很快就和小伙伴们一起挥霍掉,而 Nadhani 拿着这笔钱在 17 岁(2002 年)时候成立了公司,开始开发基于 Flash 的图表库,然而高中辍学创业并不容易,没有投资人会相信一个还没成年的小孩,Nadhani 独自在家开发了三年后才招到第一个人,早期只在网上卖,因为网上不容易发现你是个小孩,发现了肯定不敢买,好在图表方面的需求很旺盛,所以公司不断做大,图表库不仅卖给了很多公司,还卖给了美国联邦政府,来美国总统。

FusionCharts 没开源,底层图形库用的是 Raphael,早年提供过,不过后来不再提供了,整个公司有 人,人多还是有明显优势的,FusionCharts 的图表数量超过 100 种,文档也非常详细,所有代码都提供了在 React、Vue、jQuery 等十几种框架下的示例,还提供了 示例和导出 等功能。

另外有个相关的图表库是开源的 ,这是在 2018 年新出,不清楚他们之间是什么关系,可能是提供了赞助,所以 ApexCharts 的文档里一直在打 FusionCharts 的广告。

不过今年三月这家公司被软件的公司 Idera 了,在疫情期间卖公司,希望不是因为遇到困难了,在卖了没多久印度就宣布 21 天封城,在大点的公司里应该能更容易度过这次危机吧。

amCharts - 唯一可以免费商用的商业图表库

amCharts 也来自小国家,它的总部在立陶宛,最开始是只做地图类的图表,后来才有的饼图折线图,它应该是这里面最小的商业公司,整个团队只有 7 个人,其中参与开发的大概 4-5 个,因为人少,所以它的功能相对其它几个商业库要少点,比如不支持 vml(不过现在没人用 IE8 了),可能正是因为觉得做不过,所以它采用了不同的商业策略,是唯一可以免费商用,只有去 logo 才需要付费,这个策略看起来效果不错,它的搜索量是这几个商业库中排名第二的,使用的网站数仅次于 Highcharts。

Google Charts 在 2008 年就推出了,做得非常早,虽然国内现在没人用,但国外用户还是挺多的,有个数据分析说是最流行的图表库,在网站中的使用量 Highcharts 的。

Google Charts 有两个版本,一个是通过链接来生成图表图片,另一个是外链的 JavaScript 图表库。

通过链接生成图表图片的做法在十几年前非常常见,比如性能监控领域用了好多年的 ,即便现在你都能在一些股票网站的 k 线图里看到这种做法,使用它的主要原因是当时的前端技术不成熟,浏览器兼容性差,使用这种方式可以轻松在所有浏览器里得到一致的显示效果,下面是一个例子:

它还有个优势是使用简单,会拼字符串就能生成图表,还能方便放到邮件里,但这种方式的缺陷也非常明显,那就是不支持交互,没法鼠标浮上去看具体数值,尤其是对于数据点很多的折线图无能为力,Google 在 2012 年宣布放弃了这个服务。

在 Gartner 中排名第三 BI 厂商 Qlik 至今还在用生成图片的方式展现图表,原因可能技术做得太早了,历史包袱太重不好改了,是这家公司成立时间早在 1993 年,当时浏览器的始祖 Mosaic 才刚出,能 inline 显示图片就是独家技术了,而 JavaScript 的诞生还得再等两年,所以在那个年代要在浏览器中展示图表只能动态生成图片。

外链 JavaScript 是 Google Chart 目前唯一的使用方法,这样的好处是可以随时更新,坏处是文件加载性能取决于 Google CDN,这也导致了国内几乎没人用,而且看起来是进入维护状态了,最近几年更新很慢,一年只有 2 次更新。

开源图表库还有很多 Star 数量比较高的,这里简单汇总一下:

  • 是韩国 NHN 公司搞的,贡献者比较少,感觉快要弃坑了,大公司里的非主业项目经常这样,表示理解。
  • 别看它有 12.2k 的 Star,看提交历史肯定弃坑了,3 年只提交了 20 次。
  • 代码只有 3.5k 行,最近提交很少且文档很简陋,13.4k Star 说明他们的推广策略很厉害,也是个值得学的案例。
  • 特别古老的前端图形库,2008 年就有了,不少图表库的底层基于它,它自己也有个 图表库,不过只开发了两年就停了,可能是作者在 Adobe 忙别的事情去了,比如折腾过 ,但也弃坑了。
  • 主要是绘制关系图的,曾经有段时间弃坑过,不过最近还有少量更新,类似的还有 、和
  • 专注做股票类的,似乎很专业,有不少分析 k 线的小工具。
  • 以体积小巧作为主要优点,然而体积小只是因为功能少,2k 多行代码做不了啥,所以它的配置项和交互都很少。
  • 将 Chart.js、Google Charts 和 Highcharts 的接口封装起来,提供一套更简单的 API,一方面是更简单,另一方面是万一其中某个挂掉了可以直接换别的,然而这也意味着它的功能非常有限,毕竟是取交集。
  • 另外还有些 gis 领域的专用可视化库,比如 、,但国内对测绘是有规定的,最好直接用百度、高德。

虽然有很多开源图表库,但绝大部分不是已经弃坑就是将要弃坑了,目前真正能用的就只有 ECharts、Ploty.js、Vega 和 G2。

Vega 背后是个学术组织,优点投入相对比较稳定,但缺点是可能更关注学术方面的发展,有些在业界里重要但没技术含量的东西就不怎么关心了,比如主题配色、动画、阴影、涟漪等花里胡哨的东西优先级一定最低,像动画功能在 年就说要做了,而作者在几天前说的是有好多功能想做,动画这个先交给我的学生去研究了。所以 Vega 只推荐在内部使用,而对外产品还是需要点花里胡哨的。

Ploty.js 背后有家公司在专门做这个,发展一直比较稳定,不过作为商业公司,目前似乎主要靠卖另一个开源的 Dash 产品以及咨询服务,后续是否会对高级图表功能收费是个未知数。

EChartsG2 虽然是在大的互联网企业里,但实际人力投入很难和专门做这个的商业公司比,G2 团队的情况我不太了解,相对来说 ECharts 的社区力量更大,靠用户贡献的远远多于其他图表库,一定程度上缓解了 API 太多的学习成本,而且 ECharts Issues 几乎都有回复,能做到这点的开源库没几个。

后续会不会出现更好的前端图表库?恐怕不会了,前面提到很多图表库的成功背后都赶上了技术变革,比如 FusionCharts/AnyChart 背后的 Flash、Highcharts 的 SVG/VML、ECharts 的 Canvas,技术栈的不同让它们一出来就有明显优势,所以如果没有新的技术变革,后续新出的图表库将很难超越,只能在特定领域突破,而目前能看到浏览器的下一次图形技术变革只有 WebGPU,虽然它不会像 WebGL2 那样命苦,但和 WebGL 相比,它的主要优势是减少在 CPU 上的时间,更好利用 GPU,这对后续游戏在浏览器上的表现更有利,但用来做图表和 WebGL 比没有明显优势,加上大部分图表是二维的,除非数据点非常多,否则并行渲染优势不大。

图表库商业产品不多,毕竟这个需求很通用,难以差异化竞争,对客户来说都是花钱,为啥不选最好那个?加上有 ECharts 这种赶上商业质量的开源库存在,能满足大部分的需求了,使得商业产品的生存空间有限。

如果选商业产品,国内使用最好在 Highcharts、amCharts 和 AnyChart 之间做选择,因为 FusionCharts 好像还不支持中文,不过需要注意这些产品的地图都有错误,把某个省当成国家了,用的时候需要改一下。

最终在我们的 BI 产品 中选择的是 ECharts,它完善的功能帮我们节省了大量工作,实践证明在 BI 这样复杂的图表场景下用 ECharts 也是没问题的,经常是用户想要某个我们还不支持的功能时,我们就去 ECharts 文档里找找,发现竟然有。。。非常感谢

上面提到的图表库都需要开发才能用来做可视化分析,不想开发可以选择完整的可视化平台,我们将在下篇文章中介绍,感兴趣请关注。

通过之前的准备,我们现在将专门研究在 HTML 和 CSS 代码中遇到的常见跨浏览器问题,以及哪些工具可以用来防止问题的发生,或者解决出现的问题。这包括静态分析代码,处理 CSS 前缀,使用浏览器开发工具来跟踪问题,使用 polyfills 添加到浏览器的支持,解决响应的设计问题,等等。

实际上,HTML 和 CSS 的问题在于,它们相当简单,简单到开发人员通常不会认真对待它们,因此难以确保代码简洁、高效,或是能在语义上描述页面各部分的功能。在最坏的情况下,一些网站甚至选择使用 JavaScript 来生成整个网页的内容和样式,这使得页面的可读性较差,并且性能低下(对性能而言,生成大量 DOM 元素的操作是较为昂贵的)。

备注: 关于使用 JavaScript 生成网页的选择,抛开一切非决定性的因素,最终的关键还是我们开发者。 非决定性因素,比如页面本身,举个例子,如果页面是由大量的重复或有规律片段组成,使用适当、理想的 JavaScript 来生成这样的页面会是不错的选择。

但是,如果我们的决定性因素,开发者,不了解或不重视有关的问题,甚至盲目地崇拜一些基于 JavaScript 的前端页面生成方案,可能一切都是白搭。 反过来,如果开发者深谙简化、语义和性能等的意义与价值,对不同的方案有全面的了解,即使使用 JavaScript 在前端生成网页,最终也可以产生各方面表现良好的页面。虽然,多数情况下,这样的开发者往往会保留页面的基本框架,不由

在其他情况中,不同浏览器对新特性的支持不同,也可能会使某些功能和样式对某些用户不起作用。除此之外,响应式设计问题也很常见——在桌面浏览器中看起来不错的网站可能会在移动设备上给出可怕的体验,因为内容太小而无法阅读,或者性能被代价昂贵的动画严重拖累。

让我们前进吧,看看我们如何能够减少 HTML / CSS 中的跨浏览器错误。

我们在本系列的中说过,一个好的策略是在桌面/移动设备上测试几个现代的浏览器,以确保您的代码正常工作,然后才能专注于跨浏览器问题。

在我们的 和 两篇文章中,我们也提供了一些关于调试 HTML/CSS 的基本指导——如果您不熟悉基础知识,那么在继续之前,您得学习这些文章。

基本上,这是一个如何检查您的 HTML 和 CSS 代码,是否格式正确、不包含任何语法错误的问题。

备注: CSS 和 HTML 之间的一个常见问题,就是不同的 CSS 规则之间发生冲突。当您使用第三方代码时,问题可能大到难以修补。例如,你可能正用着一个 CSS 框架,并发现它使用的一个类名与你已经用于某处的类名冲突。或者,您可能会发现,由某种第三方 API(例如生成广告横幅的脚本)生成的 HTML 包含您已经用于别处的类名称或者 ID。 为了确保不会发生这种情况,您需要首先研究一下您正在使用的工具,了解它们可能使用的类名与 ID,并围绕,或者规避着它们来设计您的代码。设法为 CSS 加上“命名空间”也是值得的,例如,如果有一个小部件,就先确保它有一个独特的类,然后基于这个类来选择元件内的这个类的选择器,这样一来,冲突的可能性就小下来了。例如 .audio-player ul a。

对于 HTML,要确保所有的标签都被正确地关闭和嵌套,写好 DOCTYPE,而且正确地使用各种标签。一个好的策略是定期验证你的代码。一个可以做到这一点的服务是 ,提供您的代码,它就能返回错误列表:

CSS 有一个类似的路线——你需要检查你的属性名拼写是否正确,属性值拼写正确,并且对于它们使用的属性是有效的,你不会丢失任何大括号,等等。为了这个目的,W3C 也有一个 。

另一个很好的选择就是所谓的 Linter 程序,它不仅可以指出错误,还可以标记关于 CSS 中不良做法的警告,以及其他一些要点。大家可以定制 Linter,以得到更严格或者更宽松的错误/警告报告。

有许多在线 Linter 程序,其中最好的可能是“脏标记”(HTML,CSS,JavaScript)和 (仅限 CSS)。它们可以让你把代码粘贴到一个窗口中,并且会用十字标记任何错误,然后可以将它们悬停,以获得错误信息,通知你问题是什么。肮脏的标记还允许您使用清理按钮修复您的标记。

但是,将代码复制并粘贴到网页上以检查其有效性是不太方便的。你真正想要的 Linter 可以和你的工作流更加契合,减免一切窗口切换等麻烦。

许多代码编辑器都有 linter 插件。Github 的 代码编辑器例如有一个丰富的插件生态系统可用,有很多 linting 选项。向您展示一个这样的插件通常如何工作的例子:

  1. 安装 Atom(如果您还没有安装最新版本),请从上面链接的 Atom 页面下载。
  2. 转到 Atom 的*首选项...*对话框(例如在 Mac 上选择 Atom > 或具有突出标题或其他块级元素的其他站点。
  3. 右键/ Cmd +单击有问题的元素并选择 Inspect / Inspect 元素(或者浏览器中的任何选项) - 这应该在浏览器中打开开发工具,在 DOM 检查器中高亮显示该元素。
  4. 寻找可以用来选择该元素的功能。例如,在撰写本文时,主要的 Google 徽标的 ID 为 hplogo。
  5. 将对此元素的引用存储在变量中,例如:
  6. 现在尝试为您感兴趣的 CSS 属性设置一个新的值,你可以使用元素的属性来做到这一点,例如尝试在 JavaScript 控制台中输入这些:

当您开始在第二个点之后键入属性名称表示形式(请注意,在 JavaScript 中,CSS 属性名称是以较低的驼峰大小写,而不是连字符),JavaScript 控制台应该开始自动填充浏览器中存在的属性的名称并匹配到目前为止所写的内容。这对于找出在该浏览器中实现哪个版本的属性很有用。

一旦你找到了你需要支持的前缀,你应该把它们写在你的 CSS 中,例如:

这可以确保所有支持上述任何属性的浏览器都可以使该功能正常工作。值得把非前缀版本放在最后,因为那将是最新的版本,如果可能的话,你会希望浏览器使用它。例如,如果浏览器实现了-webkit-版本和非前缀版本,则它将首先应用-webkit-版本,然后用非前缀版本覆盖它。你希望这样发生,而不是相反。

当然,这样做很多不同的 CSS 规则可能会变得非常乏味。最好使用自动化工具来为你做。而这样的工具存在:

可以附加到页面上,并自动检测浏览器查看页面的功能,并根据需要添加前缀。使用起来非常简单方便,虽然它有一些缺点(请参阅上面的链接了解详细信息),但有一点是可争议的,即在您的站点中解析每个样式表并在运行时添加前缀可能会消耗计算机的处理能力为一个大的网站。

另一个解决方案是在开发过程中自动添加前缀,而这个(和其他的东西除外)可以使用像和这样的工具完成。这些工具可以以多种方式使用,例如 Autoprefixer 有一个,允许您在左侧输入非前缀 CSS,并在右侧给出前缀添加版本。您可以使用列出的符号来选择要确保支持的浏览器; 另请参阅基于此的以获取更多详细信息。例如,以下查询将选择所有主流浏览器的最后 2 个版本和 IE9

Autoprefixer 也可用于其他更便捷的方式 - 请参阅。例如,您可以使用任务运行器/构建工具(如或在开发完成后自动添加前缀。(解释这些工作如何超出本文的范围。)

您也可以使用插件来编辑文本编辑器,如 Atom 或 Sublime 文本。例如,在 Atom 中:

  1. 您可以通过转到首选项>安装,搜索 Autoprefixer,然后安装。
  2. 您可以通过按“Autoprefixer 设置”按钮并在页面的“设置”部分的文本字段中输入查询来设置浏览器查询。

作为一个例子,我们输入了下面的代码:

我们突出显示了它,并运行 Autoprefixer 命令,并用以下代码替换它:

另一个可能出现的问题是浏览器之间布局的差异。从历史上看,这往往是一个更大的问题,但是最近,现代浏览器倾向于更一致地支持 CSS,布局问题往往更倾向于:

  • 对现代布局功能缺乏(或不同)支持。
  • 布局在移动浏览器中看起来不太好(即响应式设计问题)。

备注: 过去,Web 开发人员使用 reset CSS 删除应用于 HTML 的所有默认浏览器样式,然后将自己的样式应用于顶部的所有样式 - 这样做是为了使项目的样式更加一致,并减少可能的跨浏览器问题,特别是像布局的东西。然而现在它被认为过头了。我们现在最好的等价物是,这是一个整齐的 CSS,在默认的浏览器样式上略微增加一点,使事情更加一致,并解决一些布局问题。建议您将 normalize.css 应用于所有的 HTML 页面。

备注: 当试图追踪一个棘手的布局问题,一个好方法是添加一个明亮的颜色到有问题的元素,或附近的所有元素。这使得更容易看到一切放置在哪里。请参阅获取更多详细信息。

今天网络上的大部分布局工作都是使用完成的 - 这是因为浮动支持得很好(可以回到 IE4,尽管如此,如果您尝试支持 IE,也需要调查一些错误很久以前)。但是,它们并不是真正用于布局的目的 - 使用浮动的方式实际上是一种黑客攻击 - 而且它们有一些严重的限制(例如,请参阅)

最近,出现了专门的布局机制,例如和,这些布局机制使常见的布局任务变得更加容易并消除了这些缺点。但是,这些在浏览器中并没有得到很好的支持:

  • CSS Grid 是非常新的;在撰写本文的时候,他们只在最新版本的现代浏览器中才。
  • Flexbox 在现代浏览器中了,但是在旧版浏览器中却存在问题。IE 9 根本不支持它,IE 10 和旧版本的 iOS /桌面 Safari 分别支持 Flexbox 规范的两种不兼容老版本。如果您想尝试在所有这些浏览器上使用 flexbox(请参阅以获得创意),导致一些有趣的浏览器前缀。

布局功能并不像简单的颜色,阴影或渐变那样容易提供优雅的后备。如果布局属性被忽略,你的整个设计可能会崩溃。因此,您需要使用功能检测来检测访问的浏览器是否支持这些布局功能,并根据结果有选择地应用不同的布局(我们将在后面的文章中详细介绍功能检测)。

例如,您可以将 Flexbox 布局应用于现代浏览器,然后将浮动布局应用于不支持 Flexbox 的旧浏览器。

备注: CSS 中还有一个相当新的特性 ,它允许你实现原生特征检测测试。

响应式设计是创建网页布局以适应不同设备形式因素(例如不同的屏幕宽度,方向(纵向或横向)或分辨率)的做法。例如桌面布局在移动设备上看起来会很糟糕,所以您需要使用来提供合适的移动布局,并确保使用正确应用它。您可以在找到这些实践的详细说明。

解决方案也是一个大问题 - 例如,移动设备不太可能需要比台式电脑大的图像,并且更可能具有较慢的互联网连接,并且甚至可能使昂贵的数据计划浪费带宽成为更多的问题。另外,不同的设备可以具有一系列不同的分辨率,这意味着较小的图像可以出现像素化。有许多技术可以让您解决这些问题,从简单的到更复杂的。

可能出现问题的另一个困难是浏览器对使上述技术成为可能的特征的支持。媒体查询没有在 IE 8 或更少的支持,所以如果你想使用移动优先布局和具有桌面布局则适用于旧版本的 IE,你将有一个媒体查询应用于到您的网页,如 或 。

HTML 和 CSS 还有很多其他的问题。最重要的是如何在网上找到答案。

其中最好的支持信息来源是 Mozilla 开发者网络(你现在就在这!), 和 。

为使用 Mozilla 开发者网络(MDN),大多数人会搜索他们正在尝试查找信息的技术,以及术语“mdn”,例如“mdn HTML5 video”。MDN 包含几种有用的内容类型:

  • 带有客户端网络技术浏览器支持信息的参考资料,例如。
  • 其他支持的参考资料,例如 。
  • 解决特定问题的有用教程,例如。

提供支持信息,以及一些有用的外部资源链接。例如,请参阅(您只需在文本框中输入要搜索的功能)。

(SO)是一个论坛网站,您可以提出问题,并让开发人员分享他们的解决方案,查看以前的帖子,并帮助其他开发人员。在发布新问题之前,建议您先看看是否已经回答了您的问题。例如,我们在 SO 上搜索了“cross browser html5 video”,并且很快得到了。

除此之外,请尝试使用您最喜爱的搜索引擎来解决您的问题。如果有的话,搜索特定的错误信息通常很有用 - 其他开发人员可能会遇到与您一样的问题。

现在您应该熟悉 Web 开发中主要的跨浏览器 HTML 和 CSS 问题,以及如何解决这些问题。

我要回帖

更多关于 flash继续播放代码 的文章

 

随机推荐