Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Корректный вывод слоев <div>. (https://javascript.ru/forum/xhtml-html-css/53-korrektnyjj-vyvod-sloev-div.html)

Phoenix 26.09.2007 20:32

Корректный вывод слоев <div>.
 
Мне нужно подряд идущие 2 слоя, когда пишешь...
<div>1 слой</div><div>2 слой</div>
то слои оказываются друг под другом. Как их вывести рядом?

Илья Кантор 26.09.2007 22:50

Это довольно-таки неочевидно. Называется 2-колоночная верстка.

Проще таблицами сделать.

Phoenix 26.09.2007 22:56

Хм... Тогда получится что то подобное:
<table>
<tr>
<td><div id='div_1'>1 слой</div></td>
<td><div id='div_2'>2 слой</div></td>
</tr>
</table>

Получается так, но почему то мне кажется должен быть и другой способ...
Посто, мне в слои потом надо будет добавлять и изменять теги... насколько я знаю у ТР и ТД нет возможности через innerHTML работать.

Илья Кантор 27.09.2007 00:34

td.innerHTML замечательно работает.

Вот tr.innerHTML в IE - не работает

Phoenix 27.09.2007 12:07

Сделал как ты сказал... Возникла проблема... Сейчас обрисую в общих чертах:

//структура таблицы.
<table width='100%' border='1'>
<tr>
<td id='news_date_0' class='title_b' width='70'>23.09.2007</td>
<td id='news_title_0' class='title_b' width='100%'>Название первой новости</td>
</tr>
</table>
<a onClick='news_re(0)'>Редактировать</a>

//функция для замены текста на строку для ввода данных
function news_re(index){
var title_e=document.getElementById("news_date_"+index );
if (document.getElementById("tile_t"+index)==null){
title_e.innerHTML="<input type='text' name='title_re' id='tile_t_"+index+"' class='textbox_re' value='"+title_e.innerHTML+"'>";
}
}

//стиль из CSS
.textbox_re {
font-family : Verdana, Arial, Helvetica, sans-serif;
font-size : 11px;
color : #009;
height : 12;
background-color : #eef;
width : 100%;
}

работает так, пользователь нажимает редактировать, и должна замениться надпись, на окно для ввода данных. Но почему то, ширина становится равна 0... Ширина едита "width : 100%;" Ширина колонки "width='70'". В чем может быть проблема? по идее должен едит растянуться на 100%( в данном случае родителский тег имеет ширину 70 пикселей.

Что бы лучше понять, зайди на пробный сайт http://site-creator.jino-net.ru/. Там нажми "редактировать"...

Илья Кантор 27.09.2007 12:40

Много очень кода, я даж не знаю. Отлаживай... http://firebug.ru тебе в помощь ;)

Phoenix 27.09.2007 18:39

Сейчас проверил тот же код в IE, все работает почти идеально, а вот опера, почемуто уменьшает колонку до минимума :( сейчас буду дальше раскапывать..

TroT 27.09.2007 20:24

Цитата:

Сообщение от Phoenix (Сообщение 203)
Мне нужно подряд идущие 2 слоя, когда пишешь...
<div>1 слой</div><div>2 слой</div>
то слои оказываются друг под другом. Как их вывести рядом?

<style>
div { float: left; }
</style>

Phoenix 27.09.2007 23:01

Фух, разобрался в чем проблема была, дебагер не сильно помог :)

//структура таблицы.
<table width='100%' border='1'>
<tr>
<td id='news_date_0' class='title_b' width='70'>23.09.2007</td>
<td id='news_title_0' class='title_b' width='100%'>Название первой новости</td>
</tr>
</table>
<a onClick='news_re(0)'>Редактировать</a>

Выделил не нужный кусок кода, где как раз и скрывалась ошибка(в опере и фф). Пока вроде нормально все работает.


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