响应式填充问题

Posted

技术标签:

【中文标题】响应式填充问题【英文标题】:Responsive Padding Trouble 【发布时间】:2014-10-23 20:05:00 【问题描述】:

我为教程设计了一个响应式网页,但我遇到了不必要的填充问题。

http://zinzinzibidi.com/res

在此页面中,当您降低浏览器窗口分辨率时,您会在某些分辨率下看到水平滚动条 (overflow-x)。我正在努力理解,但几天后我无法解决这个问题。

这是我的麻烦的示例图片:

我的 CSS 代码在这里:http://zinzinzibidi.com/Areas/res/Content/css/style.css

我的媒体屏幕代码是

我做错了什么?

【问题讨论】:

【参考方案1】:

我检查了您的代码,可能是您的 <div id="header-logo"> 创建了额外的填充。

由于img 在小于 tit 的屏幕上具有 300 像素的固定宽度,因此会在右侧创建一个额外的填充以适应屏幕。

尝试减少

@media screen and (max-width: 479px) and (min-width: 320px) 
 #header-container 
  width:;
 

编辑


基本上检查您正在使用的所有img,以确保它们的宽度合适并且适合屏幕。

【讨论】:

这个问题在其他媒体屏幕上也有。所以这与图像分辨率无关。【参考方案2】:

似乎是内部物品导致了问题。从#header-main-buffer 中删除填充,它应该会消失。

文件的第 515 行:

#header-main-buffer 
    width: 300px;
    padding: 0 10px; <- this is your problem. remove it and it will be fixed
    ...

【讨论】:

谢谢它现在工作正常。你可以检查一下。顺便问一下,您是如何注意到问题的? 300 像素宽度和 10 像素右 + 10 像素左填充响应 320 像素媒体屏幕宽度(?) #head-container 具有完全相同的宽度和内边距,因此其内部元素将从添加到内边距的 10px 处开始向右。你真的可以摆脱 #head-container 上的填充,它应该也能正常工作,它只是缓冲项对我来说似乎更方便。 您也可以通过设置box-sizing: border-box; 来避免将来出现这种情况,您应该研究一下(link explaining borderbox),因为它会导致填充进入元素宽度,所以您实际上会像这样写width: 100%; padding: 0 10px; box-sizing: border-box;

以上是关于响应式填充问题的主要内容,如果未能解决你的问题,请参考以下文章

响应式表不填充它嵌套的整个列

响应式布局:调整 SVG 大小以填充其父级的剩余空间

未捕获的类型错误:尝试使用 PHP 填充响应式数据表时无法读取未定义的属性“长度”?

顺风的响应式布局

Vue模板语法——数据响应式

响应式网页设计:div 宽度 + 填充不会跨越包含 div,即使它们等于 100%