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 相关文章推荐
jQuery创建自己的插件(自定义插件)的方法
Jun 10 Javascript
如何在父窗口中得知window.open()出的子窗口关闭事件
Oct 15 Javascript
JavaScript数组去重的3种方法和代码实例
Jul 01 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
Apr 14 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
Aug 18 Javascript
JavaScript实战(原生range和自定义特效)简单实例
Aug 21 Javascript
省市区三级联动jquery实现代码
Apr 15 Javascript
使用vue.js写一个tab选项卡效果
Mar 25 Javascript
JS轮播图实现简单代码
Feb 19 Javascript
vue利用v-for嵌套输出多层对象,分别输出到个表的方法
Sep 07 Javascript
vuejs数据超出单行显示更多,点击展开剩余数据实例
May 05 Javascript
微信小程序云开发实现数据添加、查询和分页
May 17 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+mysql一个名片库程序
2006/10/09 PHP
php 防止单引号,双引号在接受页面转义
2008/07/10 PHP
php文件下载处理方法分析
2015/04/22 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
php+ajax登录跳转登录实现思路
2016/07/31 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
一个javascript参数的小问题
2008/03/02 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
2014/10/09 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
如何更好的编写js async函数
2018/05/13 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
JS插件amCharts实现绘制柱形图默认显示数值功能示例
2019/11/26 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
Vue如何提升首屏加载速度实例解析
2020/06/25 Javascript
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
实例解析Python设计模式编程之桥接模式的运用
2016/03/02 Python
python操作redis方法总结
2018/06/06 Python
python引入不同文件夹下的自定义模块方法
2018/10/27 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
Python同时迭代多个序列的方法
2020/07/28 Python
Python os库常用操作代码汇总
2020/11/03 Python
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
就业推荐自我鉴定
2013/10/06 职场文书
环境工程大学生个人的自我评价
2013/10/08 职场文书
会计主管岗位职责范文
2013/11/08 职场文书
运动会表扬稿大全
2014/01/16 职场文书
家长对孩子的感言
2014/03/10 职场文书
2014年服务员个人工作总结
2014/12/23 职场文书
2015年春训学习心得体会范文
2015/03/09 职场文书
公司董事任命书
2015/09/21 职场文书