2012-04-04 4 views
31

Der Code auf der gleichen Linie zu bleiben, ist ziemlich einfach:Wie kann ich zwei Elemente zwingen, immer in einem <td>

<table id="tabel_user" style="width: 100%; border: 0; background-color: white;" cellpadding="0" cellspacing="0"> 
<tr> 
    <td style="border: 0; padding: 0; padding-left: 5px;"> 
     <label for="abcd"><input class="check_useri" id="abcd" name="abcd" type="checkbox" /> abcd </label> 
    </td> 
</tr> 
</table> 

Sie ordentlich auf der gleichen Linie bleiben, wenn der Text im Label wirklich lang wird und die Tabelle muss gedehnt werden, um sie anzupassen, dann wird der Text manchmal unter die Checkbox gezwungen. Wie kann ich damit aufhören?

Antwort

56

können Sie Inline-Elemente zwingen, auf der gleichen Linie zu bleiben, um die CSS-Eigenschaft mit white-space:

<td style="white-space:nowrap;"> 
    this content will not be wrapped 
</td> 
+0

Dank. funktionierte wie ein Charme – Bogdan

0

eine Definition white-space kann eine der Art und Weise sein, um es getan, aber als tabellarische Daten, ist es besser, wenn Sie die maximale Größe der Breite des Etiketts statt

label { width: 100px; display: inline-block; } 
1

beheben können Sie verwenden: <tr valign="top"> Dadurch wird die vertikale align an der Spitze.

+0

Im Jahr 2013 geben Sie eine Lösung, die vor Jahren (zugunsten von CSS-Stilen) veröffentlicht wurde? – trejder

+0

Der Fragesteller fragt nach Tabellen, warum beschuldigen Sie den Beantworter, CSS nicht zu verwenden? Tabellen und Tabellenelementattribute machen bis heute Dinge, die mit CSS schwer zu lösen sind. – Amalgovinus

+0

@Amalgusinus 'valign' wird in HTML5 nicht unterstützt, also funktioniert es nicht einmal. –

0

Dieser Code funktioniert gut, und spricht:

table { 
width:100%; 
display: inline-block; 
} 
td, th { 
max-width:100% 
} 
Verwandte Themen