我使用两列页面布局的简单页面在缩放时中断。这是 - 尝试使用cmd +放大:
http://jamesabbottdd.com/ems-with-max-width.html
标题在右侧中断,导致出现水平滚动条。最初我认为这是因为使用像素来调整元素大小和设置最大宽度。这篇文章是关于这个问题:
http://blog.cloudfour.com/the-ems-have-it-proportional-media-queries-ftw/
然后我用ems覆盖像素,但问题仍然存在。
这让我感到愤怒。我已经使用CSS大约十年了,过去3年处于较高水平,但还没有弄清楚为什么上面的页面打破但是这一个:
没有,无论我放大得多近。
任何帮助非常感谢。
答案 0 :(得分:2)
分离症状
根据您的屏幕截图,您的标题似乎会出现一些视觉故障。此外,出现一个水平滚动条 - 但请放心,这不是由于标题的任何属性。实际上,这是由于标题下方的包装div,其宽度为1130px。因此,当您放大那么多时,它不能全部显示在屏幕上,从而创建滚动条。
真实问题
回到标题的问题,颜色消失的原因是因为标题div的宽度为100%。如果,当你拍摄截图时,你一直向左滚动,你会发现标题的背景颜色没有问题,因为它会覆盖浏览器宽度的100%。 (如果你想知道这个100%的宽度来自哪里,那是由于标题内的h1元素; h1的默认宽度通常是100%,即使是一个元素也无法看到的样式像Firebug这样的检查员打开了。)
请注意,由于以下几点,您提供的网站不会显示此问题:首先,其标题没有背景颜色,因此您不会在这方面看到任何类型的问题(如果它确实有但是,你会立刻看到div实际上并不像你的那样跨越整个屏幕;它只比文本中的文本宽一点,并且具有固定的宽度。标题的中心不仅仅是通过使用h1元素的宽度为100%和text-align:center
,但也是由于margin:0 auto
应用于标题div。但现在,如何解决您的问题?
解决方案
使用页面的当前结构,最简单的解决方案是为标题div指定一个已定义的宽度。好吧,不是宽度本身,而是一个min-width
,一个与你的包装div的宽度相同。如果你给它min-width:1130px
的样式,你应该看到你的问题已经解决了。
我希望这有用! (不好意思,如果它有点长,可以阅读。)