[英]Display: table doesn't respect width
我需要通过使用display: table
使内容集中在屏幕上
这是我的代码: JSFIDDLE
我需要使“桌子”适合所有屏幕。 但是如果centered
大于屏幕,则桌子会变得太大而忘记height: 100%
。 如何使表格和centered
不超过屏幕,如果更多则添加滚动条?
这是因为您已将.container
的高度设置为100 px而不是100 % 。
您希望它在垂直和水平方向上居中,对吗?
据我了解您的问题,您有两种选择
.container
只是一个带有过多内容的块, .centered
变得像表一样,新元素变成了表单元。 IE浏览器
.container {
display:block;
position:relative;
height:100%;
overflow:auto;
}
.centered {
display:table;
width:100%;
height:100%;
}
.centered p {
display:table-cell;
text-align:center;
vertical-align:middle;
}
范例: https ://jsfiddle.net/1dosh3rp/3/
overflow:auto;
贴到您的身体标签上,使其像容器一样。 问题是,您不能像将不能直接将滚动条添加到表的td标签一样,简单地将滚动条添加到包含表单元格显示属性的元素中。 您需要在其中添加另一个div并向其中添加滚动。 使用FIDDLE签出更新的代码
的HTML
<div class="container">
<div class="centered">
<div class="scrollable">
content<br>
content<br>
content<br>
content<br>content<br>
content<br>content<br>
content<br>content<br>
content<br>content<br>
content<br>content<br>
content<br>content<br>
content<br>content<br>
content<br>
content<br>
content<br>content<br>
content<br>content<br>
content<br>content<br>
content<br>content<br>
content<br>
</div>
</div>
</div>
的CSS
html,
body
{
height: 100%;
width: 100%;
margin: 0;
}
body
{
overflow: visible;
box-sizing: border-box;
border: 2px solid black;
}
.container
{
height:100%;
width: 100%;
display: table;
position: relative;
overflow: hidden;
border: 1px solid black;
box-sizing: border-box;
}
.centered
{
display: table-cell;
vertical-align: middle;
text-align: center;
overflow: hidden;
}
.scrollable {
width: 100%;
height: 100%;
overflow: auto;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.