У меня есть следующий код:Как мне заставить IE правильно перемещать элемент после изменения размера брата по вертикали?
<nav id='tab_links'>
<a href='#view1'>One</a>
<a href='#view2'>Two</a>
</nav>
<div id='container'>
<div id='view1'>Short Content</div>
<div id='view2'>Much longer content</div>
</div>
<footer>
<input type='submit' />
</footer>
и следующие стили:
#view2 { display: none; }
#footer { display: block; clear: both; text-align: right; }
#footer * { display: inline-block; text-align: center; }
я использую следующие JQuery обменивать мнения:
$('#tab_links a').click(function() {
var tabToShow = $($(this).attr('href'));
var otherTabs = tabToShow.siblings();
tabToShow.show();
otherTabs.hide();
});
Когда я выгрузить view1
содержание для содержания view2
, нижний колонтитул остается там, где он был, паря над серединой нового контента. Если я наведите указатель мыши на содержимое нижнего колонтитула, он скачет на место. Если я затем верну его обратно на view1
, нижний колонтитул снова останется там, где он был для view2
, что намного ниже конца container
.
Какие стили можно применить, чтобы IE переместил нижний колонтитул соответствующим образом? Я пробовал все следующие, в различных комбинациях:
- применяются
clearfix
к#container
- применяются
clearfix
к#footer
- применяются
height: auto
к#container
- применяются
height: 30px
к#footer input
- применять
widgth: 100px
к#footer input
Я также попытался добавить ''
внутри '# container'. Это также не может подтолкнуть нижний колонтитул вниз, когда содержимое расширяется (или поднимает его, когда оно сжимается). Это заставляет меня подозревать, что это не проблема с поплавком. –Я также попытался связать события hide/show, которые переключают представления. '$ ('# view1'). hide (0, function() {$ ('# view2'). show();});' ведет себя так же, как $ ('# view1'). hide(); $ ('# view2'). show(); ' –
Эта проблема, кажется, очень * тесно связана: https://forum.jquery.com/topic/force-ie-redraw (увы, это неразрешено) –