table 旁边的垂直居中 DIV
Vertical-Center DIV next to a table
我无法在 DIV 中将 DIV 置于 table 旁边的中心位置。
我已将 DIV 和 table 的样式设置为内联块并相应地内联,但是发生的是 DIV 被放置在 table 的底部中心 - table 的水平(目标是将其对齐在“6”和“24”之间)。要求是它与响应式格式一起工作。
这是我在 JSFiddle 中编写的代码。
<div class="Dboxes" style="color:white;">
<span class="Title"> Title </span><br>
<span class="Value" style="display:inline-block; background:orange;"> <img id="PPMain" class="MainImg" src="img/grnsqr.png" /> ## </span>
<table style="display: inline-block; background:green;">
<tr>
<td>2</td>
<td>
<img id="PPVal2" class="ValImg" src="img/grnsqr.png">xx</td>
</tr>
<tr>
<td>6</td>
<td>
<img id="PPVal6" class="ValImg" src="img/grnsqr.png">yy</td>
</tr>
<tr>
<td>24</td>
<td>
<img id="PPVal24" class="ValImg" src="img/grnsqr.png">zz</td>
</tr>
<tr>
<td>##</td>
<td>
<img id="PPVal##" class="ValImg" src="img/grnsqr.png">aa</td>
</tr>
</table>
</div>
非常感谢帮助,非常感谢
此外,link就在这里https://jsfiddle.net/k3388j0w/1/
您可能必须使用 div 将您的内容放入两列,浮动它们,然后使用填充将您的内容向下移动到您想要的位置。
像这样https://jsfiddle.net/d5u712hv/
div.col {
width: 45%;
float: left;
}
div.col.first {
width: 70px;
padding-top: 40px;
}
<div class="col first">
<span class="Title"> Title </span><br>
<span class="Value" style="display:inline-block; background:orange;"> <img id="PPMain" class="MainImg" src="img/grnsqr.png" /> ## </span>
</div>
<div class="col">
<table style="display: inline-block; background:green;">
<tr>
<td>2</td>
<td>
<img id="PPVal2" class="ValImg" src="img/grnsqr.png">xx</td>
</tr>
<tr>
<td>6</td>
<td>
<img id="PPVal6" class="ValImg" src="img/grnsqr.png">yy</td>
</tr>
<tr>
<td>24</td>
<td>
<img id="PPVal24" class="ValImg" src="img/grnsqr.png">zz</td>
</tr>
<tr>
<td>##</td>
<td>
<img id="PPVal##" class="ValImg" src="img/grnsqr.png">aa</td>
</tr>
</table>
</div>
这是否回答了您的问题?
http://codepen.io/mwvanmeurs/pen/GpwMZr
顺便说一句,将 table
设置为 display: inline-block
可能不是一个好主意。
.container {
display: flex;
align-items: center;
}
<div class="container">
<table style="display: inline-block; background:green;">
<tr>
<td>2</td>
<td>
<img id="PPVal2" class="ValImg" src="img/grnsqr.png">xx</td>
</tr>
<tr>
<td>6</td>
<td>
<img id="PPVal6" class="ValImg" src="img/grnsqr.png">yy</td>
</tr>
<tr>
<td>24</td>
<td>
<img id="PPVal24" class="ValImg" src="img/grnsqr.png">zz</td>
</tr>
<tr>
<td>##</td>
<td>
<img id="PPVal##" class="ValImg" src="img/grnsqr.png">aa</td>
</tr>
</table>
<div class="other-div">
<h1>Hey There!</h1>
</div>
</div>
将第 3 行更改为以下内容:
<div class="Value" style="display:inline-block; background:orange; vertical-align:middle">
并将第 5 行更改为以下内容:
<table style="display: inline-block; background:green; vertical-align:middle">
瞧! :)
您可以尝试将两个对象嵌套在外部 table 内,并像这样删除边框(我还使内部 table 具有 class,并表示 class中的CSS代替原来的"table"CSS):
.Outer
{
border-collapse:collapse;
}
.Outer td {
border: none;
outline: none;
}
我无法在 DIV 中将 DIV 置于 table 旁边的中心位置。 我已将 DIV 和 table 的样式设置为内联块并相应地内联,但是发生的是 DIV 被放置在 table 的底部中心 - table 的水平(目标是将其对齐在“6”和“24”之间)。要求是它与响应式格式一起工作。
这是我在 JSFiddle 中编写的代码。
<div class="Dboxes" style="color:white;">
<span class="Title"> Title </span><br>
<span class="Value" style="display:inline-block; background:orange;"> <img id="PPMain" class="MainImg" src="img/grnsqr.png" /> ## </span>
<table style="display: inline-block; background:green;">
<tr>
<td>2</td>
<td>
<img id="PPVal2" class="ValImg" src="img/grnsqr.png">xx</td>
</tr>
<tr>
<td>6</td>
<td>
<img id="PPVal6" class="ValImg" src="img/grnsqr.png">yy</td>
</tr>
<tr>
<td>24</td>
<td>
<img id="PPVal24" class="ValImg" src="img/grnsqr.png">zz</td>
</tr>
<tr>
<td>##</td>
<td>
<img id="PPVal##" class="ValImg" src="img/grnsqr.png">aa</td>
</tr>
</table>
</div>
非常感谢帮助,非常感谢
此外,link就在这里https://jsfiddle.net/k3388j0w/1/
您可能必须使用 div 将您的内容放入两列,浮动它们,然后使用填充将您的内容向下移动到您想要的位置。
像这样https://jsfiddle.net/d5u712hv/
div.col {
width: 45%;
float: left;
}
div.col.first {
width: 70px;
padding-top: 40px;
}
<div class="col first">
<span class="Title"> Title </span><br>
<span class="Value" style="display:inline-block; background:orange;"> <img id="PPMain" class="MainImg" src="img/grnsqr.png" /> ## </span>
</div>
<div class="col">
<table style="display: inline-block; background:green;">
<tr>
<td>2</td>
<td>
<img id="PPVal2" class="ValImg" src="img/grnsqr.png">xx</td>
</tr>
<tr>
<td>6</td>
<td>
<img id="PPVal6" class="ValImg" src="img/grnsqr.png">yy</td>
</tr>
<tr>
<td>24</td>
<td>
<img id="PPVal24" class="ValImg" src="img/grnsqr.png">zz</td>
</tr>
<tr>
<td>##</td>
<td>
<img id="PPVal##" class="ValImg" src="img/grnsqr.png">aa</td>
</tr>
</table>
</div>
这是否回答了您的问题?
http://codepen.io/mwvanmeurs/pen/GpwMZr
顺便说一句,将 table
设置为 display: inline-block
可能不是一个好主意。
.container {
display: flex;
align-items: center;
}
<div class="container">
<table style="display: inline-block; background:green;">
<tr>
<td>2</td>
<td>
<img id="PPVal2" class="ValImg" src="img/grnsqr.png">xx</td>
</tr>
<tr>
<td>6</td>
<td>
<img id="PPVal6" class="ValImg" src="img/grnsqr.png">yy</td>
</tr>
<tr>
<td>24</td>
<td>
<img id="PPVal24" class="ValImg" src="img/grnsqr.png">zz</td>
</tr>
<tr>
<td>##</td>
<td>
<img id="PPVal##" class="ValImg" src="img/grnsqr.png">aa</td>
</tr>
</table>
<div class="other-div">
<h1>Hey There!</h1>
</div>
</div>
将第 3 行更改为以下内容:
<div class="Value" style="display:inline-block; background:orange; vertical-align:middle">
并将第 5 行更改为以下内容:
<table style="display: inline-block; background:green; vertical-align:middle">
瞧! :)
您可以尝试将两个对象嵌套在外部 table 内,并像这样删除边框(我还使内部 table 具有 class,并表示 class中的CSS代替原来的"table"CSS):
.Outer
{
border-collapse:collapse;
}
.Outer td {
border: none;
outline: none;
}