досужий разговор о float и width @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 23 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Заголовок сообщения: досужий разговор о float и width
Сообщение Добавлено: 19 Август 2005, 16:57:24 
во первых строках -- всем доброго дня (ночи).
Воспользовавшись поиском по форуму на предмет сабжа, внятного ответа не нашел. На w3c, как ни странно, тоже. Суть -- чистая теория, на практике я забил на это. Но а вдруг?..

Есть блочный элемент с float (например left). Нет, одного мало -- два элемента, оба float. Опытным путем установлено, что width такого блока определяет контент внутри него, в частном случае -- длина строки (если нет явного указания ширины ему или его чайлдам). В ИЕ, вопреки мнениям о кривости, реакция как по мне адекватная: уперся край окна во второй блок -- он соскакивает только ежели ему жаться уже некуда.
А вот остальные. Остальные ломать строки такого блока не хотят, как только окно упирается в край блока -- сносят сразу под первый.

Вопрос: так как все таки считать ширину блока с флоат по-умолчанию? Повторюсь, ИЕ считает, что если ширина блоку не задана -- он занимает столько, сколько нужно его контенту (т.е.100% от оставшегося после первого блока), но если начинается ресайз -- жмет контент сколько сможет (до первого неразбиваемого слова в строке), потом сбрасывает под первый и снова дает ему 100%.
Остальные жать контент не хотят. Кто прав и как это фиксить?

Давать такому блоку width в % -- выход сомнительный при резиновой верстке, при срыве блока вниз он продолжает занимать свои %-ы от ширины парента, а не все доступное пространство; в px -- зачем тада резина?..

PS. По остальным имеюцца в виду файрфокс, мозила, опера, нетскейп 6Х
.talisman Муж.
участник
84
Сообщения: 1562
Зарегистрирован: 13.01.05
Сообщение Добавлено: 19 Август 2005, 17:03:59 
Спецификация гласит, что у каждого плавающего блока должен быть задан параметр width.
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 19 Август 2005, 17:12:02 
ну дык. Задав 100% -- получаем второй блок под первым сразу, для чего флоат и не нужен. Задав меньше -- получаем пустое место до края окна (границы следующего элемента страницы). А так чтоб красивенько заполнилось все, что может заполнится -- только ИЕ такой услужливый...
.talisman Муж.
участник
84
Сообщения: 1562
Зарегистрирован: 13.01.05
Сообщение Добавлено: 19 Август 2005, 17:17:52 
ие работает не по спецификациям.
и то, что в ие все так хорошо получается — счастливая случайность.
другими словами это не фича — это баг.
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 19 Август 2005, 17:27:21 
тему потому так и назвал. Но поскольку правила полезно нарушать, зная как; да и бага, приносящая пользу, есть фича, то осталось остальные броузеры научить тому, что мне нужно. Вопрос: как? Кто умеет флоатом заполнять то, что нужно, а не то, что можно?
Остальные броузеры на самом деле поддерживают спецификации до той степени, пока не надоедает их разработчикам. Знаю в ИЕ еще парочку "баг", которые больше фичи...
.talisman Муж.
участник
84
Сообщения: 1562
Зарегистрирован: 13.01.05
Сообщение Добавлено: 19 Август 2005, 17:29:12 
я, конечно, не спорю и был бы только рад, если бы было провило на подобие такого: «Любой блок, для которого используется плавающая модель и не указана ширина блока, занимает все свободное пространство, относительно ширины экрана». На это можно лишь надеяться =)
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 19 Август 2005, 17:33:33 

Тараканьола писал(а):
karamba, а вот зачем ты лезешь, как говорится, в тулуп? Чо, прям невтерпеж все на дивах построить? Ну никак нельзя вложенную таблу поставить?.


а я и не говорю, что я ярый противник таблиц. Выбираю средства, оптимальные для решения конкретных задач. И если мне удобнее где-то обойтись таблицей -- я так и сделаю.
Но в данному случае мне таблица не поможет. Соседние TD всегда остануться соседними, а флоат может перенести блок с текстом под картинку, если блоку станет тесно. Таблицей так фиг вывернешся.
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 21 Август 2005, 20:57:23 
Блин, мастера...

