Firefox下网页缩放时防止div被挤到下一层

http://wu110cheng.blog.163.com/blog/static/13334965420121120102439190/

Firefox下网页缩放时防止div被挤到下一层

问题:三个div,一个div中包含两个浮动带有border边框的div;且样式设计中保证两个div全部宽度之和等于外层div的宽度。在火狐下缩放网页显示比例小于100%时,会导致右边div被挤到下一行。

案例:

<style>

*{ margin:0; padding:0;}

#box{width:300px; height:200px; margin:0 auto;}

#a{width:148px; height:198px; background:#999; border:#F00 solid 1px; float:left;}

#b{width:148px; height:198px; background:#999; border:#F00 solid 1px; float:left;}

</style>

<div id="box">

<div id="a"></div>

<div id="b"></div>

</div>

在Firefox及IE8中出现同样的问题,IE7下不会出现该问题。

原因:Firefox及IE8中,在缩放网页显示比例小于100%时,对容器的border属性的缩放处理未保持等比例。这样两个div的最后总宽度仍大于外层宽度,自动溢出到下一行。

解决方法

A:折中方法,将外层div的宽度设置稍微大些;或者在内层两个div之间多留些间距(不使用marging或paddding填充间距)。
B:在内外层容器之间添加中间层,见下文

解决案例B

<style>

*{ margin:0; padding:0;}

#box{width:300px; height:200px; margin:0 auto;}

#a{width:150px; height:200px; float:left;}

#a1{width:148px; height:198px; background:#999; border:#F00 solid 1px;}

#b{width:150px; height:200px; float:left;}

#b1{width:148px; height:198px; background:#999; border:#F00 solid 1px;}

</style>

<div id="box">

<div id="a"><div id="a1"></div></div>

<div id="b"><div id="b1"></div></div>

</div>

其他类似缩放问题同理。

经目测,当前市面未普及涉及页面缩放功能的web标准,因此大多数涉及该部分内容的web页面均存在该bug

时间: 2024-10-29 19:11:08

Firefox下网页缩放时防止div被挤到下一层的相关文章

网页制作过程中div定位的三个问题

这几天要做单位的网站,对于做网站我也不怎么样,于是我便在网上参考了一个比较满意的网站,套一下来把这个工作结束了.在此期间遇到了三个关于div定位问题, 一般网站用div布局时都是从上到下分head .body. foot几部分 ,head .body和foot 再从上到下从左到右分几块,在这中间我遇到了一个问题,本来从上到下分了几块计划都是不用绝对定位的,可是在这个过程中我把网页的第一部分topup块position设置成了absolute,在紧邻着他的mainbanner块习惯性的也加上了po

代教材之(用DIV+CSS定义漂亮下拉框select)

1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 <title>代教材之

php获取网页中图片与DIV内容实例

分享下php获取网页中图片.DIV内容的简单方法,都是通过正则表达式实现的. 1.获取网页中所有的图片: <?php //取得指定位址的內容,并储存至 $text $text=file_get_contents('http://www.jbxue.com/'); //取得所有img标签,并储存至二维数组 $match 中 preg_match_all('/<img[^>]*>/i', $text, $match); //打印出match print_r($match); ?>

内容高度小于窗口高度时版权div固定在底部

<!doctype html><html><head><meta charset="utf-8"><title>文档内容高度小于窗口高度时底部版权始终在底部-懒人建站</title><meta name="description" content="网站建设中经常遇到文档内容高度小于窗口高度时底部版权始终在底部的问题,纯css不太好解决这个问题,这里使用js代码来对检测文档高度和

JQuery/JS插件 jsTree加载树,初始化时加载前三级节点,当展开第三级节点时 就加载该节点下的所有子节点

jsTree加载树, 初始化时 加载前三级节点, 当展开第三级节点时 就加载该节点下的所有子节点 html: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <div id="plugins1"></div> <link

linux下安装Oracle时交换空间不足的解决方法

摘:linux下安装Oracle时交换空间不足的解决方法 linux上安装Oracle时交换空间不足的解决办法 增加交换空间有两种方法: 严格的说,在系统安装完后只有一种方法可以增加swap,那就是本文的第二种方法, 至于第一种方法应该是安装系统时设置交换区. 1.使用分区: 在安装OS时划分出专门的交换分区,空间大小要事先规划好,启动系统时自动进行mount. 这种方法只能在安装OS时设定,一旦设定好不容易改变,除非重装系统. 2.使用swapfile:(或者是整个空闲分区) 新建临时swap

delphi 16 网页缩放

网页放大 网页缩小 WebBrowser1.OleObject.Document.Body.Style.Zoom := 0.50; 缩放网页 Ctrl+中键↑ 放大 Ctrl+中键↓ 缩小 const   OLECMDID_OPTICAL_ZOOM = 63;var  ZoomIn: OleVariant;begin  ZoomIn := 10;  WebBrowser1.ExecWB(OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DODEFAULT, ZoomIn)

Linux下多网卡时,如何快速辨别网卡ID与物理网卡的对应关系(即ethtool命令)

一般购买的服务器都有4个网卡,这个时候在安装好服务器后,配置IP的时候就郁闷了 如是一个浪潮8560M2服务器安装Redhat后的网卡显示: [[email protected] ~]# ifconfig -a eth0      Link encap:Ethernet  HWaddr 00:E0:ED:2D:0F:58 inet addr:192.168.4.10  Bcast:192.168.4.255  Mask:255.255.255.0 UP BROADCAST RUNNING MUL

webView实现网页缩放

项目中遇到要实现webview上面的网页缩放功能,在网上查了资料加自己实践后得出结论: //缩放开关,设置此属性,仅支持双击缩放,不支持触摸缩放 mWebView.getSettings().setSupportZoom(true); //设置是否可缩放,会出现缩放工具(若为true则上面的设值也默认为true) mWebView.getSettings().setBuiltInZoomControls(true); //隐藏缩放工具 mWebView.getSettings().setDisp