z-index悬停在不工作状态

时间:2012-08-22 19:00:03

标签: jquery css

我正在尝试在事件上创建一个不会影响其余布局的事件。似乎z-index是这样做的方式,但我无法让它工作。我试图坚持使用css,但jQuery是可行的。

完整的应用:http://jsfiddle.net/9cRdq/

HTML

<div class="big-square" id="br">
    <div class="little-square" id="br-tl"></div>
    <div class="little-square" id="br-tr"></div>
    <div class="little-square" id="br-bl"></div>
    <div class="little-square" id="br-br"> </div>
</div>

CSS

.big-square
{
    position: relative;
    z-index: 1;
    font-size: 2em;
    float: left;
    width: 30%; 
    min-width: 4em;
    min-height: 4em;
    margin: 0 2% 2% 0;
    background: #000;
}
.little-square
{
    position: relative;
    z-index: 1;
    cursor: pointer;
    float: left;
    width: 48%; 
    height: 48%;
    background: #cd2626;
}
.little-square:hover
{
    z-index: 1000;
}

jquery的

$(document).ready(resizeBigSquare);
window.onresize = resizeBigSquare;
function resizeBigSquare() {
    $('.big-square').css(
        {
            'height': ($('.big-square').width() * .85) + 'px',
            'line-height': ($('.big-square').width() * .85) + 'px'
        });
    $('.little-square, .rectangle-top, .rectangle-bottom').css(
        {
            'line-height': $('.little-square').height()+ 'px'
        });
}

1 个答案:

答案 0 :(得分:1)

您的z-index悬停更改工作正常。事实上,here's a fiddle通过使用box-shadow显示了它。你的 div.little-square 实际上是在它上面的同龄人之上,否则box-shadow将会落后于其他人。

请注意z-index仅影响z轴上的堆叠顺序,没有别的(尺寸,颜色等)

如果您想在悬停时更改 div.little-square 的大小(不破坏网格),请考虑在每个方块内创建子元素。然后,将position:absolute应用于新的子元素,将小方块的一些属性传递给它,并相应地设置它的悬停状态。 This fiddle有一个我正在谈论的例子。