如何写出兼容性强的CSS代码,适应各种浏览器:IE、火狐等

简介:

关于CSS,我相信刚入门或者入门没有多久的人都会觉得,CSS太难兼容各个浏览器,兼容了IE6不兼容IE7,兼容了IE7的话IE6又有问题,还有IE8,IE9,FirFox,Chrome等等浏览器

或许你会从网上去找兼容各种浏览器的不同方法,比如所说的hackbox,这是利用不同浏览器对于一些特别的代码的认可性。比如:
.class{margin-left:10px;}
*html  .class{ margin-left:20px;}

这样写的话class左边外间距就是10px,那么*html只能在IE6下面被识别,其他浏览器是不认识他,那么其他浏览器依然是左边外间距10px, 然而在IE6下面则成了20px,这个和程序一样,代码从上往下执行,下面的覆盖上面的。除了这样的还有其他的各种浏览器的不同标签,还有<!– !important –>等等。这样做也太繁琐了,而且终究不是正道,或许我们会想有没有一种代码方式,可以不用做特殊处理就兼容各种浏览器呢?有。

CSS代码写出来为什么不会兼容各种浏览器?你 去网上搜索一下,主要原因还是各种浏览器对于margin,以及padding还有float等几种个别的属性不兼容而已,所以我们尽量的要处理好这几种 属性,或者可以说是避免使用margin以及padding。你可能会问,不使用margin和padding的话能用CSS写出合适的页面吗?内外间距 怎么办?怎么处理?

我们拿一个很简单的例子来说吧,
<ul>
<li></li>
<li></li>
</ul>
我相信以上这四行代码在写CSS的时候再常见不过了,而这段代码就这么直接产生的效果肯定不是我们想要的,我们要给它调颜色,间距等等,然而调间距就涉及 到了margin和padding,然后涉及到这两个东西的时候又会造成各个浏览器显示的内容不一样,那么,我们可不可以换一种方式来达到我们要的效果 呢?当然可以,我们直接给<li>标签设置固定的高度,宽度,以及行高,这样也可以达到我们想要的效果,你不妨试一下。

至于float造成的变形,也很好办,比如一行三个栏目,不要想着前面两个栏目float:left;第三个就不用了,不要珍惜那一句代码,第三个也要写上,这一行布局完之后记得清除浮动,clear:clearboth;然后再开始布局下一行。

还有比较重要的一点就是,浏览器对于CSS的各种属性的默认值是不一样的,所以在刚开始一定要定义全局代码,清除margin,padding等等,这样不仅仅对于兼容浏览器有帮助,也对于你能写出高效代码有帮助。

CSS代码布局要严谨,每个DIV宽和高(有时候需要auto)是多少px就是px,一定要定义清楚,因为各个浏览器的默认值也不一样,还有就是为 每个div都用上overflow:hedden;清楚溢出,这样即使是有些地方使用了paddding,也不对你的整体布局造成明显的影响。

最后,还是需要多多尝试,多多思考,多多总结。以上内容页是我自己慢慢摸索出来的。




本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/archive/2011/06/28/2092116.html,如需转载请自行联系原作者

相关文章
|
2月前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
26天前
|
前端开发 搜索推荐 UED
实现 CSS 动画效果的兼容性
【10月更文挑战第16天】实现 CSS 动画效果的兼容性需要对不同浏览器的特性有深入的了解,并采取适当的策略和方法。通过不断的实践和优化,你可以在各种浏览器上创造出流畅、美观且兼容的动画效果,为用户带来更好的体验。在实际开发中,要密切关注浏览器的发展动态,及时掌握最新的兼容性技巧和解决方案,以确保你的动画设计能够在广泛的用户群体中得到良好的呈现。
103 58
|
26天前
|
前端开发
用 CSS 实现兼容性渐变背景效果
【10月更文挑战第17天】
78 43
|
1月前
|
JavaScript 前端开发
|
1月前
|
Web App开发 前端开发 JavaScript
|
3月前
|
JavaScript
VUE——如何兼容IE9|IE10|IE11浏览器
VUE——如何兼容IE9|IE10|IE11浏览器
136 0
VUE——如何兼容IE9|IE10|IE11浏览器
|
3月前
|
Rust 安全 JavaScript
Rust 和 WebAssembly 搞大事啦!代码在浏览器中运行,这波操作简直逆天!
【8月更文挑战第31天】《Rust 与 WebAssembly:将 Rust 代码运行在浏览器中》介绍了 Rust 和 WebAssembly 的强大结合。Rust 是一门安全高效的编程语言,而 WebAssembly 则是新兴的网页技术标准,两者结合使得 Rust 代码能在浏览器中运行,带来更高的性能和安全性。文章通过示例代码展示了如何将 Rust 函数编译为 WebAssembly 格式并在网页中调用,从而实现复杂高效的应用程序,同时确保了内存安全性和跨平台兼容性,为开发者提供了全新的可能性。
143 0
|
4月前
|
安全 网络安全
用IE浏览器访问网站提示证书错误
当你在Internet Explorer中遇到证书错误提示,通常是因网站SSL/TLS证书问题或浏览器安全设置需调整。解决方法包括: 检查时间设置 调整IE设置 安装证书 调整计算机时间
111 3
|
14天前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式
|
11天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。