解决CSS在浏览器不兼容的问题
浏览器的不兼容,大家肯定都是深恶痛绝的,往往我们只是去做修补,却忘了更重要的事情,那就是追溯根源,避免类似的不兼容再次出现。
在下不才,归纳几点html编码要素,望能指点各位:
1.文字本身的大小不兼容。同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,ie下实际占高16px,下留白3px,ff下实际占高17px,上留白1px,下留白3px,opera下就更不一样了。解决方案:给文字设定 line-height 。确保所有文字都有默认的 line-height 值。这点很重要,在高度上我们不能容忍1px 的差异。
2.ff下容器高度限定,即容器定义了height之后,容器边框的外形就确定了,不会被内容撑大,而ie下是会被内容撑大,高度限定失效。所以不要轻易给容器定义height。
3.还讨论内容撑破容器问题,横向上的。如果float 容器未定义宽度,ff下内容会尽可能撑开容器宽度,ie下则会优先考虑内容折行。故,内容可能撑破的浮动容器需要定义width。
小实验:有兴趣大家可以看看这段实验。在不同浏览器下分别测试以下各项代码。
a.
c. d.
上面的代码在不同浏览器中是不一样的,实验起源于对小height 值p 的运用,,小height 值要配合overflow:hidden一起使用。实验好玩而已,想说明的是,浏览器对容器的边界解释是大不相同的,容器内容的影响结果各不相同。
4.浮动的清除,ff下不清除浮动是不行的。
纠正大家一个误区,遇到不兼容就说ff烂是不对的,其实更多时候是ie的奇怪表现让我们无所适从。以下列出ie6的种种劣迹。
5.最被痛恨的,double-margin bug。ie6下给浮动容器定义margin-left 或者margin-right 实际效果是数值的2倍。解决方案,给浮动容器定义display:inline。
6.mirrormargin bug,当外层元素内有float元素时,外层元素如定义margin-top:14px,将自动生成margin-bottom:14px。padding也会出现类似问题,都是ie6下的特产,该类bug 出现的情况较为复杂,远不只这一种出现条件,还没系统整理。解决方案:外层元素设定border 或 设定float。
引申:ff 和ie 下对容器的margin-bottom,padding-bottom的解释有时不一致,似乎与之相关。
7.吞吃现象,限于篇幅,我就不展开了。还是ie6,上下两个p,上面的p设置背景,却发现下面没有设置背景的p 也有了背景,这就是吞吃现象。对应上面的背景吞吃现象,还有滚动下边框缺失的现象。解决方案:使用zoom:1。这个zoom好象是专门为解决ie6 bug而生的。
8.注释也能产生bug~~~“多出来的一只猪。”这是前人总结这个bug使用的文案,ie6的这个bug 下,大家会在页面看到猪字出现两遍,重复的内容量因注释的多少而变。解决方案:用“ picRotate start ”方法写注释。
9.里加 float ,这是一个典型的,棘手的兼容问题,希望引起大家正视 ,给li 不同的属性会有不同的解释效果,ff下的解释稍可理解,ie6下的解释会让你摸不着头脑,由于问题的复杂性,将另起一文专门讨论该问题。在《ul使用心得》一文里有相关成果,却没给出问题解决的过程。
10.使用了“float:left;display:inline”的ul的奇怪表现。可以看出这句css是针对ie6下的double margin bug 而加上的display:inline,这也是我的css体系里的重要一环,在《ul使用心得》一文中有相关阐述。而这句css用在ul上会让你痛苦不堪。点到为止,这里不能多说哈。
以上是解决CSS在浏览器不兼容的问题的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

要在UbuntuLinux中删除FirefoxSnap,可以按照以下步骤进行操作:打开终端并以管理员身份登录到Ubuntu系统。运行以下命令以卸载FirefoxSnap:sudosnapremovefirefox系统将提示你输入管理员密码。输入密码并按下Enter键以确认。等待命令执行完成。一旦完成,FirefoxSnap将被完全删除。请注意,这将删除通过Snap包管理器安装的Firefox版本。如果你通过其他方式(如APT包管理器)安装了另一个版本的Firefox,则不会受到影响。通过以上步骤

