- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 display:table
和 display:table-row
CSS 属性,我希望我的内容填充 div 的剩余可用高度。如果内容超过可用高度,我希望显示一个滚动条。
这是 fiddle :http://jsfiddle.net/3HYJx/2/
谷歌浏览器和 Safari 中显示的行为是我试图实现的行为。然而,Firefox 和 Opera 显示不同。还没有尝试过 IE,但担心最坏的情况。
为什么这种行为如此不同?更好的是:如何在每个浏览器中实现我想要的(如 Chrome 中所示)?
非常感谢。
最佳答案
使用表格显示属性,您可以通过在滚动部分的文本周围再包装两个元素来克服 firefox 问题,因此您有三个:
table-row
容器,用来填充表格的其余部分高度
和宽度
设置为100%
,并且设置垂直滚动overflow-y:scroll;
height
和width
也设置为100%
所以在这里我只是在您的内容段落周围快速添加了两个 div 容器(您可能会根据您的需要找到一组更合适的容器,但这将用于说明):
<div id="wrapper">
<h2 id="date">Date</h2>
<h1 id="title">A title ...</h1>
<div id="contentbox-outer">
<div id="contentbox-inner">
<p id="content">The content ...</p>
</div>
</div>
</div>
而且您的整个 CSS 都必须修改。您的原始选择器,稍作修改:
#wrapper {
position:absolute;
display: table;
table-layout:fixed;
background-color:black;
padding:10px;
width: 250px;
height:350px;
border-spacing:20px;
}
#date {
display: table-row;
font-weight: normal;
font-size: 25px;
background-color:yellow;
}
#title {
display: table-row;
font-weight: normal;
font-size: 40px;
line-height:90%;
background-color:blue;
}
请注意,table-row
和 table
元素现在采用表格的特定样式,例如设置间距的 border-spacing
属性表格行,现在您可以将其与表格的填充属性结合使用以获得您想要的外观。
添加的容器的样式将是这样的(第一个仍然基于您的样式,最后两个是附加的 - 内部的):
#contentbox-outer {
display: table-row;
font-size: 12pt;
width: 100%;
height:90% !important;
text-align: justify;
background-color:red;
overflow-y: scroll;
}
#contentbox-inner {
position:relative;
height:100%;
width:100%;
overflow-y:scroll;
}
#content {
position:absolute;
height:100%;
width:100%
}
我还更新了您的 fiddle 以便快速检查: http://jsfiddle.net/3HYJx/7/
编辑: 这适用于 Firefox、Chrome、Safari 等浏览器,但例如不适用于 Opera,因为 height: 100%
在严格模式下不会在文档中呈现.所以通过更多的研究,我发现你可以让它在怪癖模式下工作,这里是一个 test html - 上面的代码但是在一个 quirks 模式文档中。谢谢你给我一个学习的理由,很高兴知道 =)
关于CSS 显示 :table for filling height. 在 Chrome/Safari 与 Firefox/Opera 中不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15982596/
这个问题在这里已经有了答案: How can I vertically align elements in a div? (28 个答案) Vertical Aligned Text and Im
我想做一个像 view0.height = view1.height + view2.height 这样的约束。当 view1.height 或 view2.height 改变时,view0.heig
有人可以解释为什么这个标记: 呈现大约 2x18 的 float div(在 Chrome/Firefox 中)而不是 2x2 div? 即使所有空格都被删除,图像似乎也遵循 font-
我的 HTML 页面上有一些可拉伸(stretch)的元素。 使用这个 CSS .stretchable-element { height: 25%; } 随着浏览器窗口高度的增加,可伸缩元素
我在“developer.android.com”上查看以缩小我的位图文件,但我发现了一件事我不明白。所以我很感激你能给我一点帮助。 这是一个 snippet来自 developer.android.
假设我们有以下设置: .container { background-color: red; width: 500px; min-height: 300px; } .child { b
我遇到了高度错误的问题 $(window).height(); 也有类似的问题 here 就我而言,当我尝试时 $(document).height(); 它似乎返回了正确的结果 窗口高度返回320
我正在尝试使用 javaFX (2.2) 开发桌面应用程序,但我遇到了一些困难,无法真正让它按照我希望的方式运行。作为该框架的新用户,我可能没有按应有的方式使用它... 我想要的是一种仪表板,在 Sc
就这么简单:) 我右边的列动态变化,由于左列的高度设置为 100%,我认为根据 Right_Column 的高度动态修改容器的高度会很好。有小费吗?谢谢:) 最佳答案 如果我正确理解了问题,你可以做这
我有一个 ScrollView(包含 NSTextEditor),其顶部、左侧和右侧约束相对于其容器(主窗口)正确设置为 0。 我无法使其高度为主容器的一半。有什么帮助吗? 最佳答案 如果我理解正确,
这个问题之前曾被问过(Infinite Scroll on Mobile browsers),但没有得到回应。 我正在尝试实现无限滚动。 检查文档是否在底部,导致更多加载的函数是: if ($(win
这个问题在这里已经有了答案: height:100% VS min-height:100% (4 个答案) 关闭 6 年前。
我在尝试解决这个问题时遇到了一些问题。我已经编写了一个 jquery 函数来检测用户何时点击页面底部并触发一个函数。现在,虽然这适用于最常见的屏幕尺寸,但当用户的屏幕太大以至于可以一次看到整个页面时,
如何获得与导航高度(填充)相同的导航高度 ...!? nav { width: 100%; } nav ul { text-align: center; background-
所以,实际上我可能完全想多了,应该放弃最小高度,但我目前有以下 HTML:
我正在阅读 Bootsrap3 文档。我发现这段页脚代码粘在屏幕底部。 html, body { height: 100%; } #wrap { min-height: 100%; height: a
我对容器 div 的高度有疑问。我想 它是 body 的 100%,但不起作用。我添加了 css body height=100% var d = document; $(d).ready(funct
我有一个三部分布局:页眉、内容和页脚。我非常熟悉绝对定位技术;当我希望内容 div 扩展到可用高度的 100% 时,我经常使用它。 在这种情况下,我的问题是我事先不知道页脚的高度,它是根据自己的内容动
在下面的代码中,我尝试实现无限滚动。我遇到的问题是“document.height”和“window.height”返回相同的值。有人可以帮我解决我哪里出错了吗?
我有一个页面布局,其中两个 div 在一行中彼此相邻对齐。一列包含可变长度的文本,第二列包含图像。 标记基本上如下: texttext 我的
我是一名优秀的程序员,十分优秀!