Ausgelesene Dimensionen an CSS-Datei übergeben
Nick
- php
Hallo,
ich knüpfe hier noch einmal an. Leider hatte ich den Thread damals aus den Augen verloren.
Also, es geht darum die Eigenschaften eines in einer externen CSS-Datei definierten div-Containers abhängig von den Dimensionen einer sich in dem div-Container befindlichen Grafik, die zur Laufzeit mittels Zufallsgenerator ermittelt wird, zu bestimmen.
Beispiel:
Die zufällig ausgewählte Grafik hat die Dimensionen 100 x 100 Pixel. Der div-Container, der die Grafik enthält, soll die Dimensionen 120 x 120 Pixel erhalten.
Beste Grüße
Nick
ich knüpfe hier noch einmal an. Leider hatte ich den Thread damals aus den Augen verloren.
Also, es geht darum die Eigenschaften eines in einer externen CSS-Datei definierten div-Containers abhängig von den Dimensionen einer sich in dem div-Container befindlichen Grafik, die zur Laufzeit mittels Zufallsgenerator ermittelt wird, zu bestimmen.
Beispiel:
Die zufällig ausgewählte Grafik hat die Dimensionen 100 x 100 Pixel. Der div-Container, der die Grafik enthält, soll die Dimensionen 120 x 120 Pixel erhalten.
na schön:
display:inline-block und padding 10px mit width und height auto sollten erreichen, was du wünscht.
mfg Beat
na schön:
display:inline-block und padding 10px mit width und height auto sollten erreichen, was du wünscht.
Danke sehr, aber:
Mein Beispiel war offenbar schlecht gewählt. Es geht mir tatsächlich darum das Ergebnis einer PHP-Funktion an eine externe CSS-Datei zu ergeben.
مرحبا
Mein Beispiel war offenbar schlecht gewählt. Es geht mir tatsächlich darum das Ergebnis einer PHP-Funktion an eine externe CSS-Datei zu ergeben.
<link rel="stylesheet" href="/dynamic.css.php?g=120*120" />
Wie Fit bist du mit PHP?
mfg
Mein Beispiel war offenbar schlecht gewählt. Es geht mir tatsächlich darum das Ergebnis einer PHP-Funktion an eine externe CSS-Datei zu ergeben.
ergeben = übergeben
<link rel="stylesheet" href="/dynamic.css.php?g=120*120" />
Das "g" steht hierbei wofür?
Wie Fit bist du mit PHP?
Es geht so. Warum fragst du?
مرحبا
... externe CSS-Datei zu ergeben.
ergeben = übergeben
Ist mir garnicht aufgefallen, ich lese mit Autovervollständigen.
<link rel="stylesheet" href="/dynamic.css.php?g=120*120" />
Das "g" steht hierbei wofür?
Gesamtausmaße.
Mit dem Parameter kannst du die Werte an das „dynamic.css.php“ „übergeben“, dass die Werte für dein div setzt.
Wie Fit bist du mit PHP?
Es geht so. Warum fragst du?
Neugier.
mfg
Hallo Malcolm!
ergeben = übergeben
Ist mir garnicht aufgefallen, ich lese mit Autovervollständigen.
Die Seite ist zugriffsgeschützt. Ohne das "/my" bzw. "my/" geht's aber. ;-)
Autovervollständigung wird dir da nichts genützt haben, da wäre schon eine Semantikkorrektur vonnöten gewesen. ^^
Gesamtausmaße.
Ok. :-)
Mit dem Parameter kannst du die Werte an das „dynamic.css.php“ „übergeben“, dass die Werte für dein div setzt.
Recht herzlichen Dank für die Links!
Wie Fit bist du mit PHP?
Es geht so. Warum fragst du?Neugier.
Ach so. Ich hatte schon eine gewisse Ironie befürchtet.
Beste Grüße
Nick
مرحبا Nick
Recht herzlichen Dank für die Links!
Haben sie denn geholfen?
Wie Fit bist du mit PHP?
Es geht so. Warum fragst du?
Neugier.
Ach so. Ich hatte schon eine gewisse Ironie befürchtet.
Nö nö ;)
BTW, ich schliesse mich dem Detlef seiner Meinung an, die „On the Fly“ generierten Werte garnicht erst über eine Externe Ressource einzubinden, <http://de.selfhtml.org/css/formate/einbinden.htm#zentral@title=sondern direkt in die aufgerufene Seite>.
mfg
Hallo Malcolm Beck´s!
Haben sie denn geholfen?
Durchaus.
Ach so. Ich hatte schon eine gewisse Ironie befürchtet.
Nö nö ;)
Dann ist ja gut. :-)
BTW, ich schliesse mich dem Detlef seiner Meinung an, die „On the Fly“ generierten Werte garnicht erst über eine Externe Ressource einzubinden, <http://de.selfhtml.org/css/formate/einbinden.htm#zentral@title=sondern direkt in die aufgerufene Seite>.
Eigentlich habt ihr ja recht.
Beste Grüße
Nick
مرحبا Nick
<http://de.selfhtml.org/css/formate/einbinden.htm#zentral@title=sondern direkt in die aufgerufene Seite>.
Eigentlich habt ihr ja recht.
Einfacher zu programmieren ist es ja auch, was spricht deiner Meinung nach dagegen?
mfg
Einfacher zu programmieren ist es ja auch, was spricht deiner Meinung nach dagegen?
Einfach nur die Tatsache, dass das Design dann nicht mehr vollständig vom Inhalt getrennt ist, indem es vollständig in einer separaten Datei definiert ist; es ist etwas unübersichtlicher.
مرحبا
Einfach nur die Tatsache, dass das Design dann nicht mehr vollständig vom Inhalt getrennt ist, indem es vollständig in einer separaten Datei definiert ist; es ist etwas unübersichtlicher.
Dein anliegen hat ja mit dem eigentlichen Design soweit nichts am Hut, die Daten werden nur Temporär gebraucht, da sich die Maße jedesmal ändern. Wenn du mir jedesmal eine neue CSS schickst, weil sich die Maße des Containers (oder Bildes) ändern, füllst du meinen Cache mit zig, vielleicht nur einmal benötigten Temporären Dateien, von den dadurch erzeugten unnötigen Requests und Traffic mal ganz abgesehen.
mfg
Hallo Malcolm!
Dein anliegen hat ja mit dem eigentlichen Design soweit nichts am Hut [...]
Das ist wohl Ansichtssache.
[...] die Daten werden nur Temporär gebraucht, da sich die Maße jedesmal ändern. Wenn du mir jedesmal eine neue CSS schickst, weil sich die Maße des Containers (oder Bildes) ändern, füllst du meinen Cache mit zig, vielleicht nur einmal benötigten Temporären Dateien, von den dadurch erzeugten unnötigen Requests und Traffic mal ganz abgesehen.
Wie gesagt, eigentlich habt ihr ja recht.
Frohe Weihnachten!
Beste Grüße
Nick
<link rel="stylesheet" href="/dynamic.css.php?g=120*120" />
Sollte eigentlich der Content-Type bei der Verlinkung der dynamic.css.php dennoch angeben werden, obwohl er in der dynamic.css.php selbst steht, oder verzichtet man besser darauf? Valide ist ja beides.
Mein Beispiel war offenbar schlecht gewählt. Es geht mir tatsächlich darum das Ergebnis einer PHP-Funktion an eine externe CSS-Datei zu ergeben.
Dann musst du auf der Basis der PHP-Ermittlung eine statische CSS-Datei erstellen und sicherstellen, dass der Client diese Ressource erst dann verlangt, wenn dieser Schreibprozess auch abgeschlossen ist.
Dass da Timingprobleme vorliegen können, wurde ja schon diskutiert.
Eine andere Variante wäre
<link rel="stylesheet" href="some.php">
Wobei das PHP selbst CSS-Code mit entsprechendem Content-Header zurückgibt.
mfg Beat
Mein Beispiel war offenbar schlecht gewählt. Es geht mir tatsächlich darum das Ergebnis einer PHP-Funktion an eine externe CSS-Datei zu ergeben.
ergeben = übergeben
Dann musst du auf der Basis der PHP-Ermittlung eine statische CSS-Datei erstellen und sicherstellen, dass der Client diese Ressource erst dann verlangt, wenn dieser Schreibprozess auch abgeschlossen ist.
Dass da Timingprobleme vorliegen können, wurde ja schon diskutiert.
Eine andere Variante wäre
<link rel="stylesheet" href="some.php">Wobei das PHP selbst CSS-Code mit entsprechendem Content-Header zurückgibt.
Wie muss denn der Content-Header dafür aussehen?
Wie muss denn der Content-Header dafür aussehen?
text/css
mfg Beat
Eine andere Variante wäre
<link rel="stylesheet" href="some.php">Wobei das PHP selbst CSS-Code mit entsprechendem Content-Header zurückgibt.
Noch eine Frage dazu: Wie verfahre ich am besten, wenn das Ergebnis der PHP-Funktion sowohl in der eigentlichen PHP-Datei als auch in der CSS-Datei benötigt wird?
Eine andere Variante wäre
<link rel="stylesheet" href="some.php">Wobei das PHP selbst CSS-Code mit entsprechendem Content-Header zurückgibt.
Noch eine Frage dazu: Wie verfahre ich am besten, wenn das Ergebnis der PHP-Funktion sowohl in der eigentlichen PHP-Datei als auch in der CSS-Datei benötigt wird?
Kann mir da noch jemand helfen? Ich möchte vermeiden dieselben Funktionen in mehreren Dateien redundant stehen zu haben und ausführen zu lassen.
Mahlzeit Nick,
Noch eine Frage dazu: Wie verfahre ich am besten, wenn das Ergebnis der PHP-Funktion sowohl in der eigentlichen PHP-Datei als auch in der CSS-Datei benötigt wird?
Kann mir da noch jemand helfen? Ich möchte vermeiden dieselben Funktionen in mehreren Dateien redundant stehen zu haben und ausführen zu lassen.
Wann und wo wird die Grafikdatei erzeugt? Irgendwo in "/foo/bar/page.php"?
Dann binde dort ein Stylesheet ein, das den Container prinzipiell beschreibt, aber *keine* Maße angibt:
style.css:
-----8<-----
#container {
border: 1px dashed green;
/* ... */
}
----->8-----
Erzeuge in der PHP-Datei die Grafik, speichere ihre Maße und gib diese ausnahmsweise im HTML-Output an:
page.php:
-----8<-----
<?php
/* ... */
$image_width = ...
$image_height = ...
?>
~~~~~~html
<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<style>
[code lang=css]#container {
width: [code lang=php]<?php echo $image_width; ?>
~~~px;
height: `<?php echo $image_height; ?>`{:.language-php}px;
}[/code]
</style>
</head>
<body>
<!-- ... -->
</body>
</html>[/code]
\----->8-----
MfG,
EKKi
--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
Hallo EKKi!
Danke für deine Antwort.
Wann und wo wird die Grafikdatei erzeugt? Irgendwo in "/foo/bar/page.php"?
Ja.
Dann binde dort ein Stylesheet ein, das den Container prinzipiell beschreibt, aber *keine* Maße angibt: [...]
Erzeuge in der PHP-Datei die Grafik, speichere ihre Maße und gib diese ausnahmsweise im HTML-Output an: [...]
Der Möglichkeit war ich mir bewusst, aber ich möchte gern alles an CSS zentral in einer Datei stehen haben.
Beste Grüße
Nick
Hallo Nick
…, aber ich möchte gern alles an CSS zentral in einer Datei stehen haben.
Und das findest du in diesem speziellen Fall gut?
Du möchtest möglichst viel Traffic erzeugen?
Ein Grund für das Auslagern das CSS in eine separate Datei ist der, dass diese dann nur einmal vom Server geladen werden muss und bei weiteren Seitenaufrufen aus dem Cache genommen werden kann. Wenn sich diese bei jedem Seitenaufruf ändert ist das nicht möglich.
Ich würde alle konstanten Angaben in die CSS-Datei schreiben und alle Angaben, die sich dynamisch ändern direkt in die jeweilige Seite (eventuell in einen CSS-Block).
Auf Wiederlesen
Detlef
Hallo Detlef!
Und das findest du in diesem speziellen Fall gut?
Du möchtest möglichst viel Traffic erzeugen?
Eigentlich nicht.
Ein Grund für das Auslagern das CSS in eine separate Datei ist der, dass diese dann nur einmal vom Server geladen werden muss und bei weiteren Seitenaufrufen aus dem Cache genommen werden kann. Wenn sich diese bei jedem Seitenaufruf ändert ist das nicht möglich.
Ich würde alle konstanten Angaben in die CSS-Datei schreiben und alle Angaben, die sich dynamisch ändern direkt in die jeweilige Seite (eventuell in einen CSS-Block).
Das ist ein gutes Argument.
Beste Grüße
Nick
Eine andere Variante wäre
<link rel="stylesheet" href="some.php">Wobei das PHP selbst CSS-Code mit entsprechendem Content-Header zurückgibt.
Sollte eigentlich der Content-Type bei der Verlinkung der some.php dennoch angeben werden, obwohl er in der some.php selbst steht, oder verzichtet man besser darauf? Valide ist ja beides.
Eine andere Variante wäre
<link rel="stylesheet" href="some.php">Wobei das PHP selbst CSS-Code mit entsprechendem Content-Header zurückgibt.
Sollte eigentlich der Content-Type bei der Verlinkung der some.php dennoch angeben werden, obwohl er in der some.php selbst steht, oder verzichtet man besser darauf? Valide ist ja beides.
Zitat http://www.w3.org/TR/html4/struct/links.html#h-12.3
type %ContentType; #IMPLIED -- advisory content type --
Das heisst, http hat Vorrang
mfg Beat
Hallo Beat!
Sollte eigentlich der Content-Type bei der Verlinkung der some.php dennoch angegeben werden, obwohl er in der some.php selbst steht, oder verzichtet man besser darauf? Valide ist ja beides.
Zitat http://www.w3.org/TR/html4/struct/links.html#h-12.3
type %ContentType; #IMPLIED -- advisory content type --Das heisst, http hat Vorrang
Und das heißt wiederum?