AlexK-Mainz
Neues Mitglied
Hi,
finde zu folgender Frage nirgends eine Lösung
Sachverhalt
Ich habe Haupt DIV (240px breit 16px hoch). Dieser Container soll nun dynamisch mit Inhalten aus einer Datenbank gefüllt werden um so ein Reiter-artiges Menu zu bilden.
/ Menu 1 / Menu 2 / Menu 3/...
Dazu erstelle ich für jeden Menüpunkt(Reiter) ein Div und verschiebe die Anfangsposition (left:) des nächsten um die Breit des letzten Containers.
Die Aufschrift ($menu_text) des Reiters lade ich Dynamisch aus der Datenbank und gehe nun per while-Schleife jeden Menueintrag durch.
=> Das klappt bis hierhin auch wunderbar.
Als Hintergrundbild dient ein Bild namens bg_reiter.jpg (50px breit)
Da ich die Reiter aber nur so breit haben möchte wie der Text ist, lese ich die Länge der Aufschrift jedes Reiters vorher aus ($length=strlen($menu_text)) und multipliziere dies um den Faktor 7, damit ich weiß, wieviele Breite mein Text verbaucht (mir ist klar, das Buchstaben wie "i" weniger Platz von der Breite her verbrauchen als z.B. ein "M" - aber das ist mein kleinstes Problem) Ich möchte einfach keine feste Breite haben, damit ein Reiter mit der Aufschrift "ICQ" nicht ebenso breit ist wie der Reiter z.B. "Einladungskarten".
Den DIV Eintrag des jeweiligen Reiters kann ich mit dynamisch konfigurieren
und auch die Verschiebung der folgenden Div-Container für die nächsten Reiter klappt.
Nun mein Problem:
falsch wäre eine Feste Breite:
/ klein / mittel / kl / breiter Men / mitel /
gewünscht ist eine dynamische Reiterbreite und damit eine Anpassung der Breite des Hintergrundbildes:
/ klein / mittel / kl / breiter Menueintrag / mittel / ...
Das Hintergrundbild (bg_reiter.jpg (50px breit)), welches ich innerhalb des ...style="..." definiert habe ist immer nur so breit wie der Text und wird dann abgeschnitten.
Habe ich einen Text der nur 30px breit ist, wird das Bild des Reiters nach Pixel 30 abgeschnitten.
Gibt es eine Möglichkeit das per CSS bestimmte Hintergrundbild in der Breite zu skalieren?
Oder würdet Ihr das o.g. Menu vielleicht ganz anders aufbauen? Mein Problem ist, dass ich schlecht z.B. mit Tabellen arbeiten kann, da ich nur eine Höhe von 16px frei und der Tabellenrand schon so dick ist, dass ich kaum noch was in die Tabelle eingetragen bekäme, da die Schrift 12px groß sein soll.
Bin für Vorschläge offen, wenn Sie nur zum Ziel führen ;-)
danke fürs lesen und ggf für die Hilfe
finde zu folgender Frage nirgends eine Lösung
Sachverhalt
Ich habe Haupt DIV (240px breit 16px hoch). Dieser Container soll nun dynamisch mit Inhalten aus einer Datenbank gefüllt werden um so ein Reiter-artiges Menu zu bilden.
/ Menu 1 / Menu 2 / Menu 3/...
Dazu erstelle ich für jeden Menüpunkt(Reiter) ein Div und verschiebe die Anfangsposition (left:) des nächsten um die Breit des letzten Containers.
Die Aufschrift ($menu_text) des Reiters lade ich Dynamisch aus der Datenbank und gehe nun per while-Schleife jeden Menueintrag durch.
=> Das klappt bis hierhin auch wunderbar.
Als Hintergrundbild dient ein Bild namens bg_reiter.jpg (50px breit)
Da ich die Reiter aber nur so breit haben möchte wie der Text ist, lese ich die Länge der Aufschrift jedes Reiters vorher aus ($length=strlen($menu_text)) und multipliziere dies um den Faktor 7, damit ich weiß, wieviele Breite mein Text verbaucht (mir ist klar, das Buchstaben wie "i" weniger Platz von der Breite her verbrauchen als z.B. ein "M" - aber das ist mein kleinstes Problem) Ich möchte einfach keine feste Breite haben, damit ein Reiter mit der Aufschrift "ICQ" nicht ebenso breit ist wie der Reiter z.B. "Einladungskarten".
Den DIV Eintrag des jeweiligen Reiters kann ich mit dynamisch konfigurieren
Code:
echo "<div style='... width:". $length . "px;...'";
Nun mein Problem:
falsch wäre eine Feste Breite:
/ klein / mittel / kl / breiter Men / mitel /
gewünscht ist eine dynamische Reiterbreite und damit eine Anpassung der Breite des Hintergrundbildes:
/ klein / mittel / kl / breiter Menueintrag / mittel / ...
Das Hintergrundbild (bg_reiter.jpg (50px breit)), welches ich innerhalb des ...style="..." definiert habe ist immer nur so breit wie der Text und wird dann abgeschnitten.
Habe ich einen Text der nur 30px breit ist, wird das Bild des Reiters nach Pixel 30 abgeschnitten.
Gibt es eine Möglichkeit das per CSS bestimmte Hintergrundbild in der Breite zu skalieren?
Oder würdet Ihr das o.g. Menu vielleicht ganz anders aufbauen? Mein Problem ist, dass ich schlecht z.B. mit Tabellen arbeiten kann, da ich nur eine Höhe von 16px frei und der Tabellenrand schon so dick ist, dass ich kaum noch was in die Tabelle eingetragen bekäme, da die Schrift 12px groß sein soll.
Bin für Vorschläge offen, wenn Sie nur zum Ziel führen ;-)
danke fürs lesen und ggf für die Hilfe