首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >缩放更改设计布局

缩放更改设计布局
EN

Stack Overflow用户
提问于 2011-10-20 03:32:19
回答 2查看 48.6K关注 0票数 16

我正在致力于一个新的网站,这应该是“完美”-兼容ie6+,ff,铬,歌剧和狩猎。

我使它与所有这些浏览器兼容,但有一个问题我无法处理-当改变缩放,所有的布局变得混乱。

处理问题的示例:http://jsfiddle.net/pdQrQ/1/

在Chrome (14.0.835)、FF (7.0.1)和IE9中,当放大时,右上角框的大小正在改变(至少看起来是这样),然后它就与下面的框不对齐了。

编辑:

我知道是什么原因-边境!

说明:每个浏览器上的缩放功能都会改变div的宽度/高度,而不是边框大小,因此它会导致这种故障/浮动。如果我移除边境线,一切都会正常工作。

但我想使用边框,否则我的设计将更加丑陋。

我怎么才能修好?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-20 05:57:50

我最好的猜测,为什么这是由于舍入错误,因为它缩小。例如,如果您想象一个250 by宽的盒子,包含两个并排的盒子,每个125 by宽。很明显这些是并排的。如果你放大,使你在一半大小,那么外部框将是125 as和内部的62.5px,每一轮高达63 as,一半像素是你得到的小)。这两个现在的总宽度为126 of,因此不再并排,其中一个必须放在另一个下面。

我认为这基本上就是你在这里工作的原则。最好的解决方案,我可以看到,是使两个旁边的盒子更窄,并浮动一个向右,这样你的右边界是不被打破的。这可能意味着中间有一个稍微大一点的差距,但是当你放大的时候,这个差距有望吸收四舍五入的错误。

编辑:

正如你已经指出的,边界是造成混乱的主要原因。它们可以从外部容器中取出,并放在一个嵌套的容器上,只为添加边框而设计。

http://jsfiddle.net/chrisvenus/pdQrQ/6/

上面是一个小提琴(基于你的),它创建包含边界的内部DIV标签,而浮动的容器根本没有边框。这一点现在似乎足够强大,可以在IE8、FF7.0.1或Chrome 14.0.835.202中工作。

改变的地方是将div添加到HTML中,并在它和它的父类之间交换一些类。有一个新的内部容器类,它将高度和宽度设置为100%,以确保它填充包含框(因此边框就是它们需要的位置。另外,我还更改了底部框的宽度,使其正确排列。

如果是这样的话请告诉我。

票数 25
EN

Stack Overflow用户

发布于 2014-08-20 13:44:46

现在最好的方法是"box-sizing:border-box",。

代码语言:javascript
运行
AI代码解释
复制
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

Fiddle: http://jsfiddle.net/oneeezy/pdQrQ/113/

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7835287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档