(html) выравнивание текста в фрейме

Обсуждение вопросов клиентского программирования.

Модератор: Duncon

WEB_bobby
Сообщения: 81
Зарегистрирован: 03 фев 2007, 16:59

Задача такова: в фрейме каждый раз будет выводится новый текст.Соответственно каждый раз у текста будет разная длинна, поэтому вариант заранее задать отступы от верхней и нижней границы фрейма не представляется возможным. Есть ли способ автоматического выравнивания текста в фрейме по центру?
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

text
WEB_bobby
Сообщения: 81
Зарегистрирован: 03 фев 2007, 16:59

top.frames["centerMessages"].document.body.innerHTML =

= "
" + (outLineArray[n]) + "
";

Применил это вот так. Что-то эффект не наблюдается. Может быть из-за того что у меня
фрейм ПЛАВАЮЩИЙ ?
Аватара пользователя
__Yuri__
Сообщения: 140
Зарегистрирован: 02 ноя 2006, 17:17
Контактная информация:

- это для выравнивания по горизонтали.
Для выравнивания по вертикали лично я предпочитаю таблицы (не нравятся устаревшие атрибуты, применяйте CSS):
<table width="100%" height="100%">
<tr>
<td valign="middle">
text
</td>
</tr>
</table>
WEB_bobby
Сообщения: 81
Зарегистрирован: 03 фев 2007, 16:59

top.frames["centerMessages"].document.body.innerHTML =
'<table width="100%" height="100%"> <tr><td valign="middle">' +
(outLineArray[n]) + '</td></tr></table>';

Применил. Нет эффекта. Кто знает почему ? :D
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

либо
- ов наставь
либо
<table width="100%" height="100%">
<tr height="50%"><td>text</td></tr>
<tr>
<td align="center" valign="top">
Попадешь примерно в центр страницы
</td>
</tr>
</table>

Если не получится покажи результат, может у тебя что-то не записывается итп итд..
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

WEB_bobby писал(а):Кто знает почему ? :D
это вы тут, типа, загадки разгадываете?

[syntax="JavaScript"]<script>
function init() {

var temp = "hello world";

frames["centerMessages"].document.body.innerHTML =
'<table width="100%" height="100%"> <tr><td valign="middle" align="center">' +
temp + '</td></tr></table>';
}
</script>
<body onload="init();">
<iframe name="centerMessages">no frames :-( </iframe>[/syntax]


центрирует без проблем

а вот что у тебя в outLineArray[n] находится - это уже другой вопрос
тем более, если ты, вдруг, в цикле 20 сообщений пишешь, да на каждое сообщение по таблице на 100% ...
Аватара пользователя
__Yuri__
Сообщения: 140
Зарегистрирован: 02 ноя 2006, 17:17
Контактная информация:

Не лучше ли использовать DOM вместо inner/outerHTML?
WEB_bobby
Сообщения: 81
Зарегистрирован: 03 фев 2007, 16:59

Все работает. Причина была в том что у меня две такие функции, а подредактировал tableОМ только ту с которой в данный момент не работал. :)

Но вот почему шрифт в размере увеличился после применения table? Параметры шрифта в таблицы вроде не задавались.
WEB_bobby
Сообщения: 81
Зарегистрирован: 03 фев 2007, 16:59

тем более, если ты, вдруг, в цикле 20 сообщений пишешь, да на каждое сообщение по таблице на 100% ...
-- чем это плохо? На скорость влияет?
Сообщение от __Yuri__ Посмотреть сообщение
Не лучше ли использовать DOM вместо inner/outerHTML?
- Скажите а что такое DOM? Я только третий месяц в JS. И в чем выражаются его приимущества перед outerHTML и innerHTML?
Ответить