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">&nbsp;</td>
</tr>
<tr>
   <td>&nbsp;</td>
   <td>&nbsp;</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">&nbsp;</td>
</tr>
<tr>
   <td>&nbsp;</td>
   <td>&nbsp;</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">&#202;&#238;&#236;&#239;&#235;&#229;&#234;&#242;&#224;&#246;&#232;&#255;:</td><td><b><a href="javascript:void(0);" onclick="hide_show_div('my_div');" title="&#241;&#234;&#240;&#251;&#242;&#252;-&#239;&#238;&#234;&#224;&#231;&#224;&#242;&#252;">&#206;&#225;&#249;&#224;&#255;</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">&#210;&#229;&#241;&#242;</td><td  style="height: 26px" width="6" align="left"><input type="Checkbox" name="arr_compl_fieds[a1]" value="&#210;&#229;&#241;&#242;" 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="+ &#239;&#238;&#235;&#229;" style="width: 120px" onclick="plus_pole();">&nbsp;<input type="submit" name="submitted" value="&#200;&#231;&#236;&#229;&#237;&#232;&#242;&#252;" 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">&nbsp;</td>
</tr>
<tr>
   <td>&nbsp;</td>
   <td>&nbsp;</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
спасиб


Эта страница в полной версии