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 trim函数 去空格函数与正则集锦
Nov 20 Javascript
iframe的父子窗口之间的对象相互调用基本用法
Sep 03 Javascript
使用jQuery实现的掷色子游戏动画效果
Mar 14 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
Mar 03 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
Oct 30 Javascript
JavaScript的MVVM库Vue.js入门学习笔记
May 03 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
Feb 13 Javascript
JS实现十分钟倒计时代码实例
Oct 18 Javascript
记一次vue-webpack项目优化实践详解
Feb 17 Javascript
node微信开发之获取access_token+自定义菜单
Mar 17 Javascript
Vue使用mixin分发组件的可复用功能
Sep 01 Javascript
Electron实现应用打包、自动升级过程解析
Jul 07 Javascript
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中的 == 运算符进行字符串比较
2006/11/26 PHP
php is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
php防攻击代码升级版
2010/12/29 PHP
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
phpcms手机内容页面添加上一篇和下一篇
2015/06/05 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
在JavaScript中实现命名空间
2006/11/23 Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
2015/08/08 Javascript
JS组件Bootstrap Table表格多行拖拽效果实现代码
2015/12/08 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
jquery中用函数来设置css样式
2016/12/22 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
angularJS深拷贝详解
2017/03/23 Javascript
Node.js 异步异常的处理与domain模块解析
2017/05/10 Javascript
vue-router实现webApp切换页面动画效果代码
2017/05/25 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
2018/09/14 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
解决vue请求接口第一次成功,第二次失败问题
2020/09/08 Javascript
[02:32]DOTA2英雄基础教程 美杜莎
2014/01/07 DOTA
Python 文件管理实例详解
2015/11/10 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
2020/02/17 Python
pyinstaller打包找不到文件的问题解决
2020/04/15 Python
基于Python实现粒子滤波效果
2020/12/01 Python
python Zmail模块简介与使用示例
2020/12/19 Python
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
HTML5逐步分析实现拖放功能的方法
2020/09/30 HTML / CSS
屈臣氏乌克兰:Watsons UA
2019/10/29 全球购物
学校安全检查制度
2014/01/27 职场文书
会员卡清退活动总结
2014/08/27 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript