Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
1) Можно ли использовать на элементе одновременно float:left и position:absolute/relative?
2) Во всех ли браузерах это будет работать корректно?
IllusionMH
Отправлено: 19 Февраля, 2012 - 01:29:01
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
Pavelbeginner, вы опять поражаете вопросом, который проверяется за 5 секунд.
Так тяжело проверить самому? Времени одинаково, что написать очередной вопрос, что самостоятельно проверить на практике. От второго пользы больше.
Мне вот интересно, чего хотите добиться элементу с абсолютным позиционированием float: left?
Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
IllusionMH пишет:
Pavelbeginner, вы опять поражаете вопросом, который проверяется за 5 секунд.
Так тяжело проверить самому?
Меня поражает Ваша наивность в плане, что Вы думаете, что я не проверил и абы ляпнуть пишу. Я проверил во всех браузерах, работает корректно, но я же не знаю на счет всех версий браузеров. Нашел вчера все-таки инфу, что нельзя применять float:left и position:relative. А раз есть возможность того, что не будет корректно отображаться хоть в одном браузере и, тем более, раз это не соответствует стандарту, то я не буду так делать и то, что я проверю в браузерах и будет работать - это уже не имеет значение.
IllusionMH
Отправлено: 19 Февраля, 2012 - 14:23:12
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
Pavelbeginner пишет:
Меня поражает Ваша наивность в плане, что Вы думаете, что я не проверил и абы ляпнуть пишу.
К сожалению большая часть вопросов в этом разделе создает именно это впечатление.
Pavelbeginner пишет:
нельзя применять float:left и position:relative
ну хорошо, что хоть где-то точно написали что нельзя
Вообще не вижу смысла в флоатах совместно с позиционированием Если это является решением проблемы, то нужно искать другое решение
Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
IllusionMH пишет:
Вообще не вижу смысла в флоатах совместно с позиционированием Если это является решением проблемы, то нужно искать другое решение
Например, если нужно внутри одного блока разместить бок обок несколько блоков. А относительно внутренних блоков осуществлять позиционирование. Можно, конечно, использовать вместо float display:inlin-block, но тогда, если между ними есть пробелы, то они не будут стоять вплотную друг к другу.
DelphinPRO
Отправлено: 19 Февраля, 2012 - 21:27:28
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Pavelbeginner пишет:
Нашел вчера все-таки инфу, что нельзя применять float:left и position:relative.
почему нельзя??? можно, а иногда нужно.
посмотрите код http://jsfiddle[dot]net/TpxV6/
по задумке синий флоатнутый блок должен быть виден полностью. А если position:relative убрать, то он окажется под желтым.
----- Чем больше узнаю, тем больше я не знаю.
IllusionMH
Отправлено: 19 Февраля, 2012 - 22:21:48
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Вы не можете одновременно использовать свойство position и свойство float для одного и того же элемента. Оба эти свойства влияют на позицию элемента, поэтому использоваться будет свойство, указанное последним.
"Из комментариев:" пишет:
Одновременно можно использовать position:relative и float.
Когда одновременно указывается position:absolute и float, то применяется не последнее указанное свойство. В этом случае, независимо от порядка следования этих стилей, применяется position:absolute, а итоговое (или вычисленное) значение свойства float устанавливается в none, независимо от начального значения, т.е. игнорируется.
Появилась мысль обратится к первоисточникам, т.е. копнуть прямо в спецификации, но лень победила и я пошел спрашивать у гугла. Гугл порадовал ссылкой на очень полезный ресурс Stack Overflow, где уже много раз ответили на много вопросов CSS position: relative and float: left
По ссылочке(из ответа) на спецификацию, проверил - действительно. Пролистал больше - никаких запретов не нашел.
TL;DR можно смело юзать float + position: relative;
Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
DelphinPRO пишет:
почему нельзя??? можно, а иногда нужно.
Вычитал, что нельзя по стандарту. То, что у Вас корректно отображается в браузере, это не значит, что во всех браузерах так отображается. Лучше следовать стандартам, точнее нужно им следовать.
IllusionMH
Отправлено: 19 Февраля, 2012 - 22:47:50
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
Pavelbeginner, перечитайте мой пост. Там есть ответ на такой же вопрос и ссылка на спецификацию (и конкретная цитата из нее).
И спецом же выделил вывод в TL;DR, что можно.
Если так уверены в источнике - дайте ссылку, посмотрим о чем там говорят. Может там про абсолютно позиционированный элемент, для которого флоат игнорируется.
Когда одновременно указывается position:absolute и float, то применяется не последнее указанное свойство. В этом случае, независимо от порядка следования этих стилей, применяется position:absolute, а итоговое (или вычисленное) значение свойства float устанавливается в none, независимо от начального значения, т.е. игнорируется.
вот это , кстати, в спецификации и написано.
----- Чем больше узнаю, тем больше я не знаю.
IllusionMH
Отправлено: 19 Февраля, 2012 - 23:23:17
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
DelphinPRO, вот эта цитата отвечает спеке и действительности.
А вот чуть раньше (которая говорит что нельзя)
css-tricks.ru пишет:
Вы не можете одновременно использовать свойство position и свойство float для одного и того же элемента. Оба эти свойства влияют на позицию элемента, поэтому использоваться будет свойство, указанное последним.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.