javascript 开发之网页兼容各种浏览器


Posted in Javascript onSeptember 28, 2017

javascript 开发之网页兼容各种浏览器

前言:

关于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, 希望能对初学者有一定的帮助.

一、CSS HACK

以下两种方法几乎能解决现今所有HACK.

1, !important

随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.)

<style>
#wrapper
{
width: 100px!important;
width: 80px;
}
</style>

2, IE6/IE77对FireFox

*+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签.

<style>
#wrapper
{
#wrapper { width: 120px; }
*html #wrapper { width: 80px;}
*+html #wrapper { width: 60px;}
}
</style>

注意:

*+html 对IE7的HACK 必须保证HTML顶部有如下声明:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

二、万能 float 闭合(非常重要!)

关于 clear float 的原理可参见 [How To Clear Floats Without Structural Markup]

将以下代码加入Global CSS 中,给需要闭合的div加上 class="clearfix" 即可,屡试不爽.

<style>


.clearfix:after
{
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}
.clearfix
{
display:inline-block;
}

.clearfix {display:block;}


</style>

三、其他兼容技巧(再次???

1, FF下给 div 设置 padding 后会导致 width 和 height 增加, 但IE不会.(可用!important解决)

2, 居中问题.

1).垂直居中.将 line-height 设置为 当前 div 相同的高度, 再通过 vertical-align: middle.( 注意内容不要换行.)
2).水平居中. margin: 0 auto;(当然不是万能)

3, 若需给 a 标签内内容加上 样式, 需要设置 display: block;(常见于导航标签)

4, FF 和 IE 对 BOX 理解的差异导致相差 2px 的还有设为 float的div在ie下 margin加倍等问题.

5, ul 标签在 FF 下面默认有 list-style 和 padding . 最好事先声明, 以避免不必要的麻烦. (常见于导航标签和内容列表)

6, 作为外部 wrapper 的 div 不要定死高度, 最好还加上 overflow: hidden.以达到高度自适应.

7, 关于手形光标. cursor: pointer. 而hand 只适用于 IE.

P.S 至于IE5以及其他浏览器就没有必要兼顾了. 在这上面花时间不值得.

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
脚本之家贴图转换+转贴工具用到的js代码超级推荐
Apr 05 Javascript
js实现权限树的更新权限时的全选全消功能
Feb 17 Javascript
js最简单的拖拽效果实现代码
Sep 24 Javascript
checkbox选中与未选中判断示例
Aug 04 Javascript
javascript实现复选框选中属性
Mar 25 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
Aug 11 Javascript
使用JS实现图片展示瀑布流效果的实例代码
Sep 12 Javascript
详解vuejs之v-for列表渲染
Jun 22 Javascript
jQuery制作input提示内容(兼容IE8以上)
Jul 05 jQuery
Element-UI中Upload上传文件前端缓存处理示例
Feb 21 Javascript
vue调用微信JSDK 扫一扫,相册等需要注意的事项
Jan 03 Vue.js
手动实现vue2.0的双向数据绑定原理详解
Feb 06 Vue.js
JavaScript中重名的函数与对象示例详析
Sep 28 #Javascript
js 开发之autocomplete=&quot;off&quot;在chrom中失效的解决办法
Sep 28 #Javascript
微信小程序下拉刷新界面的实现
Sep 28 #Javascript
详解Vuex中mapState的具体用法
Sep 28 #Javascript
Node.js学习之地址解析模块URL的使用详解
Sep 28 #Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
Sep 28 #Javascript
React Native模块之Permissions权限申请的实例相机
Sep 28 #Javascript
You might like
php 中英文语言转换类代码
2011/08/11 PHP
Linux编译升级php的详细方法
2013/11/04 PHP
在Windows XP下安装Apache+MySQL+PHP环境
2015/02/22 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
2016/03/23 PHP
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
javascript setTimeout()传递函数参数(包括传递对象参数)
2010/04/07 Javascript
javascript 函数使用说明
2010/04/07 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
日常收藏的jquery技巧
2015/12/02 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
AngularJS基础 ng-selected 指令简单示例
2016/08/03 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
jQuery内容筛选选择器实例代码
2017/02/06 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
2017/08/30 Javascript
js定时器+简单的动画效果实例
2017/11/10 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
[10:18]2018DOTA2国际邀请赛寻真——Fnatic能否笑到最后?
2018/08/14 DOTA
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
Python基于pyecharts实现关联图绘制
2020/03/27 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
应届生文秘专业个人自荐信格式
2013/09/21 职场文书
食品安全检查制度
2014/02/03 职场文书
建筑工地标语
2014/06/18 职场文书
毕业论文指导教师评语
2014/12/30 职场文书
大学毕业生自我评价
2015/03/02 职场文书
采购内勤岗位职责
2015/04/13 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
postgresql使用filter进行多维度聚合的解决方法
2021/07/16 PostgreSQL
Python中三种花式打印的示例详解
2022/03/19 Python