Child Div的位置相对推动其他父按钮

时间:2013-04-03 22:33:56

标签: css position css-position

(我真的不知道如何标题。无论如何!)

我有几个垂直堆叠的HTML按钮,我认为是父级别。当您将鼠标悬停在按钮上时,我会在按钮右侧显示div(或子级别)。为了强制div向右,我使用position:relative; ...

position:relative;
top:-25px;
left:200px;

但悬停按钮下面的按钮会像按钮下面的div一样被按下。

如何在不按下按钮的情况下显示子div,同时保持父按钮和子div的顶部对齐?

以下是一个jsfiddle:http://jsfiddle.net/8Mbyu/

2 个答案:

答案 0 :(得分:1)

你反对使用绝对定位还是那样? jsFiddle这里。

.hiddenButtons { /*blue div*/
    display:none;
    background:#0af;
    width:100px;
    padding:5px;
    text-align:center;
    position:absolute;
    top:9px;
    left:210px;
}

答案 1 :(得分:1)

经过一夜思考之后,我想我可以通过javascript获取父按钮的位置来使用绝对定位:

行动中:http://jsfiddle.net/8Mbyu/8/

.hiddenButtons { /*blue div*/
    display:none;
    background:#0af;
    width:100px;
    padding:5px;
    text-align:center;
    position:absolute;
    left:210px;
}

和javascript:

$('.parentButton').hover(function () {
    $('.hiddenButtons').hide();
    var childID = '#' + this.id + 'Child';
    var rect = document.getElementById(this.id).getBoundingClientRect();
    var top = rect.top;
    $(childID).css("top", top+1);
    $(childID).show();
});

谢谢https://stackoverflow.com/a/11396681/1178486

我愿意看到更清洁的解决方案。