Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Получится ли колонку посередине? (https://javascript.ru/forum/xhtml-html-css/7660-poluchitsya-li-kolonku-poseredine.html)

micscr 13.02.2010 12:36

Получится ли колонку посередине?
 
Привет.
Уже по верстке столько начитал, но не могу понять какими средствами получится сделать такой вариант(например хочу некие вставки(3) организовать):

Причем высота блока 3 определяется содержимым, а ширина допустим известна.
Кто-нибудь сталкивался? Какие вообще в общем решения могут быть?
Спасибо.

P.S. Чето картинка один раз не подгрузилась. Если что вот она(30Кбайт).

Tim 14.02.2010 17:47

3-й блок нужно позиционировать абсолютно. Чтобы создать эффект его обтекания можно положить в блоки 1 и 2 как бы две половинки блока 3 с float: left и float: right соответственно. Но возникнет проблема с позицонированием этих половинок по высоте. Это нужно будет делать изменяя положение этих половинок в html-коде. Другого выхода я не вижу. Позиционированием и отступами эту проблему не решить это 100 пудово - обтекания с ними не получится (имеется ввиду чтобы текст заходил туда где стоит цифра 1 на рисунке).

micscr 15.02.2010 08:53

да, я тоже насчет этого думал но это будет нелегко + к тому же это для варианта когда известна высота блока 3.

Tim 16.02.2010 00:17

м.б. в CSS-3 что нибудь есть? Я его плохо знаю. С CSS-2 то точно могу сказать что без извращений не получится. Чтобы высота была одинакова можно костыль на JS приделать.

PeaceCoder 16.02.2010 12:41

Стоп. Как видно из рисунка середина будет всегда относительно-фиксированной и будет на 2*X пикселов меньше общей высоты. Так в чем проблема?

Tim 16.02.2010 14:45

Цитата:

Так в чем проблема?
На сколько я понял это не для одной страницы, это можно понять например отсюда:
Цитата:

это для варианта когда известна высота блока 3
а проблема в том, чтобы текст обтекал блок 3 который по любому позиционируется абсолютно => обтекать его ни кто не будет => нужно создать эффект этого обтекания. Это можно сделать положив в блоки 1 и 2 как бы две половинки блока 3 с float: left и float: right соответственно. Но шаблон из этого не сделать, придётся каждую страницу верстать в ручную.

PeaceCoder может вы увидели более удобный способ вёрстки? мне так что то больше на ум ни чего не приходит

PeaceCoder 16.02.2010 20:06

Цитата:

Сообщение от Tim
PeaceCoder может вы увидели более удобный способ вёрстки?

С появления этой темы я увидел такой способ верстки.
Решение простое
Все 3 блока помещаются в 1 блок. Его высота будет известна
Создаем эффект обтекания в блоках 1 и 2 а 3 блок равен высоте общего блока минус 2*Xpx, т.е. position: absolute; left: Npx; right Npx; top: Xpx; bottom Xpx;

PeaceCoder 16.02.2010 20:14

неполучится никак

e1f 16.02.2010 20:20

Хм, ну а обтекание-то где?

UPD Выходит скорее подтекание, а не обтекание. ТС нужно, чтобы 1 и 2 реально обтекали 3, как будто он вставлен в поток некой двухколоночкой страницы.

PeaceCoder 16.02.2010 20:26

Цитата:

Сообщение от e1f
Хм, ну а обтекание-то где?

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


Часовой пояс GMT +3, время: 23:49.