2012-04-05 3 views
0

У меня возникли проблемы с IE7. У меня есть следующий html-формат.Легенда не плавает влево на IE7

<fieldset class="wrapper"> 
    <legend class="ct">Legend </legend> 
    <div class="ct">Div 1</div> 
    <div class="ct">Div 2</div> 
</fieldset> 

И это стиль CSS

.wrapper .ct { 
    display:inline-block; 
    *display:inline; /*IE7*/ 
    float:left 
} 

, когда я проверить это на другой браузер работает нормально, но IE7 не делает. См. Снимок экрана ниже. Но если я использую div вместо легенды, тогда он работает. Здесь размещено: Jsfiddleenter image description here

+0

Почему вы используете 'legend' элемент здесь? 'legend' используется для описания элементов внутри' fieldset' и не должно использоваться (afaik) вне 'fieldset'. Я думаю, что элемент заголовка (например, 'h2') здесь более уместен. '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' – powerbuoy

+0

Это неправда HTML, элемент 'legend' предназначен для' fieldset'. [Контексты, в которых этот элемент может использоваться: как первый дочерний элемент элемента fieldset.] (Http://dev.w3.org/html5/spec/single-page.html#the-legend-element) – steveax

+0

Я знаю что ты имеешь в виду. Это на самом деле внутри fieldset, где divs лежат с легендой. Это своего рода формат в CMS, и я не могу измениться. – Dips

ответ

0

Для IE7 попробуйте установить для отображения: встроенный (не встроенный блок).

Правильно, забыл, насколько легенда боли. Вероятно, вам нужно использовать абсолютное положение, чтобы поместить его как таковое - с левым полем на остальных или дополнением слева от родителя. Зависит от дизайна.

0

IE не понимает display:inline-block, вы можете использовать вместо display:inline с хака целевой этот браузер в одиночку, так как:

.wrapper .ct { 
    display:inline-block; 
    *display:inline; 
    float:left 
} 
+0

Это тоже не работает. работает только, если я использую div вместо легенды – Dips

+0

@ user1193749 cam вы отправляете тестовый пример на http://jsfiddle.net? –

+0

Вот ссылка [http://jsfiddle.net/2EZPY/2/) – Dips

1

Andres почти был. Добавьте «* float: none» после «float: left», и вы должны быть хорошими.

.wrapper .ct { 
    display:inline-block; 
    float:left; 
    *display:inline; 
    *float:none; 
}​ 

Here's the updated fiddle