2012-07-18 36 views
1

当子元素的宽度高于其父元素时,它会超过父元素的宽度。 我想相反,它超出了父母的宽度,使其有这个right设置好的“0”使其粘在父母的股利的权利,这可能吗?超过父宽度的元素的特定规则

请参见例如:http://jsfiddle.net/rTg3x/3/inner1 DIV超过主要格的限制,而inner2格犯规,我想将inner1 DIV得到粘到右侧,在不知道的left量它有CSS。

这可能吗? 非常感谢。

回答

1

你可以尝试一些讨厌的jQuery。这是我想出来的。它的工作原理,但可能更干净的方式来做到这一点。

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

基本上说,如果div的宽度加上左边的偏移量大于父级的宽度,请将它右对齐。

更通用为雅。

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

}); 

+0

哇,那个人很好,我用简单的Javascript尝试过,但是我不能用最终的PX做一些他们,现在用JS你只能在Numbers中得到它!了解了这个答案的两件事,非常感谢! – 2012-07-18 17:49:16

+0

不好意思提出另一个问题,但是可以用类或标签来代替ID吗?再次感谢! – 2012-07-18 17:54:07

+0

更新为更通用的版本。 – Chad 2012-07-18 18:02:14

0

:在这种情况下,这是不可能的。所以与父母分隔没有关系

你在这种情况下,内部分隔的绝对位置。它延伸出来是因为你已经声明lefttop这个值。相对定位的儿童分隔线不是这种情况。

+0

阿门!!!!!!!!!!!! – Vinit 2012-07-18 17:10:15

+0

嗯,但如果安布Abululte,如果它是相对的,而不是使用余裕离开,会有可能吗?非常感谢! – 2012-07-18 17:12:44

0

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

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

+0

不,没有,如果超过父母的宽度,它应该粘在右侧,而不是隐形的,明白吗?无论如何,非常感谢! – 2012-07-18 17:15:00

相关问题