CSS:缩放更改时两列 Div 布局未对齐

IT技术 javascript html css
2021-03-07 10:01:15

请参阅 jsFiddle http://jsfiddle.net/Lijo/ryDnn/1/我有两列布局。它是基于 % 的布局——但定义了最小宽度。当我将(浏览器 IE8 的)缩放设置为 75% 或以下时,效果很好。当我将缩放比例设为 85% 时,橙色框会下降。我们如何克服这种错位?无论缩放/浏览器最小化/桌面分辨率如何,橙色框都应保持在正确的位置(如图所示)。它不应该下降。

jsFiddle 中的结果窗口:http : //jsfiddle.net/Lijo/ryDnn/1/embedded/result/

此外,如果您能解释其背后的 CSS 理论,那就太好了。

注意:即使浏览器最小化,也会观察到这种错位。

注意:测试时,我的桌面配置为 1024 by 768。


即使从 leftNavContainer 和主容器中删除了边距,问题仍然存在。请参阅http://jsfiddle.net/Lijo/ryDnn/10/

在此处输入图片说明

2个回答

为了允许舍入误差,取一个百分比。15%为左,84%应该工作。

但是,问题是您也增加了边距,这显然不会很好地工作。

考虑首先使用两个 div15%84%(或者85%如果它有效),然后将这两个 div 用作包装器,在其中放置一个 div 并提供正确的边距。这样,您的利润就不会干扰width计算。

换句话说,边距不是 div 宽度的一部分

如有疑问,请广泛使用 Page/Web Inspector 来了解拳击模型...

谢谢.. 那行得通...... jsfiddle.net/ryDnn/13你能解释一下这背后的理论吗?
2021-05-06 10:01:15
感谢您查看这个。我删除了边距。问题仍然存在jsfiddle.net/Lijo/ryDnn/10吗?你让它工作了吗?
2021-05-10 10:01:15
@Lijo:W3 标准文档中都有解释。请对您使用的 CSS 属性有一个基本的了解。你认为min-width在较低的分辨率下会做什么?确切地说,使两个框都为您的浏览器宽度加宽,从而将它们放在一起,因为它们不适合。
2021-05-12 10:01:15
请注意,还必须考虑边界。参见 W3C 关于盒模型的解释:w3.org/TR/CSS2/box.html
2021-05-13 10:01:15
@Lijo:这次min-width正在打扰您,为我禁用这些作品。
2021-05-16 10:01:15

你的总宽度是 100% leftNavContainer 采取的宽度是 25% 因为 margin-left-10px 和 width-15% ,mainContainer 也是一样的

如果您提供边距意味着减少与边距大小相关的宽度

主容器css

      #mainContainer {

                   width:75%; //(or) reduce your margin
                        }

或者

       #leftNavContainer {

                   width:15%; //(or) reduce your margin
                   margin:5px;
                        }
jsfiddle 宽度小尝试浏览器
2021-05-01 10:01:15
谢谢。我删除了边距。问题仍然是 jsfiddle.net/Lijo/ryDnn/10?你让它工作了吗?
2021-05-13 10:01:15
你的答案是左边的 15% 和 84% 。工作怎么样 给我看例子
2021-05-14 10:01:15