| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Вёрстка веб-сайтов > выравнивание по вертикали участка текста |
| Автор: insteadme 22.12.2006, 11:11 |
| Возникла такая проблема: у меня есть кусок текста, который я вероятнее всего положу в div или куда-нить еще. Этот кусок текста лежит в ячейке таблицы, которую создаю не я и соответственно к тегу, обьявляющему ячейку доступа не имею. К ячейке применен css стиль, заставляющий все внутри этой ячейки выравниваться по центру по вертикали. А мне надо, чтобы все выравнивалось по вертикали по верху ячейки. Есть два способа: либо заставить обьект как-то вопреки css стилю выравниваться таки по верху ячейки, либо в случае надобности автоматически уменьшить размер ячейки таблицы до такого, чтобы выровненый по центру по вертикали текст внутри нее смотрелся как выровненый по верху ячейки. Как сделать и то и то для меня остается загадкой. Могут быть еще какие-то варианты, о которых я пока не догадываюсь. Как Вы уже поняли, содержимое моего div-объекта динамически изменяется без перезагрузки странички (джаваскрипт). Спасибо за любую помощь в этом вопросе. |
| Автор: insteadme 22.12.2006, 14:29 |
| Быть может я не совсем понятно выразился. Попробую обьяснить подробнее есть табличка, которую создал не я. Мой кусок кода лежит в ячейке таблички, которую не яобьявляю. тот кто создал эту ячейку, создал ее так, чтоб все в ней выравнивалось по центру по вертикали. теперь мне надо сделать так, чтобы при изменении размера ячейки мой текст не уезжал куда-то вниз, центрируясь относительно нового размера ячейки, а висел сверху. и простым vertical-align я это сделать не могу, так как не я обьявляю табличку. мне все равно как это сделать. лишь бы все работало. |
| Автор: Str!pe 22.12.2006, 22:55 |
К файлу CSS ты то же доступа не имеешь? Код в студию! Код всего к чему имеешь доступ! |
| Автор: insteadme 25.12.2006, 10:52 |
| Выглядит все примерно так: <table width="100%" border="0" cellpadding="0" cellspacing="0"> ___...____ <tr><td class="portlet-content-left"></td> <td class="portlet-body"> <div> мой динамически изменяющийся текст </div></td><td class="portlet-content-right"></td></tr> ___...____ </tr> </table> Я могу изменять только то что выделено полужирным. Так вот тот стиль "portlet-body" заставляет все в ячейке выравниваться по вертикали. Естественно, когда текст увеличивается в объеме, ячейка тоже расширяется, и когда потом объем уменьшается, текст дальше центрируется по вертикали в ячейке и уезжает куда-то вниз. Мне надо, чтобы он не уезжал, пусть остается сверху, причем посредством автоматического уменьшения размера ячейки, выравниванием или чем угодно другим - мне все равно. |
| Автор: Shaggie 25.12.2006, 11:10 |
| Попробуй поиграться с padding-top/bottom или просто top/bottom. Хорошо было бы более подробно продемонстрировать код, в т.ч. и CSS. Есть вариант установить position в absolute/relative и уже оттуда танцевать, но без кода неизвестно, во что это выльется... |
| Автор: insteadme 25.12.2006, 14:03 |
| position только relative, это портлет, он перемещается по логике портала и я не имею права ничего там своего малевать. вот такой вот код не дает результата. Что не так? <style type="text/css">#divmycss {position:absolute; top400px; padding:0; height:100%; vertical-align: bottom; width:200px;}</style> <div id="divmycss"> <div align="left" class="container"> мой динамический текст </div> </div> пробовал множество комбинаций параметров, ничего не дает положительный результат. |
| Автор: insteadme 26.12.2006, 16:59 |
| проблему я решил путем обходным, но вопрос актуален: как всеэто сделать без обходных путей |