#container {
width: 960px;
height: 960px;
background-color: #ccc;
}
.box {
width: 300px;
height: 300px;
background-color: blue;
display: table-caption;
border: 0;
}
<div id='container'>
<span class='box'>Content</span>
<span class='box'>Content</span>
<span class='box'>Content</span>
<span class='box'>Content</span>
</div>
现在,当我将table-caption
更改为table-cell
时,它会水平渲染。下面是它的演示。
不同渲染的任何原因?
答案 0 :(得分:2)
以下是关于display: table-caption
的规范:
表格标题(在HTML:CAPTION中)
指定表格的标题。所有带有&#39;显示的元素:table-caption&#39;必须如第17.4节所述进行渲染。
以下是关于字幕框渲染的section 17.4所说的内容:
标题框是块级框,它们保留自己的内容,填充,边距和边框区域,并且在表格封装内 呈现为正常的块框 框。
关键部分是它们被渲染为普通的块框,因此它们中的每一个都显示在另一个之下(如在它们自己的行中)。
需要注意的其他要点:(我在评论中与GCyrillus的讨论摘要)
display: table
或display: table-cell
,则不需要使用display: table-caption
的父容器。您可以在this SO thread display: table-caption
绝对是不好的做法。我相信你在尝试学习时正在进行反复试验。答案 1 :(得分:0)
fork
.header{
writing-mode: vertical-rl;
padding-top: 30%;
font-weight: bold;
padding-right: 5px
}
table,tr,td{
border:1px solid black;
border-collapse: collapse;
padding: 5px;
}