mozilla firefox可以卸载;firefox属于第三方浏览器,如果不需要,完全可以卸载。卸载方法:1、在开始菜单中,依次点击“Windwos系统”-“控制面板”;2、在“控制面板”界面中,点击“程序和功能”;3、在新界面中,找到并双击火狐浏览器图标;4、在卸载弹窗中,点击“下一步”;5、点击“卸载”即可。

近日消息,Mozilla在发布Firefox112稳定版的同时,也宣布下个主要版本Firefox113进入Beta频道,支持AV1动图、增强密码生成器和画中画特性。火狐浏览器Firefox113主要新功能/新特性如下支持AV1格式动图(AVIS)通过引入特殊字符来增强密码生成器的安全性增强画中画功能,支持后退、显示视频时间,能更轻松地启用全屏模式为Debian和Ubuntu发行版提供官方DEB安装文件更新书签导入功能,默认情况下支持导入书签的图标在支持的硬件上默认启用硬件加速AV1视频解码使用w

对于爬虫爬取需要登录的网站,验证码或扫码登录是一个很困扰的问题。Scrapy是Python中一个非常好用的爬虫框架,但是在处理验证码或扫码登录时,需要采取一些特殊的措施。作为一个常见的浏览器,MozillaFirefox提供了一种解决方案,可以帮助我们解决这个问题。Scrapy的核心模块是twisted,它只支持异步请求,但是一些网站需要使用cookie和

Apple已发布适用于iPhone、iPad、Mac和AppleWatch的更新。尽管每个设备的更新都很小,但它们解决了WebKit漏洞。该公司还保证已经修复了一个错误,该错误会导致MacBook笔记本电脑意外耗尽电池。AppleiOS和iPadOS15.3.1是次要更新。它实际上不包含任何主要功能。但是,它对使用盲文显示器的人很有用。此外,该更新还解决了任意代码执行漏洞。iOS15.3.1的更新说明提到:iOS15.3.1为您的iPhone提供了重要的安全更新,并修

Canonical公司近日宣布,在即将发布的Ubuntu23.10中,FirefoxSnap已配置默认在Wayland模式下运行。注:Ubuntu目前已经默认Wayland会话,Firefox也能正常工作。不过当前FirefoxSnap实际上是以XWayland兼容模式下运行,而不是严苛的原生Wayland模式。Canonical宣布默认会在Wayland模式下运行Firefox浏览器,从而在HiDPI显示器不会出现界面模糊、缩放失真等问题,并且支持拖动、手势捏合等触控手势。如上所述,Ubunt

1月26日消息,欧洲地区的iPhone用户升级iOS17.4Beta1更新之后,打开Safari浏览器之后会看到新窗口,支持更换默认浏览器。欧洲地区用户可以根据自己的偏好,设置包括Firefox、Opera、Chrome、Brave和MicrosoftEdge等非Safari浏览器了。浏览器应用现在也可以使用WebKit以外的浏览器引擎,包括浏览器应用和应用内的浏览体验。苹果此前要求包括Chrome浏览器和火狐浏览器等常用浏览器在内,iOS上的所有浏览器都必须使用WebKit引擎,今后Chrom

今日最新消息,Mozilla今天正式发布了火狐浏览器Firefox115稳定版更新,本次更新最值得关注一点是,这是支持Win7/Win8、macOS10.12、10.13和10.14的最后一个版本。下载地址:https://ftp.mozilla.org/pub/firefox/releases/115.0/Mozilla在官方更新日志中表示:微软于2023年1月结束了对Win7和Win8系统的支持,而今天发布的Firefox115版本是上述系统用户收到的最后一个版本更新。Win7和Win8用户