Ну не верите высказывающимся здесь - почитайте недешёвые книжки чтоль... Авторитетов поищите. Сколько раз твердили миру про боксовую модель ИЕ? Тысячу? Десять тысяч? Сходите на листапарт, вебмаскон или в гугл или в книжный магазин, блин...

А если неумеха или бездарь - замени всё таблицами, делов-то, кроме перспектив конкурентоспособности.

ВСЕМ ВЕРСТАТЬ ТАБЛИЦАМИ!

Освободите нам место.
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 21 Август 2005, 21:29:01 
[и впрямь, ошибся]


Последний раз редактировалось Акела 21 Август 2005, 21:57:54, всего редактировалось 1 раз.
.talisman Муж.
участник
84
Сообщения: 1562
Зарегистрирован: 13.01.05
Сообщение Добавлено: 21 Август 2005, 21:50:29 
Акела, топиком ошиблись =)
и еще я хочу сказать, что я нигде не воспевал лебедева, а лишь счет нужным состаться на него потому, что подобный материал я когда-то видел в его ководстве. но как оказалось, сделал это зря, так как меня причислили к сектантам-лебединцам, обосрали лебедева (как всегда, при первом же случае), ну и меня, заодно =)
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 21 Август 2005, 21:59:11 
оффтопик:
.talisman, Лично я Лебедева не обсирал, а отмечал его достоинстява. См. ТОТ топик.
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 22 Август 2005, 11:56:18 

Акела писал(а):
Блин, мастера...


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


Акела писал(а):
Ну не верите высказывающимся здесь - почитайте недешёвые книжки чтоль... Авторитетов поищите. Сколько раз твердили миру про боксовую модель ИЕ? Тысячу? Десять тысяч? Сходите на листапарт, вебмаскон или в гугл или в книжный магазин, блин...



Верим, читали, ходили. Я спросил о РАБОТАЮЩЕМ способе в конкретном случае. Способы есть (на том же листапарте), но они исходят из узкопоставленной задачи и имеют больше ограничений, чем допусков. Float vs/with width я ковыряю сам и сунулся за советом только потому, что не нашел пока нормального элегантного способа, а поиск затянулся (см.название топика и фразу "На практике я забил..." Речь идет о 100% резине без никаких пикселей в ширинах, маргинах, паддингах и т.п. фиксациях. Почему так -- отвечу в личку).
Насчет блочной модели ИЕ. 80-85% юзеров под ИЕ/Вин нас..простите...рать на его блочную модель. Она девелоперам дана в ощущениях и не завист от их знаний о ней. Потому девелопер будет принимать и дальше разные неудобные позы под ИЕ или кто под что умеет. Неумеющий девелопер просто кладет на оставшихся 15-20%. Умеющий доходит до цсс-хаков или обходит узкие места другими способами, говоря клиенту, что "Такое нереализуемо при таких сроках и/или таком бюджете". Отсюда любоВ к таблицам (особенно у "чистых" программеров) -- предсказуемо, быстро, просто, привычно.
Но это уже другая песня.


Акела писал(а):
А если неумеха или бездарь - замени всё таблицами, делов-то, кроме перспектив конкурентоспособности.


емко, потому комментировать нет смысла.
"… — Это был программист.
— С чего Вы взяли?!
— Его ответ обычно точен и обычно лишен какой-либо практической ценности..." © анек
Бaзиль Муж.
участник
49
Сообщения: 1288
Зарегистрирован: 13.02.05
Откуда: Околомосковье
Сообщение Добавлено: 22 Август 2005, 13:02:09 
karamba, утомляет.

Код в студию, плз :)

Желательно ссылкой...

_________________
Не кочегары мы, не плотники,
Но сожалений горьких нет -
Как нет?
А мы дизайнеры-художники,
И с высоты вам шлем привет -
Привет!
IonDen666 Муж.
постоянный участник
109
Сообщения: 3234
Зарегистрирован: 25.11.04
Откуда: Москва
Сообщение Добавлено: 22 Август 2005, 14:48:25 
Споры о преимуществах табличной/безтабличной верстки неоднократно проводились в соседних темах, загляните туда.

karamba, иллюстрируйте проблему кодом.

_________________
Frontend developer: IonDen.com
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 22 Август 2005, 16:36:52 
karamba,
Цитата:
автор давно проблему кросссссссброузерной и кроссссплатформенной неглючной быстрой блочной тейбллесс-верстки решил?



