Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: float + position

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Pavelbeginner
Отправлено: 18 Февраля, 2012 - 22:53:15
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010  


Помог: 1 раз(а)




1) Можно ли использовать на элементе одновременно float:left и position:absolute/relative?
2) Во всех ли браузерах это будет работать корректно?
 
 Top
IllusionMH
Отправлено: 19 Февраля, 2012 - 01:29:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Pavelbeginner, вы опять поражаете вопросом, который проверяется за 5 секунд.
Так тяжело проверить самому? Времени одинаково, что написать очередной вопрос, что самостоятельно проверить на практике. От второго пользы больше.
Мне вот интересно, чего хотите добиться элементу с абсолютным позиционированием float: left? Не понял

Спойлер (Отобразить)


С относительным:
Спойлер (Отобразить)


Кроссбраузерность соблаговолите проверить сами.

(Отредактировано автором: 19 Февраля, 2012 - 01:34:14)

 
 Top
Pavelbeginner
Отправлено: 19 Февраля, 2012 - 08:55:54
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010  


Помог: 1 раз(а)




IllusionMH пишет:
Pavelbeginner, вы опять поражаете вопросом, который проверяется за 5 секунд.
Так тяжело проверить самому?

Меня поражает Ваша наивность в плане, что Вы думаете, что я не проверил и абы ляпнуть пишу. Я проверил во всех браузерах, работает корректно, но я же не знаю на счет всех версий браузеров. Нашел вчера все-таки инфу, что нельзя применять float:left и position:relative. А раз есть возможность того, что не будет корректно отображаться хоть в одном браузере и, тем более, раз это не соответствует стандарту, то я не буду так делать и то, что я проверю в браузерах и будет работать - это уже не имеет значение.
 
 Top
IllusionMH
Отправлено: 19 Февраля, 2012 - 14:23:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Pavelbeginner пишет:
Меня поражает Ваша наивность в плане, что Вы думаете, что я не проверил и абы ляпнуть пишу.

К сожалению большая часть вопросов в этом разделе создает именно это впечатление.
Pavelbeginner пишет:
нельзя применять float:left и position:relative

ну хорошо, что хоть где-то точно написали что нельзя Улыбка

Вообще не вижу смысла в флоатах совместно с позиционированием Улыбка Если это является решением проблемы, то нужно искать другое решение

(Отредактировано автором: 19 Февраля, 2012 - 14:24:06)

 
 Top
Pavelbeginner
Отправлено: 19 Февраля, 2012 - 21:13:32
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010  


Помог: 1 раз(а)




IllusionMH пишет:
Вообще не вижу смысла в флоатах совместно с позиционированием Если это является решением проблемы, то нужно искать другое решение

Например, если нужно внутри одного блока разместить бок обок несколько блоков. А относительно внутренних блоков осуществлять позиционирование. Можно, конечно, использовать вместо float display:inlin-block, но тогда, если между ними есть пробелы, то они не будут стоять вплотную друг к другу.
 
 Top
DelphinPRO
Отправлено: 19 Февраля, 2012 - 21:27:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Pavelbeginner пишет:
Нашел вчера все-таки инфу, что нельзя применять float:left и position:relative.


почему нельзя??? можно, а иногда нужно.

посмотрите код http://jsfiddle[dot]net/TpxV6/
по задумке синий флоатнутый блок должен быть виден полностью. А если position:relative убрать, то он окажется под желтым.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
IllusionMH
Отправлено: 19 Февраля, 2012 - 22:21:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Pavelbeginner, проблема с отступами между блоками успешно решается кучей способов
И они хорошо описаны в статье на хабре «Загадочные отступы» между инлайн-элементами
Pavelbeginner пишет:
Например, если нужно внутри одного блока разместить бок обок несколько блоков. А относительно внутренних блоков осуществлять позиционирование.

Точно, горизонтальное выпадающее меню. Вспылил, был неправ Улыбка


Но зато нашел пару плюшек:

Спойлер (Отобразить)


TL;DR можно смело юзать float + position: relative;

(Отредактировано автором: 19 Февраля, 2012 - 22:25:08)

 
 Top
Pavelbeginner
Отправлено: 19 Февраля, 2012 - 22:35:27
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010  


Помог: 1 раз(а)




DelphinPRO пишет:
почему нельзя??? можно, а иногда нужно.

Вычитал, что нельзя по стандарту. То, что у Вас корректно отображается в браузере, это не значит, что во всех браузерах так отображается. Лучше следовать стандартам, точнее нужно им следовать.
 
 Top
IllusionMH
Отправлено: 19 Февраля, 2012 - 22:47:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Pavelbeginner, перечитайте мой пост. Там есть ответ на такой же вопрос и ссылка на спецификацию (и конкретная цитата из нее).
И спецом же выделил вывод в TL;DR, что можно.

Если так уверены в источнике - дайте ссылку, посмотрим о чем там говорят. Может там про абсолютно позиционированный элемент, для которого флоат игнорируется.

(Отредактировано автором: 19 Февраля, 2012 - 22:57:32)

 
 Top
DelphinPRO
Отправлено: 19 Февраля, 2012 - 22:54:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Pavelbeginner пишет:
Вычитал, что нельзя по стандарту.


По какому стандарту?
Вот спека http://www[dot]w3[dot]org/TR/CSS21/visuren[dot]html Где там написано, что эти два свойства нельзя совмещать?
(Добавление)
IllusionMH пишет:
Когда одновременно указывается position:absolute и float, то применяется не последнее указанное свойство. В этом случае, независимо от порядка следования этих стилей, применяется position:absolute, а итоговое (или вычисленное) значение свойства float устанавливается в none, независимо от начального значения, т.е. игнорируется.

вот это , кстати, в спецификации и написано. Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
IllusionMH
Отправлено: 19 Февраля, 2012 - 23:23:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




DelphinPRO, вот эта цитата отвечает спеке и действительности.
А вот чуть раньше (которая говорит что нельзя)
css-tricks.ru пишет:
Вы не можете одновременно использовать свойство position и свойство float для одного и того же элемента. Оба эти свойства влияют на позицию элемента, поэтому использоваться будет свойство, указанное последним.

не нашел подтверждения ни в спеке, ни в браузерах

(Отредактировано автором: 19 Февраля, 2012 - 23:33:39)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTML, Дизайн & CSS »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB