j4nk3y: Elternelement der größe der kindelemente anpassen

Beitrag lesen

Hey,

Du willst also, dass das Elternelement mit der Größe seiner Kindelemente mitwächst? Das ist eigentlich das normale Verhalten, und du setzt es mit absoluter Positionierung oder Floating außer Kraft. Warum?
Ja das dachte ich bisher auch aber aus irgendeinem unerfindlichen Grund tut es das grade nicht, und ich finde den Fehler nicht.

Innerhalb eines Statisch positionierten Elements musst du mit float: arbeiten um eine positionierung nebeneinander zu schaffen, so habe ich das jedenfalls bisher verstanden.
Halbwegs falsch von mir, die größe des Elternelements ändert sich aber ein gleichwertiges Elternelement welches darunter statisch positioniert ist ändert seine position nicht nach unten mit einer größen Zunahme des darüberliegenden Elternelementes.
Habe vllt eine Idee woran es liegen könnte, werde ich gleich ausprobieren.

dann ist es vermutlich das Beste, wenn du die Seite mal irgendwo online stellst, so dass man sich das Ganze mal "live" ansehen kann. Sonst versuchst du möglicherweise, hier "nur das Wesentliche" zu posten und lässt dabei vielleicht den entscheidenden Teil weg, weil du es nicht richtig eingeschätzt hast. Oder du würdest hier meterweise Quellcode posten, und man müsste sich dein Zeug erst nachbauen. Das möchte auch niemand.

Ja das wär schön aber damit hab ich mich noch garnicht auseinander gesetzt und ich wüsste nichteinmal wie und wo, dafür muss man doch erstmal ein Server mieten und eine Domain einrichten etc.
Tut mir Leid da hab ich keine Ahnung, damit wollte ich mich beschäfftigen wenn ich fertig bin^^.

Bis jetzt hab ich jegliche kombinationen von position: und float: ausprobiert die mir eingefallen ist aber nie mit dem gewünschtem Ergebnis.
Wie wär's mit Weglassen?
Dann ist die standart einstellung position:static; also muss ich wenn ich Elemente in diesem statischen element anordnen möchte doch mit float: arbeiten oder?

Ähm, wie anordnen? Bis jetzt hast du immer noch nicht klar beschrieben, was du eigentlich erreichen willst. Ich bin jetzt davon ausgegangen, dass die Blöcke der Reihe nach untereinander stehen sollen, und das würden sie ganz von allein tun, ohne dass man eingreift.

Ja sie stehen in einer Reihe untereinander aber wenn ich in diesem "block" ein <div> aufklappe und dieses größer als das Elternelement ist verschiebt sich der 2te "block" nicht nach unten und der erste "block" überlappt den 2ten "block"

<link rel="stylesheet" type="text/css" href="style.css"/>
Du verwendest laut DOCTYPE-Deklaration HTML 4.01, da ist das Schließen von leeren Elementen im XML-Stil falsch.
Also ich setze mich jez insgesamt etwa 2 wochen mit dem thema Html auseinander und versuche mir das alles Selbst beizubringen. Haupt anlaufpunkt war für mich stehts Selfhtml was mir auch viel geholfen hat.
Daher verzeih mir bitte wenn ich deine Antwort nicht ganz verstehe.

Kein Problem.

Warum ist das Element leer?

Normalerweise hat ein Element ein öffnendes Tag, einen Inhalt und ein schließendes Tag:

<h1 id="top">Überschrift</h1>

Nun gibt es aber einige Elemente, die per definitionem keinen Inhalt haben, wie etwa <link> oder <img>. In "normalem" HTML lässt man dann das schließende Tag auch einfach weg. In XHTML, das die strengeren Syntax-Regeln von XML anwendet, muss ein Element aber immer geschlossen werden; bei leeren Elementen verwendet man dabei gern die Kurzschreibweise <elementname />, die aber in HTML strenggenommen falsch ist.

Macht Sinn danke, also einfach /> durch ></link> ersetzen weil ich mich in Html 4.01 bewege?

