css - DIV 高度超过固定背景图片

标签 css

我正在用 HTML 创建一种文本幻灯片演示文稿。基本布局是全屏固定背景图像,文本位于其前面的居中全高列中。基本的 HTML 结构非常简单:

<body>
    <div>
         <h1>Test</h1>
         Text.
         <br />
         <br />
         Text.
    </div>
</body>

设置这个并不难,除了一件事:为了让包含文本的 div 显示整个窗口的高度,所有三个主要元素的高度——html、body 和 div—— - 必须设置为 100%。我不确定我是否正确解释了发生的事情,但它似乎会导致 div 内元素的任何边距或填充被添加到 div 的高度 after div 已经已扩展到视口(viewport)高度的 100%。因此,即使 div 的实际内容小于窗口的高度,它的计算高度大于视口(viewport)的高度,并且产生垂直滚动条,即使是最小的内容。

我在这里错过了什么?

CSS 代码如下,请查看此 fiddle 以了解我的意思:http://jsfiddle.net/NL4gg/3/

[到目前为止,我已经在 webkit 浏览器(Chrome 和 Safari)中对此进行了测试;如果您没有看到我在 fiddle 中描述的问题,那可能就是原因。]

html {
    height:100%;
}

body { 
    color: #000;
    background: url(https://farm9.staticflickr.com/8173/8038716643_270547eb16_o.jpg) no-repeat fixed center center;
    margin:0 auto;
    height:100%;
    width:50%;
}

div {
    background-color:rgba(255,255,255,0.5);
    height:100%;
    padding:1em;
}

注意:这可能是同一个问题,但没有回答,here .

最佳答案

DEMO

添加

*, *:before, *:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing:border-box;
}

关于css - DIV 高度超过固定背景图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20229774/

相关文章:

jquery - 将悬停功能从图像交换更改为不透明度更改

html - 响应宽度

html - 为什么当我使用显示 : inline-block;? 时我的 div 的顺序会改变

html - 保持不均匀间距比例的 'scale-last' 内容 block

css - 如何从可视化 webpart 引用 css 文件

html - CSS - 有效地使用类

jquery - 如果 UL 的高度大于 X,如何将代码附加到具有相同类的 Uls?

css - IE 条件样式表不起作用

image - IE9 - 11 SVG 背景模糊

css - 如何使用 CSS 计时函数来制作弧形动画?