Web 前端开发中一些兼容性问题及其解决办法 (持续更)

浏览器兼容是前端开发人员必须掌握的一个技能,之前听过一句话:我们应该追求最新的浏览器使用最新的技术,但是一定要有渐进增强,向后兼容的思想。本篇文章就笔者自己平时遇到的一些兼容问题做个记录和整理。

1、IE8下元素有宽高但是元素没有内容时,对元素添加事件如click等无效 (埋链接和在图片上埋按钮时会经常遇到这个问题)

   在IE8中如果元素没有内容,即便元素有宽和高,浏览器还是不能识别,这时一个很好的办法就是对该元素设置背景色,然后再让元素的透明度为0,这样元素背景色并不会显示,且元素内有内容,能够被IE8识别到。

CSS:

.box{
    width:100px;
    height:100px;
    background-color:orange;
    opacity:0;
    filter:alpha(opacity=0);
  }

HTML:

<div class="box"></div>

2、Safari浏览器调用手机软键盘时会出现诸如闪屏、页面自动滚动等问题,原因是position:fixed属性失效了

出现闪屏的原因是:fixed 元素失效,键盘定位无效,导致页面和键盘一起滚动

解决思路:如果页面不会因过长而出现滚动,那么即使 fixed 元素失效,键盘也不会跟随页面滚动,也就不会出现上面的问题了。

解决方法:(1)让fixed元素父级的高度不超过浏览器窗口高度

     (2)将原页面的整个内容放到一个宽为浏览器窗口宽度,高为浏览器窗口高度的容器container内,并设置container 的overflow-y属性为scroll,此时加上css3属性保证页面滚动时的流畅性:-webkit-overflow-scrolling : touch; 

       (3)让fixed的父级与container在同一级,这样整个页面的高度就不会超出浏览器窗口的高度,此时可以将fixed属性换成absolute属性,效果是一样的。

HTML:

<html>  <body>    <div class="container">
      <!-- content -->
    </div>
    <div class="fix-box">
      <input class="input" type="text" >
    </div>  </body></html>

CSS:

.container{
  width:100%;
  height:100%;
  overflow-y:scroll;
  -webkit-overflow-scrolling : touch;
}
.fix-box{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
}
时间: 2024-10-15 18:51:56

Web 前端开发中一些兼容性问题及其解决办法 (持续更)的相关文章

WEB前端开发中的图片压缩

web前端开发中,图片的重要性不言而喻,而由于一些图片的大小加上现在国内的网速不给力等种种原因,我们非常有必要对网站使用的图片进行压缩,压缩图片必然会带来图片质量的损失,我们要尽可能的在质量降低很小的情况下压缩图片,以便让网站更快的加载,提高用户体验度. 我在工作中,压缩图片用到了三个方法,分享给大家: 一.使用windows自带的画图工具 1.使用画图工具打开想要压缩的图片:2.什么都不用做,直接另存为你想要的图片格式,你会发现它比源文件小了很多,而且质量看不出来损失. 这个方法简单,快捷,压

web前端开发中的浏览器兼容性总结

1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果div里的实际内容大于所设高度,在FF中会出现两个div重叠的现象:但在IE中,下面的div会自动给上面的div让出空间所以为避免出现层的重叠,高度一定要控制恰当,或者干脆不写高度,让他自动调节,比较好的方法是 height:100%;但当这个div里面一级的元素都float了的时候,则需要在div块的

web前端开发中常用的尺寸和位置

我们在日常web前端开发过程中,会经常用到各种尺寸和位置.通常是js做动画的时候.轮播图,滚屏动画,粒子,碰撞检测,拖拽,滚动加载等等.这里我将常用的尺寸和位置的获取进行总结,不包括canvas,SVG. 在web页面开发中,尺寸和位置分为屏幕的尺寸和位置,元素的尺寸和位置,还有一个是文档的尺寸和位置,不过文档的尺寸和位置是通过document.body获取的,也算是一个元素.还有鼠标的位置.所以尺寸和位置主要分为三类: 屏幕尺寸和位置 元素尺寸和位置 特殊的元素,文档的尺寸和位置 鼠标的位置(

px em rem在WEB前端开发中的区别

我们都知道基于像素的字体大小所用的单位是px,但是随着响应式设计的不断火热,基于相对字体大小的单位em变开始流行起来.当然,rem也在Web前端开发人员讨论如何更好设置字体大小的讨论话题之列.是不是需要用em或者是rem来替换掉px在前端开发中进行使用呢? 为什么我们需要使用相对字体大小呢? 或许我们最能直接想到的一点就是它关于CSS3的一些东西.很好理解的是它是一种字号计算方式,尤其是当你在为多种分辨率进行字号计算的时候.想想要在手机上实现字体变大或者变小的时候,你不得不要反复重新计算对象的字

web前端开发的浏览器兼容性

首先我们来看一下目前市面上常见的一些浏览器:ie.chrome.firefox.safari.opera.maxthon.360.qq.yy.uc.sogou.2345.淘宝.猎豹.世界之窗等 其中表现很出色的有chrome.firefox.safari等:而表现极差的就是ie6/7内核浏览器了,我们的兼容性工作大半都是围绕这两个浏览器内核展开 我们的常规处理方式是调试各浏览器网页显示效果.使用成熟的前端开发框架.运用css与hack技巧等 常见hack技巧 css _:ie6内核浏览器识别 c

转:【web前端开发】浏览器兼容性处理大全

解决思路: ①.写代码的时候遵循W3C标准,按照最新稳定版本的IE或WebKit内核浏览器进行编码 ②.遇到部分无法全面解决浏览器兼容的时候,采取CSS的hack手段进行针对性微调.简单的说,CSS hack的目的就是使你的CSS代码兼容不同的浏览器. ③.遇到特别难解决的,可以用JS强制修改. 1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果div

【web前端开发】浏览器兼容性处理大全

1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果div里的实际内容大于所设高度,在FF中会出现两个div重叠的现象:但在IE中,下面的div会自动给上面的div让出空间所以为避免出现层的重叠,高度一定要控制恰当,或者干脆不写高度,让他自动调节,比较好的方法是 height:100%;但当这个div里面一级的元素都float了的时候,则需要在div块的

第141天:前端开发中浏览器兼容性问题总结(二)

1. 默认的内外边距不同 问题: 各个浏览器默认的内外边距不同 解决: *{margin:0;padding:0;} 2.水平居中的问题 问题: 设置 text-align: center   ie6-7文本居中,嵌套的块元素也会居中 ff /opera /safari /ie8文本会居中,嵌套块不会居中 解决: 块元素设置 1.margin-left:auto;margin-right:auto 2.margin:0 auto; 3.<div align="center">

Android开发中的问题及相应解决(持续更新)

最近博客写的少了,以后还得经常更新才行. ------------------------------------------------------------ 1.try cath 异常不全导致的意外问题. 之所以将此问题放在第一位,是因为前阵子中项目中出现了此类情况,并且这种情况很容易不注意或遗忘,但其错误却是致命的. 在Java/Android开发中,当调用一个函数时,此函数抛出一个A类型的异常,很自然的,在调用的地方我们会try.. catch此异常,并且绝大多数情况下,捕获异常是由E