Und die DOCTYPE hab ich so aus Selfhtml übernommen ohne diese im Ganzen exakt zu verstehen.

Dann würde ich dir empfehlen, dich zumindest grob über diese Thematik zu informieren. Mit der DOCTYPE-Deklaration gibst du an, welchen HTML-Dialekt du verwendest. Erwähnenswert sind IMO nur HTML 4.01, XHTML 1.0 und HTML 5, wobei es von den beiden erstgenannten noch Varianten gibt.
Wahrscheinlich kommt demnächst jemand und empfiehlt dir, HTML 5 zu verwenden (ich tu es nicht, das ist aber im Wesentlichen meiner insgesamt konservativen Einstellung geschuldet). HTML 5 definiert eine Reihe neuer Elementtypen, die die Dokumentstruktur besser abbilden sollen, und hat außerdem eine vorgegebene Fehlertoleranz; manche Aspekte sind sogar ganz offiziell durch die Spec großzügiger geregelt. Zum Beispiel ist in HTML 5 das Schließen von leeren Elementen mit <tag /> völlig okay, auch ID-Werte, die mit einer Ziffer beginnen oder nur aus einer Ziffer bestehen (was ich weiter unten als Fehler angemeckert habe), sind erlaubt.

Ja verstehe ich soweit, hatte ich auch im bereich Grundgerüst eines Html Dokuments gelesen.
Das problem ist hier wohl eher das ich nicht wirklich zwischen Html 4.01 und XHtml 1.0 unterscheiden kann, also im gesamten, also welche besonderen feinheiten jeder "Dialekt" hat und die Anweisung deshalb für mich eher schwer durschaubar ist.
Das ich grundlegend sage: ich verwende eine bestimmte Sprache, in diesem Fall:  HTML 4.01
Und mit loose.dtd gebe ich die dokumententype definition an.

aber da ich den inhalt von loose.dtd ; strict.dtd und frameset.dtd nicht kenne hab ich da auch keinen Überblick was das ändert wenn ich da was anderes angebe.

Und da ich mich von frames wegbewegt habe und strict danach klingt viele fehler zu machen dacht ich das sollte für den anfang reichen.

<a href="javascript:/" onClick="div_change(5)"><img src="minus.jpg" ID="img5" border="0" style="vertical-align:middle"></a><br></p>

Die Anweisung im href-Attribut "/" ist kein gültiger Javascript-Code. Was soll das sein?

  1. Ok, dass weiß ich nicht, genauso weiß ich nicht was sich ändern könnte wenn man das "/" entfernt. Probiere ich nachher mal aus.

Das klingt, als wüsstest du gar nicht, was der Code eigentlich tun soll. Vermutlich soll beim Klicken auf das Bild eine bestimmte Aktion ausgelöst werden (eine Javascript-Funktion aufgerufen werden). Wenn man es gut machen will, sollte das umschließende a-Element (der Link) dann auf eine Ressource verlinken, die als Ersatz gelten kann für den Fall, dass Javascript nicht verfügbar ist. Möchte man keine solche Fallback-Lösung anbieten, ist der Link eigentlich sinnlos.

Naja mehr oder weniger, was das js machen soll is mir klar, diese soll einen <div> innerhalb des eintrags ein und ausklappen können (macht die funktion auch wie sie soll), dann soll sie schaun ob der <div> eingeklappt bzw. ausgeklappt ist und das Bild des Links ändern und zwar zwischen - und + , was sie allerdings noch nicht tut.
Jedoch verstehe ich den Code nicht 100%ig...

<div id="5" class="beschreibung">
Fehler: In HTML 4.01 dürfen ID-Werte nicht mit einer Ziffer beginnen.
Das wär mir nie aufgefallen wenn du es nicht gesagt hättest. Aber was schreib ich da sonst hin?

Einen anderen Bezeichner, der mit einem Buchstaben beginnt?

Tut mir leid zu kurz formuliert, wie änder ich dann das function div_change(strID) damit ich dann auch genau mit ID="strID" diesen <div> anspreche.

Gruß
Jo