В него вложена таблица, очень широкая.
Цель простая и понятная - ограничить растягивание страницы, чтобы всё (и не только вложенная таблица) убиралось по ширине.
В Опере эта хрень работает, ограничивает показ таблицы, добавляя полосы прокуртки. А в ИЭ нифига. Показывает всю таблицу, во всю ее ширину. Хотя высота ограничивается нормально, и вертикальная прокрутка есть и в ИЭ, и в Опере.
Если ставлю width:500px, то всё работает. А проценты не хочет, зараза
Кто что умное сказать может по этому поводу?
Спустя 16 минут, 49 секунд (5.08.2009 - 15:39) Nikitian написал(а):
Вместо дива можно заюзать табличку (уж не знаю почему, но ие обожает таблички)
Примерно так:
Примерно так:
HTML |
<table width="100%"> <tr> <td style="overflow:scroll;" width="99%">тут ваше всё</td> <td> </td> </tr> </table> |
не проверял, но по логике должно работать.
Спустя 17 минут, 35 секунд (5.08.2009 - 15:56) sergeiss написал(а):
По логике я согласен, что должно... Но не работает, зараза!
Спустя 1 час, 14 минут, 38 секунд (5.08.2009 - 17:11) Nikitian написал(а):
Так, стоп. Если у вас ширина поля под контент фиксированная, то указывайте её в пикселях, если нефиксированная, то как раз контентом и будет растягиваться..
Вам тут свойство max-width необходимо. А для совместимости со старьём гуглите так
Вам тут свойство max-width необходимо. А для совместимости со старьём гуглите так
Спустя 1 час, 15 минут, 11 секунд (5.08.2009 - 18:26) Sylex написал(а):
Цитата (Nikitian @ 5.08.2009 - 18:39) |
уж не знаю почему, но ие обожает таблички |
тож заметил такую штуку
Спустя 1 час, 39 минут, 15 секунд (5.08.2009 - 20:05) ИНСИ написал(а):
sergeiss тоже самое было, решилось только тогда, когда просто поставил фиксированный размер =))
Спустя 1 час, 39 минут, 7 секунд (5.08.2009 - 21:44) sergeiss написал(а):
Насчет фиксированного размера я написал в самом начале, что с ним у меня всё получилось...
Ладно, спасибо Бум искать обходные пути Идея есть уже... Если получится - напишу.
Ладно, спасибо Бум искать обходные пути Идея есть уже... Если получится - напишу.
Спустя 1 час, 40 минут, 27 секунд (5.08.2009 - 23:25) sergeiss написал(а):
Решение я нашел... Проверено в Опере 9.24 и в IE 6. Работает просто изумительно!!! Сама идея у меня была давно, только я забыл про нее, когда тему создавал. А потом, после всех ответов, вспомнил и реализовал.
Вот только надо ли его тут выкладывать, это решение? А то опять накидают мне вагон ссылок и скажут, что я "изобрел велосипед"...
Вот только надо ли его тут выкладывать, это решение? А то опять накидают мне вагон ссылок и скажут, что я "изобрел велосипед"...
Спустя 7 минут, 23 секунды (5.08.2009 - 23:32) twin написал(а):
Цитата |
А то опять накидают мне вагон ссылок и скажут, что я "изобрел велосипед". |
А ты все равно его изобрел))) Неуж думаешь никто раньше не додумался?
Так что выкладывай смело, авось пригодится.
Будем другой раз сюда отправлять))
Спустя 9 минут, 11 секунд (5.08.2009 - 23:41) sergeiss написал(а):
twin ну ладно, уговорил, речистый...
Только сразу оговариваюсь, что приведенное решение "сыроватое", требует доводки. Чтобы учесть все нюансы, и чтобы быть универсальным.
В частном, тренировочном случае имеем следующее.
1. Описание событий для BODY
Только сразу оговариваюсь, что приведенное решение "сыроватое", требует доводки. Чтобы учесть все нюансы, и чтобы быть универсальным.
В частном, тренировочном случае имеем следующее.
1. Описание событий для BODY
HTML |
<body onresize="set_div_size()" onload="set_div_size()"> |
2. Функции
HTML |
<script language="javascript" type="text/javascript"> function getClientWidth() { return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth; } function getClientHeight() { return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight; } function set_div_size() { document.getElementById( 'div001' ).style.width = (getClientWidth()-10)+'px'; } </script> |
Первые две не мои, взял в интернете. Последняя функция - моя, только тут надо 10 заменить (для универсальности) на размер правого и левого отступов BODY.
3. Тестовый DIV с вложенной широкой таблицей. Ширина определена, но она будет изменена автоматически, сразу же после загрузки скрипта. При отключенном JS ширина так и останется 400 точек.
HTML |
<div id="div001" style="width:400px; overflow:scroll"> <table width="10000" border="1"> <tr><td>12345</td></tr> </table> </div> |
PS. И что надо обязательно добавлять - делать какую-то "коллекцию" объектов, которые надо ресайзить подобным образом. Тогда это будет вообще супер-универсальное решение. Сделать это можно, только я такой задачи перед собой (сейчас) не ставил.
_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL
* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.
* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)