Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Table выходит за границу Div


Автор: wind1 29.6.2009, 10:27
Проблема в том, что когда ширина TABLE больше ширины окна браузера, то DIV, в который вложена таблица, не растягивается на ее ширину. Ширина DIV'a равна ширине окна браузера, при этом TABLE выходит за границу DIV.
Как это можно поправить?
Браузер Firefox 3.0.11

Автор: bars80080 29.6.2009, 11:37
У-ХА-ХА-ХА!!! злорадствую я, У-ХА-ХА-ХА!!!
в лучших традициях тех кто постоянно обливает грязью ИЕ.

сей совершенно непонятный дурацкий баг свойственен только "правильным" браузерам файерфоксу и опере. очередное доказательство не совершенства в этом мире, и доказательство что ИЕ отнюдь не является ущербным по сравнению с ФФ, у того тоже хватает подобных багов

пытался я найти объяснение, решение, в итоге проблема снялась с помощью нагромождения непонятных шаманских методов
http://forum.vingrad.ru/index.php?showtopic=205796&view=findpost&p=1475521

Автор: p0zt3r 2.7.2009, 19:09
А зачем Вам тэйбл шире окна браузера? влюблены в горизонтальные прокрутки?

вот этот код 
Код

<style>
div
{
    border:solid 1px black;
    
    width: 800%;
}

table
{
    width: 200%;
}
</style>

</head>
<body>

<div>
<table>
<tr>
<td>оченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьоченьочень длинная строка</td>
</tr>
</table>


нормально работает в огнелисе 3.0.11.

Не понимаю о чём Вы.

А то, что див не масштабируется вслед за вложенным в него тэйблом это особенности дива, и глюки огнелиса здесь ни при чём.

Автор: bars80080 2.7.2009, 19:58
Цитата(p0zt3r @  2.7.2009,  19:09 Найти цитируемый пост)
А зачем Вам тэйбл шире окна браузера? влюблены в горизонтальные прокрутки?

есть такие задачи


Цитата(p0zt3r @  2.7.2009,  19:09 Найти цитируемый пост)
А то, что див не масштабируется вслед за вложенным в него тэйблом это особенности дива, и глюки огнелиса здесь ни при чём. 

это глюки огнелиса, так как с позиции логики они не объясняются

Автор: p0zt3r 2.7.2009, 20:26
дорогой, div это плашка обычная. она не должна подстраиваться под объект, размер которого ещё не вычислен - это раз.
Два - для дива всегда нужно задавать размеры, т.к. смотри выше.

В спецификации HTML 4.01, которая прародитель div-тэга сказано:

Цитата

The DIV and SPAN elements, in conjunction with the id and class attributes, offer a generic mechanism for adding structure to documents. These elements define content to be inline (SPAN) or block-level (DIV) but impose no other presentational idioms on the content. Thus, authors may use these elements in conjunction with style sheets, the lang attribute, etc., to tailor HTML to their own needs and tastes.

Автор: bars80080 2.7.2009, 23:02
Цитата(p0zt3r @  2.7.2009,  20:26 Найти цитируемый пост)
div это плашка обычная. она не должна подстраиваться под объект

да? чего же она ограничивается? пусть тянется пока нет пределов. каким макаром див выбирает пределами видимую область экрана?

Автор: p0zt3r 3.7.2009, 00:18
bars80080, а кто сказал выбирает? В этом примере мы задали явно ширину и она никак не ограничена.

В спецификации XHTML явно указано как должна расчитываться ширина этой плашки в соответствии со стандартом в браузерах. Если ширина не задана, она может принимать либо значение 100%, что и есть ширина экрана, либо 0, в зависимости от того, какого типа контент внутри находится.

А IE и Microsoft - ту да же, куда и "вашу" логику. Если Вам что-то не нравится, это ещё не значит, что это не соответствует правилам, нормам, спецификациям.
IE вообще по-моему без всяких стандартов делалось, поэтому до сих пор надо писать для них хаки.

Автор: kalabro 5.7.2009, 00:11
для дива можно дать float:left; и все тянется без проблем.
ну или float:left;display:table;width:100%;, если вам нужно, чтобы div оставался на 100%, если даже таблица уже.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)