当浏览器小于内容时添加空白

时间:2013-02-16 02:28:53

标签: html css relativelayout

我最近发现了一个非常奇怪的问题 我正在为朋友制作一个wordpress主题,我正在使用相对/绝对位置在一些div的一侧添加社交/连接按钮 - 这样做可以正常设计。

然而,问题出现在页面右侧的“社交”div上。 如果浏览器小于主要内容的大小,则会在页面右侧添加额外的空白区域。如果我将div移到左侧,那很好;它只在页面长度的一半左右添加空白(这更令人困惑)。

我不能为我的生活弄清楚为什么会这样;我无法弄清楚这是一个标准的行为,还是我自己创造的一个问题。

我希望也许这里有人可能有类似的经历,或者只是想知道如何修复它。

参考网站为http://betacreations.com/example/uberpotato

编辑: #social div的CSS是:

#social{
   width: 90px; height: 250px;
   padding: 10px;
   position: absolute; right: -40px; top: 40px;
   background: #EFEFEF;
   box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.3);}

它所在的#page-content div的CSS是:

#page-content{
   clear: both;
   min-height: 500px;
   width: 870px;
   margin: 0 auto;
   padding: 20px 0;
   position: relative;
   border: 5px solid #FFF;
   background: #F2F0D7;}

截图是:
Issue

只有当浏览器的宽度小于960px(内容的宽度)时才存在宽度

提前致谢!

2 个答案:

答案 0 :(得分:1)

查看您的网站后,看起来这是您的社交网站。一些生成的元素是100px或更宽。如果删除width:90px;,则可以看到它尝试实现的宽度。您可以修改这些元素并将它们的宽度设置得更小(或者设置为100%或更多),或者可以将overflow: hidden;应用于#social div:

#social {
    ...
    overflow:hidden;
}

之所以发生这种情况,是因为您的社交容器已经溢出。它只发生在右边,因为这些元素是左对齐的。 (你也可以将元素对齐到我想的那个。)

希望这有帮助。

答案 1 :(得分:0)

据我了解 - 您希望您的模板具有响应能力。为此,您需要编写媒体查询以满足各种媒体大小和分辨率。

    /* Large desktop */
@media (min-width: 1200px) { ... }

/* Portrait tablet to landscape and desktop */
@media (min-width: 768px) and (max-width: 979px) { ... }

/* Landscape phone to portrait tablet */
@media (max-width: 767px) { ... }

/* Landscape phones and down */
@media (max-width: 480px) { ... }

为不同尺寸编写css样式,您可以使网站看起来像您想要的那样。