Решил. Давно.
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 23 Август 2005, 10:21:10 

IonDen666 писал(а):
karamba, иллюстрируйте проблему кодом.


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

_________________
клетчатый!
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 23 Август 2005, 11:39:56 
karamba, Вам нужно именно такое отображение или непременным условием является сохранение кода самой разметки?
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 23 Август 2005, 12:08:34 

Акела писал(а):
karamba, Вам нужно именно такое отображение или непременным условием является сохранение кода самой разметки?


только отображение, вместо <body> может быть контейнер произвольной ширины, справа-слева от него тоже могут быть контейнеры. Смысл в том, чтобы под имидж (который тоже может быть разной, хоть и фиксированной ширины) падал весь блок со всем содержимым, заполняя оставшееся до правой границы контейнера место. Потому что резина...
Код разметки в данном случае тот, который мне показался минимально-оптимальным :)
Пробовал играться с дополнительными контейнерами с отрицательными/положительными маргинами -- адекватного результата не получилось... Но если адекватность потребует дополнительных блоков -- готов жертвовать легкостью и прозрачностью кода.

Смысл этой возни -- портал с настолько разномастным контентом, что унифицировать темплейты просто не получается. И все это должно оптимально располагаться в окне от 800х600.

_________________
клетчатый!


Последний раз редактировалось karamba 23 Август 2005, 12:15:00, всего редактировалось 1 раз.
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 23 Август 2005, 12:13:45 
karamba, тогда посмотрите материалы, только что публиковали список сайтов по CSS, такие проблемы неоднократо рассматривались на xpoint.ru, alistapart.com и во многих других местах. В принципе подскажу, что может понадобится наоборот float: right и уж точно не забывайте о важной роли margin при вёрстки через float.
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 23 Август 2005, 12:43:54 

Акела писал(а):
karamba, тогда посмотрите материалы, только что публиковали список сайтов по CSS, такие проблемы неоднократо рассматривались на xpoint.ru, alistapart.com и во многих других местах.


увы и ах, именно такая тривиальная задача почему-то не рассматривалась ни на указанных вами ресурсах, ни где-либо еще. Или мне нужно еще и учится искать :)
Рабочим остался вариант с expression, принесший в жертву цельность текстового контента в блоке...

_________________
клетчатый!
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 23 Август 2005, 12:51:53 
karamba, рассматривались. Вы обрисуйте плз задачу абсолютно однозначно, тогда будет легче понять. Например: слева рисунок, справа текст. Что должно происходить с текстом? Он должен занимать всё, что осталось от рисунка? Или как? Или какие-то дополнительные условия?

И причём тут expression, когда с ИЕ Вы и так справились? Остальным-то expression с какого бока?
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 23 Август 2005, 13:04:39 

Акела писал(а):
karamba, рассматривались. Вы обрисуйте плз задачу абсолютно однозначно, тогда будет легче понять. Например: слева рисунок, справа текст. Что должно происходить с текстом? Он должен занимать всё, что осталось от рисунка? Или как? Или какие-то дополнительные условия?


нда... начинаем сначала.
Слева у границы внешнего контейнера (или бади) картинка. Должна оставаться всегда на месте. Справа от нее, а не просто "справа" -- блок (с текстом), контент которого занимает все оставшееся пространство до правой границы контейнера (или бади). Когда при ресайзе окна контент в блоке уже не может жаться между этой границей и картинкой -- он должен соскочить под картинку, снова заняв доступнеое место, но уже между левой и правой границей контейнера (или бади). Без лишних телодвижений это делает ИЕ. Пример -- в моем посте выше, если смотреть ИЕ.


Акела писал(а):
И причём тут expression, когда с ИЕ Вы и так справились? Остальным-то expression с какого бока?


Ни при чем. С ИЕ справляться незачем, как я уже сказал. Остальные броузеры просто не знают, что блок с контентом имеет флоат и контент просто обтекает картинку, что является лишь подобием того, чего я добиваюсь. Ни бордеры, ни фон не нужны, сделаны сугубо для наглядности. Контент в блоке -- условен, но должен оставаться ЦЕЛЬНЫМ: или весь справа от картинки, или под ней.

_________________
клетчатый!
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 23 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100