超出父级宽度的元素的特定规则

时间:2012-07-18 17:06:47

标签: javascript css dom

当子元素的宽度高于其父元素时,它超出了父元素的宽度。 我想要相反它超过了父亲的宽度,它让这个right设置为'0',使它坚持父母的Div的权利,是否可能?

查看该示例:http://jsfiddle.net/rTg3x/3/ inner1 div超出了 div限制,而 inner2 div没有,我想将inner1 div粘贴到右侧,没有知道它拥有的left CSS的数量。

这可能吗? 非常感谢。

3 个答案:

答案 0 :(得分:1)

你可以尝试一些讨厌的jQuery。这就是我想出来的。它有效,但可能有更简洁的方法。

if(($('#inner1').offset().left + $('#inner1').width()) > $('#main').width()){
    $('#inner1').css({'right':'0', 'left': 'auto'});
}

基本上说,如果你的div的宽度加上它从左边的偏移量大于父的宽度,那么右边对齐它。

ya更通用。

$('#main').find('div').each(function() {
    if($(this).offset().left + $(this).width() > $('#main').width()) 
        $(this).css({'right':'0', 'left': 'auto'});

});

答案 1 :(得分:0)

回答:在这种情况下,无法做到。

在这种情况下,你的内部分隔线绝对定位,因此与父分隔线没有关系。它延伸了,因为您已声明导致此lefttop值。对于相对定位的儿童分隔器,情况并非如此。

答案 2 :(得分:0)

不确定,如果我理解你的问题。

这是你在找什么: http://jsfiddle.net/rTg3x/5/ ...