我有以下代码:
div {
box-sizing: border-box;
border-style: solid;
}
div.table {
display: table;
}
div.row {
display: table-row;
}
div.cell {
display: table-cell;
}
div.logo {
width: 200px;
height: 200px;
border-color: red;
}
<div class="table">
<div class="row">
<div class="cell">
<div class="logo"></div>
</div>
<div class="cell">
Content
</div>
</div>
</div>
第二个单元格的内容与第一个单元格中div的底部对齐,并出现在其单元格的最底部。当两个单元格都填充文本时,然后在顶部的两个浮点中都有内容。
如何将第二个单元格的内容放在其单元格的顶部?
问题一定是愚蠢的,但我是css的绝对初学者,只是不知道如何处理这个问题。
答案 0 :(得分:4)
使用vertical-align:top
垂直对齐表格单元格
div
通常在其默认样式表定义中有vertical-align:baseline
,这解释了您看到的显示。请注意,实际的表格单元格(td
和th
元素)默认为vertical-align:middle
。
div {
box-sizing: border-box;
border-style: solid;
}
div.table {
display: table;
}
div.row {
display: table-row;
}
div.cell {
display: table-cell;
vertical-align:top;
}
div.logo {
width: 200px;
height: 200px;
border-color: red;
}
&#13;
<div class="table">
<div class="row">
<div class="cell">
<div class="logo"></div>
</div>
<div class="cell">
Content
</div>
</div>
</div>
&#13;
答案 1 :(得分:2)
vertical-align:top
添加到div.cell
div {
box-sizing: border-box;
border-style: solid;
}
div.table {
display: table;
}
div.row {
display: table-row;
}
div.cell {
display: table-cell;
vertical-align:top;
}
div.logo {
width: 200px;
height: 200px;
border-color: red;
}
&#13;
<div class="table">
<div class="row">
<div class="cell">
<div class="logo"></div>
</div>
<div class="cell">
Content
</div>
</div>
</div>
&#13;
答案 2 :(得分:2)
添加vertical-align
属性
div {
box-sizing: border-box;
border-style: solid;
}
div.table {
display: table;
}
div.row {
display: table-row;
}
div.cell {
display: table-cell;
vertical-align: top;
}
div.logo {
width: 200px;
height: 200px;
border-color: red;
}
<div class="table">
<div class="row">
<div class="cell">
<div class="logo"></div>
</div>
<div class="cell">
Content
</div>
</div>
</div>
答案 3 :(得分:1)
在你的CSS中使用vertical-align: top
。
div.cell {
display: table-cell;
vertical-align: top;
}
答案 4 :(得分:1)
以下应该可以正常工作:
div {
box-sizing: border-box;
border-style: solid;
}
div.table {
display: inline-block; /*changed this line*/
}
div.row {
display: flex; /*changed this line*/
}
div.cell {
/* removed styles */
}
div.logo {
width: 200px;
height: 200px;
border-color: red;
}
<div class="table">
<div class="row">
<div class="cell">
<div class="logo"></div>
</div>
<div class="cell">
Content
</div>
</div>
</div>