| Автор
| Сообщение |
 Kate
Постоянный участник

Возраст: 27
Знак зодиака: 
Зарегистрирован: 04.06.2007
Сообщения: 149
|
|
|
Цитата |
|
| Как задать ширину блочного элемента (например div или td) размером в 100%, но не от окна браузера, а 100% от ширины его контента? |
|
| В начало |
|
 |
|
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
вроде так:
Или вычислить длину самой длинной строки и подставить ее вместо auto _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
 Kate
Постоянный участник

Возраст: 27
Знак зодиака: 
Зарегистрирован: 04.06.2007
Сообщения: 149
|
|
|
Цитата |
|
Т.е. смотри в элементарном случае что я имела:
...
<div style="width:100%;height:100">...</div>
<table cellpadding="0" cellspacing="0" border="0" style="width:100%>
<tr style="height:100">
<td style="200">
...
<td>
...
<td style="200">
...
</table>
...
здесь минимальная ширина таблицы (при которой в браузере появляется полоса горизонтальная прокрутки) = фиксированной ширине левой ячейка + ширина фиксированной правой ячейки (ну и плюс контент фиксированный средней ячейки, если имеется). Либо ширина браузера.
минимальная же ширина DIV = ширине браузера.
Т.е. ширина DIV не связана с шириной TABLE в данном случае, а значит, при уменьшении окна браузера до появления полосы прокрутки (т.е. когда ширина браузера меньше минимальной ширины таблицы), при перемещении полосы прокрутки мы видим, что DIV-элемент обрывается на ширине, равно ширине браузера, в то время, как таблица продолжается до минимальной своей ширины. В принципе это понятно почему (уже здесь же и описала), поэтому я и решила задать ширину DIV-элемента (который короче, чем таблица) как-нибудь в 100% от ширины самого широкого элемента контента, т.е. в 100% ширины контента. Попробовав поставить AUTO - эффект такой же как если бы поставила 100% (от ширины браузера). Т.е. также обрывается на ширине браузера.
Вычислять длину строки в эквиваленте к длине таблицы - это не совсем правильно мне кажется. Неужели нет другого выхода?
Добавлено спустя 12 минут 14 секунд:
Кстати, еще вопрос не совсем в тему.
Я сейчас перехожу с табличной верстки на блочную, с помощью DIV (не знаю для чего - всю жизнь верстала через TABLE все устраивало меня и всех, никогда не задумывалась об переходе, а тут пришли к нам долбанные аудиторы и заставили все интранет ресурсы переверстать на блочную верстку, видите ли "стандарты", ну я не об этом...).
Такой вопрос. Как мне реализовать следующую схему:
<div фиксированной длины в пикселях><div длина в оставшуюся длину браузера><div фиксированной длины в пикселях>
все это должно стоять в один ряд и быть одинаковой высоты.
К примеру аналогичная схема с использованием табличной верстки, привела в предыдущем сообщении (см. листинг начиная с таблицы).
попыталась сделать ту же самую схему с помощью DIV, т.е.
<div style="width:200;height:100;float:left">...</div>
<div>...</div>
<div style="width:200;float:right">...</div>
и получилась какая-то лажа. |
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
Если я тебя правильно понял то:
В первом случае тебе надо, что бы размер рамки div'а увеличивался с его содержимым; не увеличивался до ширины окна браузера. Для этого достаточно выставить свойство float.
Во втором случае попробуй так:
| HTML: | <div style="width:200;height:100;float:left">... </div> <div style="height:100;float:left">... </div> <div style="width:200;height:100;float:left">... </div>
|
Добавлено спустя 20 минут 2 секунды:
Можно сделать так:
Внуть блока добавить два других блока. Например так:
| HTML: | <div class=box2 style="height:260"> <div class=box style="width:222;height:260;float:left">Левый блок </div> <div class=box style="width:222;height:260;float:right"> Правый блок </div> Середина </div>
|
| css: | div.box {border:1px solid #000000; margin:5px} div.box2 {border:1px solid #000000; margin:5px}
|
_________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
 Guffi
Энтузиаст

Возраст: 36
Знак зодиака: 
Зарегистрирован: 06.08.2004
Сообщения: 250
Откуда: Лангепас
|
|
|
Цитата |
|
Попробуй:
| HTML: | <div style="width:200;height:100;float:left">... </div> <div style="position: absolute">... </div> <div style="width:200;float:right">... </div>
|
Хотя так тоже глюков хватает, мне приходилось использовать кучу контейнеров "див в диве" _________________ Не сами по себе мы хороши, а фону из говна благодаря |
|
| В начало |
|
 |
 Kate
Постоянный участник

Возраст: 27
Знак зодиака: 
Зарегистрирован: 04.06.2007
Сообщения: 149
|
|
|
Цитата |
|
Спасибо dogma и guffi, но во всех 3х вариантах глюки - как минимум - перенос крайнего правого блока (и середины) при соотв. уменьшении окна браузера на новую нижную позицию.
Все что у меня получилось сделать в таком же стиле с помощью DIV - это вот такая схема: [слева блок фиксированной ширины][за ним следует блок длины во все оставшееся пространство браузера], т.е.:
| HTML: | <div style="background-color:yellow;width:200;height:100;float:left;">... </div> <div style="background-color:blue;height:100;margin-left:200;">... </div>
|
Так и при уменьшении окна ничего не переносится, но почему-то при максимальном уменьшении правый блок, корректно отображая свой контент, теряет свой background-color (т.е. отображаются 3 точки на белом уже фоне).
вложенность в DIV'ах, в отличие от табличной вложенности, не давала у меня ожидаемого эффекта, вложенными дивы вообще как будто не имеют отношения к тем в кого они вложены, как будто они все position:absolute.
Может я недостаточно разбираюсь в безтабличной верстке и возможно у меня за годы html-мышление сформировалось табличным, но мне что-то кажется, что верстке с помощью DIV не хватает возможностей табличной верстки, в частности гибкого расположения блоков в нужной конструкции в комбинации динамического и статического размеров. Нафига тогда "профессионалы" катят пустую бочку на тех кто верстает таблицами? |
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
| В начало |
|
 |
|