2011-02-10 2 views
2

Застрял проблема компоновки с IE 6 & 7. Большинство (но не все) элементов ввода по какой-либо причине размещены вне их родительского слоя. Я использовал позицию: относительный как для родителя, так и для ребенка, и как только я установил положение ребенка в абсолютном состоянии, он правильно позиционирует себя.IE 6 & 7 - Относительные поля ввода за пределами

Пример задачи: http://www.justcarl.co.uk/work/apto/LiveCycleHTML/page.html

... По существу
Родитель:

position: relative; 
width: 12em; 
margin-bottom: 6px; 
margin-left: 9em; 

ребенок:

position: relative; 
width: 80%; 
z-index: 3; 

HTML, генерируется с помощью серверного компонента, так что я здесь после некоторого гениального CSS. Я попытался возиться с z-index, float, clear, display, width и height (все изменилось с использованием firebug lite), но ничего. Любые новые идеи приветствуются, после дня разочарования я не знаю, смогу ли я это решить>. <

ответ

2

Хорошо, решил хотя и не так, как я хотел. По какой-то причине объявление любой ширины, которая когда-либо была в родительском контейнере, вызывает некоторую странность (никогда не сталкивалась с этим раньше, хотя). Раньше не замечал, экспериментируя, потому что Firebug Lite не показывает результаты мгновенно.

В конце я установил ширину родительского родительского элемента, из которого родительский заполнил оставшуюся часть пространства, а входное заполнение - на процент.

0

Попробуйте добавить это к ребенку:

margin-left: 0px; 

Это может быть, что ребенок наследует родителя margin-left: 9em;

+0

Пробовал это, но не имел никакого эффекта:/ –

+1

Да, вы правы, он наследует его по какой-то причине. По-видимому, это ошибка IE (http://www.webmasterworld.com/css/3253181.htm). Невозможно сделать с удалением поля в моей текущей настройке, хотя идея на будущее. –

Смежные вопросы