【问题标题】:Apply css style to all the page height 100% with offCanvas Foundation 5使用 offCanvas Foundation 5 将 css 样式应用于所有页面高度 100%
【发布时间】:2014-07-27 23:36:36
【问题描述】:

我尝试将一些样式 css 应用到我的页面,我使用 Foundation 5 我想为所有页面应用背景颜色。正如您在jsfiddle 上看到的那样,顶部和底部之间有一个空白区域。

有人知道如何用背景覆盖所有高度屏幕吗?

body { height:100%; background-color: rgba(0,0,0,0.5); } 的解决方案被禁止,因为我不希望我的所有页面都有这个背景。

<div class="off-canvas-wrap" data-offcanvas>
    <div class="inner-wrap">

        <a class="left-off-canvas-toggle" href="#" >Menu</a>

        <!-- Off Canvas Menu -->
        <aside class="left-off-canvas-menu">
            <!-- whatever you want goes here -->
            <ul>
                <li><a href="#">Item 1</a></li>
                ...
            </ul>
        </aside>

        <div id="layer_picture">
            <div class="row test">
                <div class="medium-6 medium-centered columns">
                    <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam, porro, necessitatibus consequuntur reiciendis dolore doloribus id repellendus tempora vitae quia voluptas ipsum architecto optio excepturi qui quisquam eligendi hic aliquam!</div>
                          <div>Dignissimos, adipisci, vero, harum deserunt necessitatibus fugiat quaerat omnis accusantium sit magnam unde asperiores impedit quia dolor magni aut sed dolores voluptas accusamus fuga delectus voluptates velit quod non libero!</div>
                          <div>Nostrum, quas, nulla, veritatis, facere incidunt totam vitae eos voluptas odio natus dolores earum consectetur eaque rerum ab at maxime atque dolore beatae velit. Ullam reiciendis ducimus placeat doloribus rem!</div>

                </div>
            </div>
        </div>
        <a class="exit-off-canvas"></a>

    </div>
</div>

http://jsfiddle.net/Sbt75/314/

【问题讨论】:

  • 在这里查看我的 jsfiddle:jsfiddle.net/Sbt75/308。您必须至少设置正文和 html 高度:100%
  • 如果您不想在每个页面上使用背景颜色,只需在您想要颜色的页面上的正文中添加一个类。这也是禁止的吗?
  • @Filly 确定你没有看到 jsfiddle !
  • 我制作了另一个版本,以防您不希望背景颜色应用于菜单按钮(并且只占用底部的空间)。
  • @Filly thx,你成就了我的一天!

标签: html css background-color rgba


【解决方案1】:

因为off-canvas-wrapinner-wrap 阻止#layer_picture 占据100% 的高度,你也应该强制它们占据整个高度:

.off-canvas-wrap, .off-canvas-wrap .inner-wrap,
#layer_picture {
    height: 100%;
}

如果您希望菜单按钮也具有此背景,请将background-color 放在父级off-canvas-wrap (JSFiddle) 中:

.off-canvas-wrap {
    background-color: rgba(0,0,0,0.5);
}

否则,将背景留在#layer_picture (JSFiddle) 中。

如果我是你,我会在 off-canvas-wrap 中添加一个 ID,以确保它不会影响不需要此背景的其他页面。

【讨论】:

  • 你有没有看 OP 的小提琴。 body 按照他的说法是“禁止的”
  • 我对Jsfiddle进行了编辑,如您所见,底部总是有一个空白。
  • 好吧,也许他复制或不复制 p e p 的答案是第一个,但最后他得到了很好的答案!也谢谢@ChrisM
【解决方案2】:

您可以将 CSS 更改为以下内容。它满足您不在 Body 元素上设置背景颜色的要求(由 Fiddle 中的@Martialp 指定)。 http://jsfiddle.net/Sbt75/309/

/*required in order to be able to set the div height to 100%*/
html, body{
    height:100%;
}

#layer_picture {
    background-color : rgba(0,0,0,0.5);
    padding-top:10%;
    height: 100%;
}

【讨论】:

  • 我对 Jsfiddle 进行了编辑,如您所见,底部总是有一个空白。因为该解决方案仅在您不使用 Offcanvas 菜单时才有效
【解决方案3】:

试试这个代码

body {
    background-color: rgba(0,0,0,0.5);
}

modify this
#layer_picture {

    margin-top:10%;
}

【讨论】:

  • 这不符合body不设置背景的操作要求
【解决方案4】:

如果你想为整个页面应用背景颜色,只需使用正文...

body {
  background: rgb(0,0,0);
  background: rgba(0,0,0,0.5); 
}

您将 10% 的边距顶部应用于 #layer-picture,这是该空白的来源。

【讨论】:

  • 这也不符合op要求不使用body
  • 如果他使用Foundation,已经有背景色应用到body了,还有100%的height属性设置为html,body。在您决定否决答案之前,请注意该问题。在这种情况下更改身体背景就可以了。
  • 这怎么不能将这种颜色应用到他的每一页?如果您注意这个问题并查看他的小提琴,您会看到他提到他不希望将颜色应用于所有页面的地方。 -1
  • 你说得对,我错过了 Fiddle 中的 cmets;我期待在实际问题中发布任何声明或条件。但是,答案仍然适用,方法是在该页面的正文中添加一个类。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-14
  • 2015-09-05
  • 1970-01-01
相关资源
最近更新 更多