Probleme mit height von untergeordnetem DIV-Tag
Alexander Jank
- css
Ich habe folgende Seite, bestehend aus DIV-Tags, die ich mit CSS formatieren will.
<html>
<head>
<style type="text/css">
.notes {
position: absolute;
top: 165px;
left: 654px;
width: 150px;
height: 75px;
border: 1px solid black;
}
.notes .heading {
background-color: #eeb;
border-bottom: 1px solid black;
}
.notes .text {
background-color: #ffc;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div class="notes">
<div class="heading">
Titel
</div>
<div class="text">
Text
</div>
</div>
</body>
</html>
Wenn ihr das Beispiel in euren Browser (ich verwende Firefox) kopiert, dann seht ihr mein Problem. Da in .notes .text "height: 100%;" steht, steht dieser Teil "drüber". Was kann man da machen, um dieses Probelm zu behaben?
(Ich will keine genaue Pixelangabe in CSS machen, da das Feld "notes" evtl. auch größer sein kann als in diesem Beispiel.)
[latex]Mae govannen![/latex]
Ich habe folgende Seite, bestehend aus DIV-Tags, die ich mit CSS formatieren will.
DIV-Elemente, nicht Tags.
<div class="heading"> Titel </div>
Sieht unsinnig aus. -> H1-H6.
<div class="text"> Text </div>
Sieht ebenfalls unsinnig aus. -> p
<div class="notes">
<!-- hier verwende ich exemplarisch in der Annahme einer globalen Seiten-Überschrift h1
das nächstfolgende struktriernde Überschrift-Element h2, es kommt aber auf die
tatsächliche Struktur an -->
<h2>Titel</h2>
<p>Text</p>
<p>mehr Text</p>
</div>
<!-- ggf weitere div class="notes" -->
Cü,
Kai
Ich habe jetzt noch einmal ein bisschen herumprobiert, bin aber nicht auf den richtigen "Pfad" gekommen.
Ich habe mein Beispiel etwas vereinfacht. In Wirklichkeit ist statt "Text" eine "textarea" da. Und diese "textarea" sollte genau so groß sein wie das übergeordnete "div"-Element (minus Überschrift).
Deshalb haut es auch mit der Breite hin, nur die Höhe passt nicht. Da schaut das "div"-Element mit dem Text unten hinaus - genau so viel wie die Überschrift einnimmt. (Nimmt man eine "textarea", so erhält man dasselbe Ergebnis.)
Die Höhe für das übergeordnete "div"-Element muss ich aber trotzdem angeben, da dies vom Server übergeben wird. (Es gibt also sowohl vertikal als auch horizontal lange sowie kurze "div"-Elemente.)
Ich hoffe, ich habe mich jetzt klarer ausgedrückt.
@@Alexander Jank:
nuqneH
Ich hoffe, ich habe mich jetzt klarer ausgedrückt.
Nicht wirklich.
Willst du uns vielleicht linken?
Qapla'
@@Alexander Jank:
nuqneH
Ich hoffe, ich habe mich jetzt klarer ausgedrückt.
Nicht wirklich.
Willst du uns vielleicht linken?
Qapla'
Das Projekt ist leider nicht online, sonst würde ich euch gerne den Link geben.
Ich versuch mal folgenden Ansatz: Die übergeordneten div-Elemente sollten (Psydo-)Fenster (also so wie die Fenster bei Windows) sein. Das eine div-Element (das in meinem Beispiel die Klasse "heading" hat) sollte der Titel des Fensters sein, das andere div-Element (mit der Klasse "text") sollte der Inhalt des Fensters sein.
Die Fenstergröße (Breite und Höhe) ist bekannt. Der Titel hat eine fixe Höhe, und der Inhalt sollte dann die restliche Höhe einnehmen. So ungefähr sollte das Konzept aussehen (ich weiß, dass das kein CSS ist^^):
fenster-höhe: 546px;
titel-höhe: 20px;
inhalt-höhe: 100%-20px; (100% bezieht sich auf die 546px)
fenster-höhe und titel-höhe lässt sich ja leicht darstellen, aber inhalt-höhe bereitet mir Probleme. Natürlich könnte man "546px-20px=526px" ausrechnen und die Höhe absolut angeben. Das Problem ist jedoch, dass fenster-höhe nicht zwingend 546px haben muss. (titel-höhe mit 20px ist jedoch schon fix.)
Ich hoffe, dass ich durch diesen Ansatz mein Problem deutlicher und genauer schildern konnte.
Hallöchen auch,
Ich habe folgende Seite, bestehend aus DIV-Tags, die ich mit CSS formatieren will.
Das ist mal ganz löblich.
<html>
height: 75px; border: 1px solid black;
Das ist schlecht, denn damit bestimmst Du die Höhe des 1. DIV und die anderen DIV's sind darin "eingesperrt".
> Wenn ihr das Beispiel in euren Browser (ich verwende Firefox) kopiert, dann seht ihr mein Problem. Da in .notes .text "height: 100%;" steht, steht dieser Teil "drüber". Was kann man da machen, um dieses Probelm zu behaben?
ICH würde es wie folgt lösen:
~~~html
<style type="text/css">
.notes {
position: absolute;
top: 165px;
left: 654px;
width: 150px;
}
.notes .heading {
background-color: #eeb;
border: 1px solid black;
}
.notes .text {
border-width: 0px 1px 1px 1px;
border-style: solid;
border-color: black;
background-color: #ffc;
}
</style>
<div class="notes">
<div class="heading">
Titel
</div>
<div class="text">
Text
</div>
</div>
MfG
cross
@@cross:
nuqneH
Ich habe folgende Seite, bestehend aus DIV-Tags, die ich mit CSS formatieren will.
Das ist mal ganz löblich.
Nein, das ist es ganz und gar nicht, wie Kai345 schon anmerkte.
Qapla'