div container - automatische Größenanpassung mit "include"
Sebastian1986
- php
Hallo,
habe folgendes Problem:
Mein Code sieht wie folgt aus:
<div style="text-align:left; margin:0px; margin-right:5px; position:absolute; left:250px; top:20px; width:450px;">
<?php
include "./sites/".$_GET["site"].".php";
?>
</div>
Leider passt sich die Größe des div nicht automatisch an die Größe der Seite die ich einbinde an.
Selbstverständlich habe ich schon in Foren gesucht, aber leider immer nur einen Verweis auf: "keine feste 'height' im css eingeben" bekommen. Habe doch gar keine Höhe definiert....
Hoffe ihr wisst eine Lösung!!
Danke schonmal im Vorraus,
Sebastian
Hi,
<div style="text-align:left; margin:0px; margin-right:5px; position:absolute; left:250px; top:20px; width:450px;">
<?php
include "./sites/".$_GET["site"].".php";
?></div>
>
> Leider passt sich die Größe des div nicht automatisch an die Größe der Seite die ich einbinde an.
Was meinst du mit "Seite"? Dass du an der Stelle kein vollständiges HTML-Dokument einbinden kannst, ist dir doch hoffentlich klar?
> Selbstverständlich habe ich schon in Foren gesucht, aber leider immer nur einen Verweis auf: "keine feste 'height' im css eingeben" bekommen. Habe doch gar keine Höhe definiert....
Betrachte das Problem zunächst so, als ob PHP überhaupt nicht im Spiel wäre - dein Browser weiss nichts, von PHP, er interessiert sich auch nicht dafür.
Alles, was er bekommt, ist \*ein\* Dokument.
Sorge also dafür, dass dieses so aussieht, wie du es dir vorstellst (und das es syntaktisch korrekt ist, s.o.) - und bringe erst dann Dynamik in Form von PHP ins Spiel.
MfG ChrisB
--
Light travels faster than sound - that's why most people appear bright until you hear them speak.
Hey!
Habe endlich die Lösung! Es wurde auf ein eventuelles problem von "position:absolute" angesprochen. Daran lags. Der Innere Div wurde nicht als innerer Interpretiert, sondern einfach darüber gelegt. Somit wurde der äußere auch nicht vergrößert, wenn der Inhalt des inneren zu viel wurde... Habe den div jetzt in eine Tabelle gesetzt um ihn an die richtige Position zu setzen.
Vielen vielen Dank für eure Hilfe!
Grüße,
Sebastian
hi,
<div style="text-align:left; margin:0px; margin-right:5px; position:absolute; left:250px; top:20px; width:450px;">
<?php
include "./sites/".$_GET["site"].".php";
?></div>
> Hoffe ihr wisst eine Lösung!!
Der PHP-Code ist an dieser Stelle nicht Relevant, wichtiger ist, was dieses include da in dein div lädt.
Ist es nur ein Bisschen HTML, oder liest du damit eine komplette Seite ein?
Ist das nach dem includen erzeugte HTML insgesamt noch [Valide](http://validator.w3.org/#validate_by_input)?
Ohne mehr Infos kann dir keiner helfen -- und glaub nicht an den Quatsch mit diesen Hellsehern und Glaskugeln, die gibt es gar nicht -- hab ich schon gegooglet.
Btw, prüfst du eigentlich den Wert von `$_GET["site"]`{:.language-php} auf seine richtigkeit, bevor du ihn hier für include verwendest?
mfg
--
[Word!](http://www.youtube.com/watch?v=8IYTxTeMzA0) -- [Wenn man genauer hinschaut ist Deutschland schon ganz in Ordnung](http://www.youtube.com/watch?v=MeNdOpw90-M&feature=SeriesPlayList&p=917773458BC1E8DD)
Hey!
Danke für die schnelle Antwort!
Die Seite, die mit include geladen wird, habe ich so geschrieben, dass quasi nur text darin steht. Also keine komplette HTML Seite. Ich stelle mir die Funktion so vor, dass sie einfach das, was in der includierten Datei steht, an gewünschter Stelle einbindet. Das funktioniert auch soweit. Nur eben der div wird nicht größer...
Grüße,
Sebastian
hi,
Das funktioniert auch soweit. Nur eben der div wird nicht größer...
Dann zeig doch mal das Resultierende HTML (das, was in deinem Browser ankommt) -- besser wäre ein Online-Beispiel, wo man es auch gleich testen kann.
Hast du noch ein zusätzliches CSS in die Seite eingebunden? Vielleicht da versehentlich dieser Box eine höhe zugewiesen?
mfg
Hallo,
Das funktioniert auch soweit. Nur eben der div wird nicht größer...
Das kann er auch gar nicht, hast du ihm doch grade vorher noch gesagt, er soll *absolut* positioniert sein und die feste Breite von 450 Pixeln haben. Was soll da noch größer werden? Naja, die Höhe dürfte sich anpassen.
<div style="text-align:left; margin:0px; margin-right:5px; position:absolute; left:250px; top:20px; width:450px;">
Also nimm das width:450px; da raus - dann ist die Breite offen. Man *könnte* auch eine feste Breite, evtl. sogar eine feste Höhe definieren und dann festlegen, dass das DIV Scrollbalken bekommen soll:
overflow-x:scroll; <-- horizontaler Scroller
overflow-y:scroll; <-- vertikaler Scroller
Aber ehrlich gesagt, das wäre eine miserable Lösung: Feste Höhen, und natürlich auch feste Breiten, absolute Angaben, ... haben alle den Nachteil, dass sie sich eben nicht anpassen. Kommt jemand mit einer anständigen hohen Auflösung daher, hat er deine Seite in Briefmarken-Größe. Kommt jemand mit seinem iPhone, kann er deine Seite überhaupt nicht richtig nutzen...
Beste Grüße
Lars
hi,
Das kann er auch gar nicht, hast du ihm doch grade vorher noch gesagt, er soll *absolut* positioniert sein und die feste Breite von 450 Pixeln haben.
Der Container soll ja in der höhe mitwachsen, nicht in die Breite -- so habe ich zumindest die Problemstellung verstanden.
Die absolute positionierung ist Generell nicht das Problem, die Box sollte sich im Normalfall dem Inhalt anpassen, warum es hier nicht funktioniert, ist mir schleierhaft.
mfg
Moin
<div style="text-align:left; margin:0px; margin-right:5px; position:absolute; left:250px; top:20px; width:450px;">
<?php
include "./sites/".$_GET["site"].".php";
?></div>
Versuceh mal bitte die "position:absolute"-Bombe rauszunehmen. Ich denke nicht das diese notwendig ist. Ein etwas größerer Codeaussschnitt wäre sicher hilfreich.
Gruß Bobby
--
-> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
### Henry L. Mencken ###
-> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
## Viktor Frankl ###
ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)