Zum Inhalt springen

Warum hat DIV nicht dieselbe Höhe wie TD?


slomoman

Empfohlene Beiträge

Ich habe eine Tabelle mit unterschiedlich hohen Zellen, und in einer Zelle liegt ein DIV. Dieses DIV soll die gleiche Höhe haben wir die Zelle. In dem Beispiel unten hat das DIV aber komischerweise nur die Höhe des Texts, der in dem DIV steht...


<table width = "100%">

<tr>

<td valign = "top" >

   <div style = "height:100%;background-color:green;">

   1<br>2<br>3<br>

   </div>

</td>

<td valign = "top">

   1<br>2<br>3<br>

</td>

<td valign = "top">

   1<br>2<br>3<br>1<br>2<br>3

</td>

</tr>

</table>

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das DIV erkennt die Höhe des Elternelements (td) nicht.

Für den gleichen Effekt kannst du aber auch den STYLE Parameter des DIV's in den td Tag übernehmen und das div ganz raus lassen, wenn du das DIV nicht anderweitig verwenden möchtest.

mfg

moLTe

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn du dem DIV nen height von 100% gibst ist es klar, da könntest du auch die height angabe ganz weglassen. Versuch mal eine feste größe ! der IE ist sowieso schrott -.- der interpretiert immer alles falsch und ignoriert auch mal gerne eine breiten sowie höhen angabe ...

gruss sven

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn du dem DIV nen height von 100% gibst ist es klar, da könntest du auch die height angabe ganz weglassen. Versuch mal eine feste größe !

Stimmt so nicht. Ein DIV kann eine Höhe von 100% haben, aber nur, wenn es ein Parentelement hat, dass nicht der Body ist. Dann ist seine Höhe nämlich genauso groß (100%) wie die Höhe des Parentelements. Was aber wirklich die komplette Höhe meint, nicht nur die verfügbare Höhe.



<div style="height: 150px; background-color: #ff0000;">

  <div style="height: 100%; background-color: #00ff00;">

    blubb

  </div>

</div>

sollte ein grünes Div anzeigen.


<div style="height: 150px; background-color: #ff0000; padding-top: 1em;">

  <div style="height: 100%; background-color: #00ff00;">

    blubb

  </div>

</div>

Das verschiebt das grüne Div nach unten aus dem roten. Und zwar um 1em.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok, aber das hilft mir auch nicht weiter.

Mein Div hat ein parent-Element, und zwar das TD.

Nur hat das TD keine feste Höhe, sondern die Höhe wird durch den Text definiert, der in der Zelle oder in anderen Zellen der Zeile steht (s. Coding).

Deshalb scheint die Höhenangabe keine Auswirkung zu haben.

Eine feste Höhe möchte ich für das DIV auch nicht vergeben, da die Höhe wie gesagt durch den Text definiert werden soll, den ich auch einer Datenbank lese und von dem ich nicht weiß, wieviele Zeile er in Anspruch nimmt.

Andere Ideen?

Kann ich ein <SPAN> verwenden? Oder eine Tabelle innerhalb der Zelle?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe eine Tabelle mit unterschiedlich hohen Zellen, und in einer Zelle liegt ein DIV. Dieses DIV soll die gleiche Höhe haben wir die Zelle. In dem Beispiel unten hat das DIV aber komischerweise nur die Höhe des Texts, der in dem DIV steht...


<table width = "100%">

<tr>

<td valign = "top" >

   <div style = "height:100%;background-color:green;">

   1<br>2<br>3<br>

   </div>

</td>

<td valign = "top">

   1<br>2<br>3<br>

</td>

<td valign = "top">

   1<br>2<br>3<br>1<br>2<br>3

</td>

</tr>

</table>

Also wenn du die Erscheinung der Tabelle mal so änderst

<table width = "100%" style="border-collapse:collapse" 
bordercolor="green" border ="1"> [/PHP]

dann sieht es so aus als währe das Div kleiner als die Tabelle, zumindest im IE

Link zu diesem Kommentar
Auf anderen Seiten teilen

du kannst die Zelle colorieren.


<table style="border-collapse:collapse"
border=1 bordercolor="#000000">
<tr>
<td bgcolor="#00ff00">
Dein Inhalt
</td>
<td >
anderer Inhalt
</td>
<td bgcolor="#FF0000">
Fehler
</td>
</tr>
<tr>
<td >
Dein Inhalt
</td>
<td >
anderer Inhalt
</td>
<td bgcolor="#FF0000">
Fehler
</td>
</tr>
</table>
[/PHP]

Oder du änderst erneut das Verhalten der Tabelle

[PHP]
<table width = "100%" style="border-collapse:collapse"
bordercolor=green border =1 cellspacing=0 cellpadding=0>
<tr>
<td valign = "top" >
<div style = "background-color:red;">
1<br>2<br>3<br>
</div>
</td>
<td valign = "top">
1<br>2<br>3<br>
</td>
<td valign = "top">
1<br>2<br>3<br>1<br>2<br>3
</td>
</tr>
</table>

Link zu diesem Kommentar
Auf anderen Seiten teilen

hi isador,

das obere beispiel kann ich so nicht umsetzen, weil ich das TD nicht modifizieren kann (s.o.).

das untere beipiel kann ist dasselbe coding wie mein ursprüngliches, außer dass ein border-collapse:collapse eingefügt wurde. dieses löst das problem aber bei mir nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...