android浏览器兼容性问题,web端常见兼容性问题整理

一、html和css

各浏览器的默认内外边距不一致问题

最明显的是ul标签内外边距问题,ul标签在IE-7中,有个默认的外边距,但是在IE8以上及其他浏览器中有个默认的内边距。

解决办法:*{margin:0;padding:0;}

input 聚焦框颜色与样式不同

解决办法:使用outline:none,清除默认样式之后再统一设置

点击超链接后,hover、active 样式没有效果

解决方案:lvha的顺序来写

link:平常的状态

visited:被访问过之后

hover:鼠标放到链接上的时候

active:链接被按下的时候

cursor:hand在safari 、 ff下不支持

解决办法:统一用cursor:pointer

块级元素里面几个line-block类型元素并排会产生空白间距

1.jpg

2.jpg

3.jpg

20180902141916123250.png

解决方案:

父元素上设置 font-size:0

IE6 png背景图片不会透明

解决方案:使用png8或参考https://blog.youkuaiyun.com/aftermeet/article/details/46734409

IE6 双倍边距BUG,在块级元素浮动后本来外边距10px,但IE解释为20px

解决方案:_display: inline

IE6 3像素bug

浮动块元素与未浮动块元素处于同一行,有默认的3px间距

解决办法:将未浮动元素也变为浮动

IE6 img图片下方多出5px

解决方案:让图片变成块级元素

IE6 父元素postion:relative,子元素position:absolute时left和top失效

解决方案:1、给父层设置zoom:1触发layout。 2、给父层设置width

IE6-7 默认的div高度为一个字体高度,当div定义的高度小于字体高度时,div实际高度为字体高度

解决方案:

为这个容器设置下列属性之一

1、设置overflow:hidden;

2、设置line-height:1px;

3、设置zoom:0.08

IE6-7的宽高计算

宽高与w3c定义的不一致,以宽度为例,它包含了内容块宽度+padding宽度+border宽度

IE6-7 line-height 失效的问题

当一个容器里的文字与img、input、textarea、select、object等元素相连时,对这个容器设置的line-height数值就会失效

解决办法:在其中一个非文字的对象的样式中增加:

margin: (容器的line-height - 对象本身的高度)/2px 0;

vertical-align:middle;

IE6不支持min-width/min-height

解决方案:

min-height:200px; height:auto !important; height:200px;

IE6 不支持!important、不支持子选择器

IE6-7不支持display:table-cell

该属性一般用在垂直居中,可以使用其它解决方案

IE6不支持position:fixed

只使用使用position:absolute来模拟的话会出现滚动闪烁,需进一步处理,完整方案

IE6-9 和 Firefox 3 中a内部img元素默认的边框

img{ border:none;}

IE9以下浏览器不能识别css opacity属性

解决方案:使用ie的css透明度属性

filter: alpha(opacity = 50);

filter: progid:DXImageTransform.Microsoft.Alpha(style = 0, opacity = 50);

ie9 以下浏览器对 html5 新增标签不识别的问题

解决方案:使用html5shiv.js

ie9 以下浏览器不支持 CSS3 Media Query

解决方案:使用respond.js

IOS横竖屏切换时字体自动缩放

例如竖屏状态下是14px,转换为横屏时就变成了20px

解决方案:-webkit-text-size-adjust: 100%

IOS overflow: scroll滑动卡顿的问题

解决方案:-webkit-overflow-scrolling:touch

IOS输入框默认有内阴影

解决方案:input{ -webkit-appearance:none;}

触摸元素时产生半透明背景(IOS  Android)

element{ -webkit-tap-highlight-color:rgba(255,255,255,0);}

伪类:active失效(IOS  Android)

解决方案:

移动端1px边框问题

在移动端中,如果给元素设置一个像素的边框的话,那么在手机上看起来是会比一个像素粗。

解决方法:使用伪类元素模拟边框,使用transform缩放

