Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Дизайн
»
Тема:
Вопрос отображения в fire fox
Новая тема
Ответить
цитата
09/05/08 в 00:27
Sterx
1.
Код:
<input type="File" style="width: 312px" name="new_image[1]">
для такого типа поля width: 312px не работает. для type="text" работает
2
Код:
<tr id="compl_select" style="display:none"><td colspan="2" id="compl_select_change" style="padding:0px">
с помощью JS в id="compl_select_change" помещаем табличку. табличка игнорирует colspan="2" и отображается не в соединенных ячейках, а как бы в первой <td>
3
ну и чудеса, когда жамкаешь скрыть/показать в display:hidden какое нибудь содержимое - браузер начинает раздвигаться по высоте, образуя пустое пространство
?
цитата
09/05/08 в 06:37
Hugo-master
Я попробовал так же как ты, у меня тоже такой прикол. А вот как его избежать ещё не придумал...
цитата
09/05/08 в 08:41
Corex
1. Можно использовать size (напр.: size="70") или чтото вроде
вот этого
.
2. Если целую табличку внутрь TD, то правильно она всё игнорирует, colspan же в другой таблице задан.
3. display может иметь значение none и block, а свойство visibility - hidden и visible. Вероятно, поэтому глюк, из-за путаницы.
цитата
09/05/08 в 09:31
Sterx
1. если использовать size - размер в ИЕ и ФФ разный.
2. альтернатива?
3. пардон - display:none и имел ввиду
цитата
09/05/08 в 10:06
Corex
1. Конечно хак, но можно подогнать width в пикселях под определённый size и сделать так, чтобы оно отображалось одинаково и в IE и в FF. Т.е. для поля указать и width и size, width будет приоритетным в IE, size в FF.
2. Что-то я, похоже, сразу неверно понял этот вопрос. Вот такая штука?
Код:
<script language="JavaScript">
<!--
function insert_table()
{
tbl = '<table border="1" width="400px"><tr><td>inner table</td></tr></table>';
document.getElementById("compl_select_change").innerHTML = tbl;
}
//-->
</script>
<table border="1" width="500px">
<tr>
<td colspan="2" id="compl_select_change" style="padding:0px"> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
<button onClick="insert_table()">Insert</button>
В IE и FF всё инсёртица как надо.
3. Тогда не совсем понятно в чём проблема, без кода не разобрать. Но, к примеру, вот такой код работает как должен в обоих браузерах:
Код:
<script language="JavaScript">
<!--
function hide_show_div()
{
if(document.getElementById("my_div").style.display=='none')
{
document.getElementById("my_div").style.display='block';
}
else
{
document.getElementById("my_div").style.display='none';
}
}
//-->
</script>
<div id="my_div" style="background-color:red;width:400px;height:200px;"></div>
<div style="background-color:blue;width:400px;height:100px;"></div>
<button onClick="hide_show_div()">Hide/Show</button>
цитата
09/05/08 в 12:26
Sterx
2
Код:
<script language="JavaScript">
<!--
function insert_table()
{
tbl = '<table border="1" width="480px"><tr><td>inner table</td></tr></table>';
document.getElementById("compl_select_change").innerHTML = tbl;
var disp_tab = document.getElementById("compl_select");
disp_tab.style.display='block';
}
//-->
</script>
<table border="1" width="500px">
<tr id="compl_select" style="display:none">
<td colspan="2" id="compl_select_change" style="padding:0px"> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
<button onClick="insert_table()">Insert</button>
попробуй так в FF - видно что вторая ячейка не при делах
цитата
09/05/08 в 12:31
Sterx
3
в принципе аналогично - пробуй в FF
Код:
<script language="JavaScript">
<!--
function hide_show_div()
{
if(document.getElementById("my_div").style.display=='none')
{
document.getElementById("my_div").style.display='block';
}
else
{
document.getElementById("my_div").style.display='none';
}
}
//-->
</script>
<table border="1">
<tr><td><button onClick="hide_show_div()">Hide/Show</button></td></tr>
<tr><td id="my_div" style="display:none">
nbvnikbvntrebret
gfrevuhuiv
uivern
vjkernk<br><br>
</td></tr>
</table>
bottom
цитата
09/05/08 в 12:35
Sterx
3
а вот собственно кусок рабочего кода
если понажимать на ссылку в ФФ, то видно как кнопки уезжают вниз постепенно
Код:
<script language="JavaScript">
<!--
function hide_show_div()
{
if(document.getElementById("my_div").style.display=='none')
{
document.getElementById("my_div").style.display='block';
}
else
{
document.getElementById("my_div").style.display='none';
}
}
//-->
</script>
<table>
</td></tr><tr><td style="height: 26px">Êîìïëåêòàöèÿ:</td><td><b><a href="javascript:void(0);" onclick="hide_show_div('my_div');" title="ñêðûòü-ïîêàçàòü">Îáùàÿ</a></b></td></tr>
<tr id="my_div" style="display:none"><td colspan="2" id="compl_select_change" style="padding:0px">
<table cellspacing="2"><tr bgcolor="White"><td width="520">Òåñò</td><td style="height: 26px" width="6" align="left"><input type="Checkbox" name="arr_compl_fieds[a1]" value="Òåñò" style="background-color:#ffffff;" checked></td></tr><input type="hidden" name="k" value="1"><input type="hidden" name="k_plus" value="1"><tr id="hidden_add" style="display:none"><td colspan="2" id="hidden_add_td"></td></tr></table>
</td></tr>
<tr><td colspan="2" align="center"><br><input type="button" name="plus" value="+ ïîëå" style="width: 120px" onclick="plus_pole();"> <input type="submit" name="submitted" value="Èçìåíèòü" style="width: 120px"><br></td></tr>
</td></tr>
</table>
цитата
09/05/08 в 12:41
Corex
В FF display надо указывать как 'table-row' для TR или 'table-cell' для TD, из-за 'block' и глючит.
цитата
09/05/08 в 12:44
Sterx
а пример можно?
цитата
09/05/08 в 13:21
Corex
На примере вставки таблицы (#2):
Код:
<script language="JavaScript">
<!--
function insert_table()
{
tbl = '<table border="1" width="480px"><tr><td>inner table</td></tr></table>';
document.getElementById("compl_select_change").innerHTML = tbl;
var disp_tab = document.getElementById("compl_select");
disp_tab.style.display=
'table-row'
;
}
//-->
</script>
<table border="1" width="500px">
<tr id="compl_select" style="display:none">
<td colspan="2" id="compl_select_change" style="padding:0px"> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
<button onClick="insert_table()">Insert</button>
В IE table-row/table-cell не работают, нужно будет подключать определение браузера и для FF указывать table-row/table-cell, а для IE block.
Идеально идентично display (none/block) работает с дивами, поэтому можно в пустые ячейки дивы вставить или вообще от таблиц избавиться. Либо, если таблицы никуда не деть, то можно сделать через DOM (document.createElement, appendChild, removeChild).
цитата
09/05/08 в 13:48
Sterx
спасиб
Новая тема
Ответить
Эта страница в полной версии