Jump to content
  • 0

Почему меняются правила HTML разметки, если поместить код в ячейку таблицы?


xexsus
 Share

Question

2 одинаковых куска простого HTML-кода, один помещаем в ячейку таблицы и он начинает криво показываться.

Не могу понять причину.

Пробовал в последних FireFox и Chrome.

Маленький пример: http://xexsus.com/misc/example.html

Доктайп: XHTML 1.0 Strict

Кусок кода:

<!-- кусок кода, НАЧАЛО -->
<div style="width:60%;">

<div style="width:100%; background-color:#FFF242;">
<div style="overflow:hidden;width:100%; background-color:#70FF38;">
<br/>

<div style="background-color:#FF075A;">
12345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901
234567890123456789012345678901234567890123456789012345678901234567890123456789012
345678901234567890123456789012345678901234567890123456789012345678901234567890123
456789012345678901234567890123456789012345678901234567890123456789012345678901234
567890123456789012345678901234567890123456789012345678901234567890123456789012345
67890123456789012345678901234567890123456789012345678901234567890
</div>

<br/>
</div>
</div>

</div>
<!-- кусок кода, КОНЕЦ -->

Тоже самое, но в ячейке таблицы:

<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>

<!-- кусок кода, НАЧАЛО -->
<div style="width:60%;">

<div style="width:100%; background-color:#FFF242;">
<div style="overflow:hidden;width:100%; background-color:#70FF38;">
<br/>

<div style="background-color:#FF075A;">
12345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901
234567890123456789012345678901234567890123456789012345678901234567890123456789012
345678901234567890123456789012345678901234567890123456789012345678901234567890123
456789012345678901234567890123456789012345678901234567890123456789012345678901234
567890123456789012345678901234567890123456789012345678901234567890123456789012345
67890123456789012345678901234567890123456789012345678901234567890
</div>

<br/>
</div>
</div>

</div>
<!-- кусок кода, КОНЕЦ -->

</td>
</tr>
</table>

Браузер рисует совсем другую картину.

По идее должна быть табличка в 100%, а внутри такой же блок, как и без таблицы.

Но табличка ползёт далеко за горизонт :ph34r:

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Угу BOM-метка. Кодировка UTF8.

Хостинг принудительно посылает "Content-Type text/html; charset=windows-1251", наверное где то отключить можно. С BOM-меткой хоть в Chrome открывается правильно.

Жалко проблема не в этом, в любой кодировке одно и тоже показывает :ph34r:

Edited by xexsus
Link to comment
Share on other sites

  • 0

Видимо, получалась циклическая зависимость: ширина блоков должна браться от ширины таблицы, но та в случае длинного содержимого должна браться по контенту. Поэтому контент и распирал таблицу на всю свою фактическую ширину и не обрезался.

Table-layout: fixed; эту зависимость от ширины контента убирает.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy