Jquery 不知道元素的绝对中心';s高度
我需要将一个元素居中(垂直和水平),虽然我知道它的宽度,但它的高度可能会改变 我整个上午都在谷歌上搜索,我找到的一切似乎都表明我需要知道高度 我真的不想开始使用可以用来动态获取元素高度属性的Jquery 不知道元素的绝对中心';s高度,jquery,css,Jquery,Css,我需要将一个元素居中(垂直和水平),虽然我知道它的宽度,但它的高度可能会改变 我整个上午都在谷歌上搜索,我找到的一切似乎都表明我需要知道高度 我真的不想开始使用可以用来动态获取元素高度属性的表单元格属性。您可以使用: $("#whatever").height(); 这会告诉你物体的高度。如果它改变了,那么你可以再次调用它并重新居中。使用CSS,这是可能的,但它在IE上还不起作用: .container{ display: flex; min-height: 100%; /* <
表单元格属性。您可以使用:
$("#whatever").height();
这会告诉你物体的高度。如果它改变了,那么你可以再次调用它并重新居中。使用CSS,这是可能的,但它在IE上还不起作用:
.container{
display: flex;
min-height: 100%; /* <- or whatever height the container has */
}
.centered{
margin: auto;
}
.container{
显示器:flex;
最小高度:100%;/*你不需要任何js
这很简单
*请注意,这将适用于高度和宽度固定但我们不知道的类似img的对象,对于文本,您需要使用js跨浏览器正确运行它
看看这把小提琴
而且图像越小,代码也一样
这是密码
html-(您可以更改图像链接并尝试使用任何高度和宽度)
/*代码在这里*/
我认为这是最“通用和全地形”的方式。你自己尝试过什么吗?你甚至有任何标记可以使用吗?你能举一个小提琴的例子吗?这个问题在过去受到了严重的关注,比如@themechanicwhy指出你为什么更喜欢JavaScript(或者更糟糕的是,jQuery)对于简单、轻量级表格单元格属性的垂直居中?:)请注意,OP不知道宽度不通用此技巧只能在IE10不适用的条件下使用。是的,我在答案中注意到了。但是,由于某些原因,居中似乎不起作用。IE10支持以前版本的Flexbox(2012年3月初稿)。您的演示有一个moz前缀,但Firefox只支持在标准属性上有前缀或没有前缀的旧2009属性(在v22之前,需要启用实验性Flexbox支持)。
<div class="parent">
<img class="child" src="http://wiki.guildwars.com/images/thumb/6/60/User_Jette_awesome.svg/2048px-User_Jette_awesome.svg.png" />
</div>
.parent{
width:300px;
height:300px;
position:relative;
border:1px solid red;
padding:10px;
}
.child{
position: absolute;
top:0;
left:0;
right:0;
bottom:0;
margin:auto;
max-height:300px;
max-width:300px;
}
<table style="width: 100%; height:100%;">
<tr>
<td style="text-align: center; vertical-align: middle;">
/*code here*/
</td>
</tr>
</table>