怎样让asp.net 的table控件在div中用css样式“动态”垂直居中,要能多浏览器兼容的

display:table-cell;
vertical-align:middle;不能用会使结构变成表格,内容会混乱
用js也行,不过我做的是手机网页,在谷歌上调试
$(function () {
var Ph = $(".My_Orde_d2").offsetHeight + "px";
alert(Ph);
$(".My_Orde_d2_d2 .Orde_Price").css({ "line-height": "Ph" })
})
以确定获取不到值
最新回答
安静的河

2024-05-25 05:45:24

水平居中可以用margin:auto;来实现,而垂直居中可以先得到页面的高度,然后减去元素的高度除以2,将得到的值设置为元素距离顶部的高度即可。

例子:

<div id="div" style="width: 200px;height: 200px;background-color: black;margin:auto;"></div>
<script>
    document.getElementById("div").style="position: absolute;top"+Math.floor((document.documentElement.clientHeight-200)/2)+"px";
</script>

以上就是让div动态居中。

煙味少女

2024-05-25 08:01:02

HTML部分:

<div class="w1050">
<div class="hall_slogan">
<h2>你的留学需求 总有一人能帮你</h2>
<a class="btn-white" target="_blank" href="
http://www.ehaiwai.com/Home/Site/login/form/2.html
">发布需求</a>
</div>
</div>

CSS
.w1050 {
height: 100%;
position: relative;
}
.hall_slogan {
color: #fff;
left: 0;
position: absolute;
right: 0;
text-align: center;
top: 50%;
transform: translateY(-50%);
}

还记得以前怎么让一个DIV居中吗?除了margin:0 auto外,还有一个方法是外层text-align:center,里层left:-(div自身宽度一半);但是自身宽度一半要计算出来。
top: 50%,加translateY(-50%)就是自身高度一半,和上文原理一样,不过是动态的,不用计算高度了。left: 0;right: 0;是左右居中