2013-02-13 11 views
9

Mam stół o stałej wysokości 50 pikseli i 100% szerokości.Tworzenie szerokości stołu do wypełniania td

Wewnątrz tej tabeli Mam dwie div, na tej samej linii, na przykład:

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

Pierwszy div ma float:left, a drugi ma float:right.

Tak więc tabela zawiera 100% strony. Chcę Div2 zawinąć jego zawartość, a div1 wypełnić pozostałą przestrzeń tak, że Div2 jest wyrównany do prawej strony jak ta:

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

i co ja obecnie dostać kiedy div1 ma mniej treści niż pełny wiersz:

+--------------------------------------------------------------+ 
| [ DIV 1 ][ DIV 2 ]           | 
+--------------------------------------------------------------+ 

Bez stołu mogę uruchomić go do pracy bezpośrednio na lewo i prawo, ale wtedy, gdy "zejdą się", będą owijać się pod sobą, zamiast obok siebie.

EDYCJA: Dodałem nowy jsfiddle here. Oto działający przykład. Spróbuj usunąć wszystkie linki oprócz jednego z lewego elementu div i zobaczyć wynik. Drugi div powinien pozostać najbardziej prawy. Mam nadzieję, że wyjaśniłem sobie.

+2

mógłby Pan podać jakiś kod? i możliwe jsfiddle, więc możemy lepiej pomóc –

+0

nie potrzebujesz tabel http://jsfiddle.net/WqsTg/ –

+0

Pracowałem nad jsfiddle, teraz gotowe, zobacz edycję. – Twinone

Odpowiedz

23

Użyj właściwości "colspan" td. Np .:

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

Nie chcę stałej szerokości. To, czego chcę, to to, że prawy div ma jakąś szerokość, a lewy div dostosowuje jego szerokość, aby wypełnić resztę stołu, zamiast odpowiedniego ruchu div. – Twinone

+1

Ta odpowiedź jest niepoprawna i nie jest zgodna ze standardem HTML. [''] (https://developer.mozilla.org/en/docs/Web/HTML/Element/td) 'colspan': Ten atrybut zawiera nieujemną liczbę całkowitą, która wskazuje ile kolumn ma komórka rozszerza się. Jego domyślna wartość to 1. "Podczas gdy HTML5 ma przestarzałe ustawienia szerokości bezpośrednio w HTML, spójrz na [' '] (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col). –

0

Po pierwsze, Twoja tabela nie wydaje się być ustawiona na pełną szerokość strony. Chcesz dodać atrybut stylu lub szerokości do znaczników.

Następnie wystarczy ustawić stałą szerokość po prawej stronie "div" (lub dokładniej <TD>), a pierwsza wypełni pozostałe miejsce.

Jak zauważyli inni, stół opakowania jest niepotrzebny.

Powiązane problemy