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 相关文章推荐
JavaScript 学习笔记 Black.Caffeine 09.11.28
Nov 30 Javascript
查询绑定数据岛的表格中的文本并修改显示方式的js代码
Dec 15 Javascript
基于jquery的动态创建表格的插件
Apr 05 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
Jun 30 Javascript
javascript实现拖放效果
Dec 16 Javascript
如何用js实现鼠标向上滚动时浮动导航
Jul 18 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
Jul 07 Javascript
Bootstrap模态对话框中显示动态内容的方法
Aug 10 Javascript
Node.js中package.json中库的版本号(~和^)
Apr 02 Javascript
小程序点击图片实现png转jpg
Oct 22 Javascript
关于vue属性使用和不使用冒号的区别说明
Oct 22 Javascript
Vue 列表页带参数进详情页的操作(router-link)
Nov 13 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输出英文时间日期的安全方法(RFC 1123格式)
2014/06/13 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
Jquery + Ajax调用webService实例代码(asp.net)
2010/08/27 Javascript
利用json获取字符出现次数的代码
2012/03/22 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
微信小程序 wx.uploadFile无法上传解决办法
2016/12/14 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
react-native 封装选择弹出框示例(试用ios&amp;android)
2017/07/11 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
解决Vue router-link绑定事件不生效的问题
2020/07/22 Javascript
jQuery实现简单QQ聊天框
2020/08/27 jQuery
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
Python处理XML格式数据的方法详解
2017/03/21 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
2019/03/18 Python
如何为Python终端提供持久性历史记录
2019/09/03 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
日本民宿预约平台:STAY JAPAN
2017/07/01 全球购物
Diptyque英国官方网站:源自法国的知名香氛品牌
2019/08/28 全球购物
自考生自我评价分享
2014/01/18 职场文书
幼儿园美术教学反思
2014/01/31 职场文书
工作决心书范文
2014/03/11 职场文书
地理信息科学专业推荐信
2014/09/08 职场文书
法定代表人证明书
2014/11/28 职场文书
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
vue实力踩坑之push当前页无效
2022/04/10 Vue.js