|
|
|
| Здравствуйте. Такой вопрос. Должна выводиться шибко длинная таблица, то есть такая, которую нужно скролить по горизонтали, чтобы посмотреть всю. Но браузер почему-то пытается втиснуть её в рамки одного скрола, при том, что я выставляю значения width в ячейках, он просто это игнорирует. Можно ли как-нибудь избежать такого поведения?
Заранее благодарен. | |
|
|
|
|
|
|
|
для: Thamior
(08.06.2006 в 19:52)
| | А в таблице width пробовал выставлять? | |
|
|
|
|
|
|
|
для: ec_stasis
(08.06.2006 в 20:01)
| | Стандартно - рисунками-распорками; на стилях - table-layout:fixed | |
|
|
|
|
|
|
|
для: 12345
(08.06.2006 в 20:05)
| | о, спасибо большое, как раз то что искал :) | |
|
|
|
|
|
|
|
для: ec_stasis
(08.06.2006 в 20:01)
| | Пробовал, но там нужно ловить это значение, иначе введёшь больше, он растянет по остатку, меньше, опять ужмёт. Я интересовался тем, может в стилях что-то подобное есть, что запрещает таблице всё ужимать. | |
|
|
|
|
|
|
|
для: Thamior
(08.06.2006 в 19:52)
| | К сожалению, названное свойство стиля таблицы отвечает немного не за это. table-layout: fixed просто ускоряет обработку таблиц за счёт того, что считает ширину ячеек исключительно по верхнему ряду. Выходит остаётся только картинками. Тогда прошу пожалуйста уточнить, какой тут формат лучше подойдёт, наверно gif, раз там есть прозрачные пиксели? И как их ставить, как background image? И откуда столько картинок взять для каждого поля, если они разной длины, генерировать мб в пхп? :) Пахнет большой головной болью :) | |
|
|
|
|
|
|
|
для: Thamior
(08.06.2006 в 20:27)
| | не бакграундом, а <img src="1px.gif" width=1000 height=1>
1px.gif - это прозрачный гиф 1*1 пх. его растягиваете по горизонтали на сколько вам нужно , а по вертикали оставляете 1.
много картинок не нужно, достаточно одной. | |
|
|
|
|
|
|
|
для: Thamior
(08.06.2006 в 20:27)
| | Почему только? Если таблица без бордюров, то делаете верхнюю пустую строку высотой 1 пикс с указанными ширинами. Он и ускоряет, и фиксирует ширины, одно другому не мешает.
Распорки ставят одной и той же картинкой не в bg, конечно, но с разной явно указанной шириной и высотой, например, прозрачный гиф на 41 байт. Лучше ставить в отдельные ячейки, чтобы не мешались, но по дизайну не всегда возможно. | |
|
|
|
|
|
|
|
для: 12345
(08.06.2006 в 21:31)
| | Эх, так если б фиксировал при том, когда вылезать за границы экрана должно. А так сужение продолжается. Проверял на самом не изощрённом примере:
<table border style="table-layout: fixed">
<tr>
<td width="70"> </td>
<td width="70"> </td>
<td width="70"> </td>
...до упора...
<tr>
<table>
|
Похоже гиф единственный выход. Спасибо за помощь :) | |
|
|
|
|
|
|
|
для: Thamior
(08.06.2006 в 22:02)
| | А если скриптом как-нибудь эдак изощриться?
<html>
<head>
<script>
function f()
{
var tdl = new Array();
var mt = document.getElementById('MyTable');
for(var i=0;i<mt.rows.length;i++)
{
var mr = mt.rows[i];
var indx = 0;
for(var j=0;j<mr.cells.length;j++)
{
indx += mr.cells[j].width-0;
}
tdl.push(indx);
}
var tbl;
if(tdl.length>=2)tbl = Math.max.apply(null,tdl);
else tbl = tdl[0];
mt.width = tbl+'px';
}
</script>
</head>
<body onload="f()">
<table cellpadding="0" cellspacing="0" id="MyTable">
<tr>
<td width="70"> </td>
<td width="70"> </td>
<td width="70"> </td>
...до упора...
</tr>
</table>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: RMW
(09.06.2006 в 00:11)
| | Ага, можно и так, действительно. Или сделать через пхп генерацию этой таблицы, с той же вставкой width в тэг таблицы. | |
|
|
|