растягивая ширину div, чтобы соответствовать его содержимому - PullRequest
1 голос
/ 30 марта 2010

У меня есть следующий HTML-код:

<table>
  <tr>
    <td>
      <div id="fixmywidth" style="position:relative; height:30px;">
        <div style="z-index: 2000; margin-top: 5px; height: inherit; position: absolute;">
          <table style="height:inherit">
            <tr style="height:inherit">
              <td align="center" style="width: 31px; height: inherit;">&nbsp;</td>
              <td align="center" style="width: 31px; height: inherit;">&nbsp;</td>
              <td align="center" style="width: 31px; height: inherit;">&nbsp;</td>
              <td align="center" style="width: 31px; height: inherit;">&nbsp;</td>
              <td align="center" style="width: 31px; height: inherit;">&nbsp;</td>
              <td align="center" style="width: 31px; height: inherit;">&nbsp;</td>
              ........300 tds later
              <td align="center" style="width: 31px; height: inherit;">&nbsp;</td>
            </tr>
          </table>
        </div>
      </div>
    </td>
  </tr>
</table> 

как сделать, чтобы div с идентификатором "fixmywidth" width соответствовал ширине содержащихся элементов? я пробовал ширину = 100% и widht = авто но они не будут работать спасибо триллион заранее, Lina

Ответы [ 4 ]

5 голосов
/ 30 марта 2010

Это невозможно, потому что div внутри него на самом деле не внутри него, из-за относительной / абсолютной позиции.

Я не уверен на 100%, чего вы пытаетесь достичь, но если вы удалите эти 2он будет иметь правильный размер.

1 голос
/ 30 марта 2010

если вы удалите position:relative из 'fixmywidth', оно должно работать.

1 голос
/ 30 марта 2010

Под «содержащимися элементами» вы подразумеваете элементы, содержащие <div id="fixmywidth"></dIv>, или элементы, содержащиеся в пределах <div id="fixmywidth"></div>?

Если это последнее, Фабиан прав, и проблема заключается здесь:

<div style="z-index: 2000; margin-top: 5px; height: inherit; position: absolute;">

position: absolute; убирает <div> из потока документов, поэтому он не занимает места. Следовательно, содержащий его элемент (<div id="fixmywidth"></div>) не охватывает никаких элементов в потоке документов и поэтому не имеет измерений.

Это можно исправить, удалив position: absolute;, но это может не соответствовать вашим целям макета.

1 голос
/ 30 марта 2010

удалить абсолютную позицию из непосредственного потомка fixmywidth

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...