2013-09-29 4 views
0

У меня есть следующий HTML:IE думает, что float initial плавает влево?

<div class="cleanContainer"> 
    <div style="height:80px">test</div> 
</div> 

И это CSS:

.cleanContainer 
{ 
    float:      left; 
    padding:     7px; 
    background-color:   #ffffff; 
    width:      786px; 
    -moz-border-radius:   2px 2px 2px 2px; 
    -webkit-border-radius:  2px 2px 2px 2px; 
    border-radius:    2px 2px 2px 2px; 
} 

Затем я получил @media экран CSS файл, в котором я получил это:

.cleanContainer 
{ 
    float:      initial; 
    padding:     3px; 
    width:      auto; 
} 

Это прекрасно работает в Chrome поплавок установлен равным нулю и будет занимать всю ширину. В IE он будет установлен как float: left, и это не годится для дизайна?

Как это решить?

EDIT: вот пример: http://jsfiddle.net/snowman/ahCga/2/

+6

Почему вы не используете 'float: none' вместо этого? – avrahamcool

+0

Я не думаю, что когда-либо видел «float: initial». Это допустимое значение для 'float'? – SombreErmine

+0

«initial» не является допустимым значением поплавка. Что вы ожидаете от этого? – JJJ

ответ

10

@Alochi нашли начальное значение на http://www.w3.org/TR/css3-values/#common-keywords так что ОП не было неправильно с точки зрения, но это еще не реализована для всех браузеров.

Так,

Использование float: none; вместо float: initial;

Там нет такого значения для поплавочной собственности пока совместимы. See here

Description 
-------------------------------------------------------------------- 
Values   | left | right  |  none | inherit 
-------------------------------------------------------------------- 
Initial value  | none 
-------------------------------------------------------------------- 
Applies to  | All element 
-------------------------------------------------------------------- 
Inherited   | No 
-------------------------------------------------------------------- 

Значения задаются w3.org:

покинул

Элемент генерирует бокс блока, который перемещается влево. Содержимое перемещается в правой части окна, начиная сверху.

право

Подобно «влево», за исключением того, коробка поплыл вправо, а содержимое обтекает по левой стороне коробки, начиная с самого верха.

ни

Коробка не плавали.

унаследуют

принимает такое же заданное значение, что и свойство родительского элемента.

+0

http://www.w3.org/TR/css3-values/#common-keywords – Alohci

+0

хорошая находка, но вы заметили, что это значение CSS. Значения и единицы измерения Уровень 3 –

+0

Конечно. Я знал, что это где-то в CSS3, но мне пришлось рыться в различных спецификациях CSS3, чтобы узнать, какой из них. – Alohci

3

Как я уже говорил в моем комментарий ..

вы можете увидеть here что float как none в качестве начального значения. и доступные варианты

  1. поплавок: левый
  2. поплавок: правый
  3. поплавок: нет
  4. поплавок: унаследовать

поэтому используйте float: none вместо float:initial

Chrome работает только потому, что ГЭС пытается быть с тобой красивым .. :)

2

Использование

.cleanContainer 
{ 
    float:none; 
    padding:3px; 
    width:auto; 
} 

Там нет «Поплавок: начальное» в спецификации CSS, «начальное» означает состояние по умолчанию, который не является «ни один».

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