我有一个像以下JavaScript对象:
var p = {
"p1": "value1",
"p2": "value2",
"p3": "value3"
};
Run Code Online (Sandbox Code Playgroud)
现在我想通过所有回路p元素(p1,p2,p3...),并得到他们的键和值.我怎样才能做到这一点?
如有必要,我可以修改JavaScript对象.我的最终目标是遍历一些键值对,如果可能的话,我想避免使用eval.
下面的代码(也可以作为JS Fiddle的演示版)不会将文本放在中间,正如我理想的那样.div即使使用margin-top属性,我也找不到任何方法将文本垂直居中.我怎样才能做到这一点?
<div id="column-content">
<img src="http://i.stack.imgur.com/12qzO.png">
<strong>1234</strong>
yet another text content that should be centered vertically
</div>
Run Code Online (Sandbox Code Playgroud)
#column-content {
display: inline-block;
border: 1px solid red;
position:relative;
}
#column-content strong {
color: #592102;
font-size: 18px;
}
img {
margin-top:-7px;
vertical-align: middle;
}
Run Code Online (Sandbox Code Playgroud) 我怎么能垂直居中<div>内的<div>?
我的代码到目前为止:
<div style="height:322px;overflow:auto;">
<div style="border: Solid 1px #999999;padding:5px;">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我试过"顶级:50%;" 和"vertical-align:middle;" 没有成功
编辑:好的,所以它已被讨论了很多.而且我可能会开始另一场迷你火焰战.但为了争论,我怎么用桌子做呢?到目前为止,我已经将css用于其他所有事情,所以我并不想尝试使用"良好实践".
编辑:内部div没有固定的高度
我有以下 HTML:
<span id="ctl00_smpWeb" class="breadcrumb hidOverflow">
<span>
<a href="default.aspx" title="Home">
<img src="umb.png" alt="Home" title="Home" class="home" style="vertical-align: middle;" />
</a>
</span>
<span></span>
<span>Services</span>
</span>
Run Code Online (Sandbox Code Playgroud)
CSS:
.breadcrumb {
font: 9px 'Verdana', 'Graduate', 'Arial', 'Helvetica', 'sans-serif';
height: 30px;
color: #9b9b9b;
width: 100%;
font-weight: bold;
}
.hidOverflow {
overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)
输出:

主页图标不在两条橙色线之间垂直居中,而文本则是。
请帮助中心它。
如果我从图像中删除垂直对齐,则会发生这种情况:

很抱歉打败了一匹死马,但我一生都无法理解为什么下面的方法不起作用。
line-height: 50pxvertical-align: topvertical-align应该根据MDN,能够左右移动内联元素里面。具体来说:
以下值相对于整行垂直对齐元素:
底部
将元素及其后代的底部与整行的底部对齐。
我试过这两个:
<span style="line-height: 50px; border: 1px solid red; vertical-align: bottom">Some text</span>Run Code Online (Sandbox Code Playgroud)
和这个:
<div style="line-height: 50px; border: 1px solid yellow">
<span style="border: 1px solid red; vertical-align: bottom">Some text</span>
</div>Run Code Online (Sandbox Code Playgroud)
这是我希望将跨度定位在底部的最后一个版本。它说 line-box 应该是 50px,然后vertical-align用于 child span。
PS:请不要只说“使用 flexbox”或类似的。我想了解内部工作原理/从概念上讲为什么上面没有将跨度定位在行的底部。