.a::after{ content: ‘‘; display: block; width: 100%; height: 1px; background: #333; position: absolute;left: 0;bottom: 0; transform: scaleY(0.5) }

android 4.x 设置了border-radius和背景色时,背景色溢出到圆角之外

解决方案: background-clip:padding-box;

首次渲染CSS3动画时闪烁BUG

部分webkit内核手机浏览器在使用transform:translate或transition属性时,会出现闪烁现象

解决方案:

.css {

-webkit-transform-style: preserve-3d;

-webkit-backface-visibility: hidden;

-webkit-perspective: 1000;

}

IOS  input+fixed定位+软键盘问题

IOS8以下input元素使用了fixed定位,获取焦点弹出软键盘后,再滚动页面则该元素会随页面滚动

20180902141916539265.png

解决思路:把页面上需要滚动的区域移到一个容器中,然后对容器使用overflow-y:scroll来滚动

.main {

/* main绝对定位,进行内部滚动 */

position:absolute;

top:50px;

bottom:34px;

/* 使之可以滚动 */

overflow-y:scroll;

}

main .content {

### WordPress 网站在不同浏览器上的兼容性问题及解决方案 #### IE 浏览器兼容性问题及其解决方法 WordPress 在低版本 Internet Explorer (IE) 上可能遇到样式混乱等问题。这主要是由于较低版本的 IE 对现代 Web 技术的支持有限,特别是对 HTML5 和 CSS3 的解析能力不足所致[^1]。 为了改善这一情况,建议采取如下措施: - **使用 Polyfill 或 Shims**: 这些工具可以帮助弥补旧版浏览器的功能缺失,使它们能够更好地理解新的标记语言特性。 - **条件注释加载特定样式表**: 针对不同的 IE 版本应用专门设计过的 CSS 文件来修正布局错误。 - **移除不必要的插件和主题功能**: 某些高级交互效果依赖于 JavaScript 库或其他资源文件,在老旧环境中可能会引发冲突或性能下降。 ```html <!--[if lt IE 9]> <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script> <![endif]--> ``` #### WebGL 及 Three.js 的兼容性考量 当涉及到图形渲染时,像 Three.js 这样的库仅限于较高版本的 IE(即 IE11+),而对于更低版本则完全不支持。因此,针对这部分用户的体验优化显得尤为重要[^2]。 一种可行的方法就是采用所谓的“优雅降级”,即提供简化后的视觉呈现给那些不具备最新技术环境下的访问者。例如减少动画数量、降低图像质量或是干脆放弃某些特效展示。 #### Safari 和 Chrome 中 `position: sticky` 属性处理方式 尽管大多数主流桌面浏览器都较好地实现了此属性,但在早期版本的 Safari 中仍可能存在一些缺陷,特别是在复杂页面结构下可能导致预期行为失常的情况发生[^3]。 为此可利用媒体查询配合检测机制来进行针对性调整: ```css .sticky { position: -webkit-sticky; position: sticky; top: 0; } @supports not ((position: -webkit-sticky) or (position: sticky)) { .sticky { position: fixed !important; } } ``` 上述代码片段通过双重定义 `-webkit-sticky` 和标准形式 `sticky` 来确保跨平台一致性;同时借助 `@supports` 规则为非支持设备指定替代方案。 #### 移动 `<video>` 自动播放难题应对策略 考虑到 iOS 设备以及部分 Android 平台对于多媒体控件有着严格的安全限制,直接尝试调用 autoplay 参数往往难以奏效甚至被忽略掉[^4]。 对此类情形推荐的做法包括但不限于: - 设置 muted 属性允许静音状态下触发自动播放; - 利用 JavaScript API 实现点击事件启动影片回放; - 将视频转换成 GIF 动图用于封面预览从而规避权限障碍。 综上所述,面对多变复杂的浏览终生态体系,开发者应当充分重视并积极寻找有效的手段去克服各种潜在的技术壁垒,以保障最终呈现出一致且优质的用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值