现在我正在做一个纸牌游戏,现在我正在编写关于手牌的代码。
我们的目标应该是这样的(这是我的代码在 IE10 中的结果)
有三个要求:
1. 所有卡片都将填满手牌区域。
2. 所有卡片的宽度相同。
3.如果卡片太多,右边的一张会在左边的一张。(蓝色边框的卡片是最左边的,在第二张下面)
所以我们决定用table来做。这是代码。
<style>
.hand {
position: absolute; /* We need to locate it */
display: table;
width: 60%;
height: 15%;
left: 19.5%;
}
.hand .wrap {
position: relative;
display: table-cell;
height: 100%;
}
.hand .card {
position: relative;
left: 50%;
}
</style>
<div style="width: 400px; height:100px; position: relative">
<!-- Container's width and height will change with JavaScript -->
<div class="hand">
<div class="wrap">
<img class="card" src=""/>
</div>
<div class="wrap">
<img class="card" src=""/>
</div>
<!-- More cards can be added using JavaScript. -->
</div>
</div>
<script>
function adjust() { // Run this function when inserting new cards.
$(".hand .card").css("margin-left", function () {
return 0 - $(this).width() / 2 + "px";
});
}
</script>
现在,IE10 中的代码结果在上面,但在 Firefox 和 Chrome 中, 的.hand
高度与.card
.
我已经阅读了一些其他类似的问题,现在我知道height
表格上的 CSS 属性不起作用,并且我将解决方案之一设置.card
为position: absolute;
,但它仅适用于 Chrome,在 IE10 中,.card
s 现在的宽度和高度为 0px,在Firefox 他们都在.hand
.
那么是否有任何跨浏览器解决方案来设置高度或任何其他方式来做到这一点?
非常感谢!