2013-02-13 4 views
9

У меня есть таблица с фиксированной высотой 50px и 100% шириной.Создание таблицы заполнения таблицы td

Внутри этой таблицы у меня есть две дивы, на той же линии, как это:

<table> 
    <tr> 
    <td> 
     <div id="1"></div> 
    </td> 
    <td> 
     <div id="2"></div> 
    </td> 
    </tr> 
</table> 

Первый DIV имеет float:left, а второй имеет float:right.

Таким образом, таблица составляет 100% страницы. Я хочу div2, чтобы обернуть его содержимое, и div1, чтобы заполнить оставшееся пространство таким образом, чтобы div2 выровнен вправо, как это:

+--------------------------------------------------------------+ 
| [ DIV 1   (Expands)  ][ DIV 2 AND ITS CONTENTS ] | 
+--------------------------------------------------------------+ 

и то, что я в настоящее время получает, когда div1 имеет меньше содержания, чем сплошная линия:

Без таблицы я могу заставить его работать плавающим влево и вправо, но затем, когда они «соберутся», они будут обертываться друг под друга, а не рядом друг с другом.

EDIT: Я добавил новый jsfiddle here. Это рабочий пример. Попробуйте удалить все, кроме одной ссылки из левого div, и посмотреть результат. Второй дивизион должен оставаться на самом верном уровне. Надеюсь, я объяснил сам.

+2

могли бы вы предоставить код? и возможно jsfiddle, чтобы мы могли лучше помочь вам –

+0

вам не нужны таблицы http://jsfiddle.net/WqsTg/ –

+0

Я работал над jsfiddle, теперь все сделано, см. редактирование. – Twinone

ответ

23

Используйте свойство «colspan» td. Пример:

<td colspan=75%> info </td> 
+1

Я не хочу фиксированной ширины. Я хочу, чтобы правый div имел некоторую ширину, а левый div приспосабливал его ширину, чтобы заполнить остальную часть таблицы, вместо того, чтобы иметь право двигаться div. – Twinone

+1

Этот ответ неверен и не соответствует стандарту HTML. [''] (https://developer.mozilla.org/en/docs/Web/HTML/Element/td) 'colspan': Этот атрибут содержит неотрицательное целочисленное значение, которое указывает, сколько столбцов ячейка продолжается. Его значение по умолчанию равно 1. «В то время как HTML5 имеет устаревшие настройки ширины непосредственно в HTML, посмотрите [' '] (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col). –

0

Во-первых, ваша таблица, похоже, вообще не установлена ​​на всю ширину страницы. Вы хотите добавить атрибут ширины или ширину в разметку.

Далее просто установите фиксированную ширину справа «div» (или, точнее, <TD>), и первая заполняет оставшееся пространство.

Как указывали другие, оберточный стол кажется ненужным.

Смежные вопросы