hawkmaster: Breite von Menü soll sich Text anpassen?

Hallo zusammen,
ich erstelle ein horizontales CSS Menü.

Jetzt ist es so das der Text der jeweiligen Menüs unterschiedlich lang sein kann, da man manche Menüeinträge selbst erstellen kann.
Schön wäre es wenn der Text immer ideal zur Breite des Menüs passt, bzw. die Breite sich automatisch dem Text anpasst.
Mit "width:auto" würde es zwar gehen aber das sieht ja dann unschön aus wenn es unterschiedlich lange Texte gibt.
Mit einer festen Breitenangabe wie;
#pmenu li.fly ul a {width:30em;}

würde es auch gehen, aber wenn alle Texte sehr kurz sind wäre die Menübreite unnötig lang.

Gibt es irgend eine Möglichkeit wie man das Problem angehen kann.
Event. vorher die Anzahl der Buchstaben des längsten Eintrags ermitteln und daraus die max. Breite erzeugen?
Wie dann aber Buchstabenanzahl in "PX" umrechnen?

vielen Dank und viele Grüße
hawk

  1. Grüße,
    ich ahbe deine frage 2 mal aufmerksam durchgelesen und festgestellt dass diese teilweise widersprüchlkich/unsinnig ist.
    bitte neu formulieren.
    MFG
    bleicher

    --
    __________________________-
    Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
    Lieber bereuen gesündigt zu haben, als nicht sündigen und es später trotzdem bereuen.
    Boccaccio
    1. Hi bleicher,
      danke für deine Hilfe.
      Sorry wenn ich mich so doof ausgedrückt habe.
      Also:
      Ausgang ist ein horizontales CSS Menü. Es basiert auf ein Beispiel von Stu Nicholls:
      http://www.cssplay.co.uk/menus/simple_vertical.html

      Hier gibt es eine feste breite von 120px für alle Menüs (<a>)
      Wenn man in dem Menü auf "Products--Cameras" klickt öffnet sich rechts daneben wieder ein Untermenü.
      Bei mir sind diese Einträge total unterschiedlich von der Länge des Textes.
      Daher suche ich nach einer Möglichkeit die Breite des Menüs an den Text anzupassen.

      Jetzt klarer?

      viele Grüße
      hawk

      1. Jetzt klarer?

        width: auto; hilft dir einerseits und beim internet explorer das sowieso falsch rendern ;)

        1. Hi suit,
          das hilft mir jetzt nicht wirklich weiter.
          ich sagte ja bereits in meinem ersten Posting das ich es mit "auto" schon versucht hatte. Aber das hat ja keinen Wert da sonst die jeweiligen Boxen bzw. Menüeinträge unterschiedlich breit angezeigt werden.

          sonst keine Idee?

          Gruss
          hawk

  2. Hi,

    Jetzt ist es so das der Text der jeweiligen Menüs unterschiedlich lang sein kann, da man manche Menüeinträge selbst erstellen kann.

    Wer ist man, und wo kann er das?

    Schön wäre es wenn der Text immer ideal zur Breite des Menüs passt, bzw. die Breite sich automatisch dem Text anpasst.
    Mit "width:auto" würde es zwar gehen aber das sieht ja dann unschön aus wenn es unterschiedlich lange Texte gibt.

    Also willst du *eine* Breite fuer *alle* Menuepunkte, diese aber abhaengig vom "laengsten" Menuepunkt? (Dann beschreib das doch auch einfach so, anstatt so'n Kauderwelsch abzulassen ...)

    Dann ermittle den laengsten Menuepunkt - serverseitig, wenn moeglich, oder clientseitig (und gebe dann als Fallback eine ausreichende Minimalbreite vor).

    MfG ChrisB

    1. Hallo ChrisB,

      Also willst du *eine* Breite fuer *alle* Menuepunkte, diese aber abhaengig vom "laengsten" Menuepunkt? (Dann beschreib das doch auch einfach so, anstatt so'n Kauderwelsch abzulassen ...)

      Genauso meinte ich es. Entschuldigung das ich mich sooo doof ausgedrückt habe. Es gibt halt auch Leute die nicht auf anhieb so perfekt formulieren können oder ein Problem beschreiben können...

      Na egal, ich habe es jetzt so gelöst das ich mit PHP, also serverseitig das längste Wort ermittle, bzw. die Buchstaben zähle und dann mit einem Faktor multipliziere. Daraus wird dann die max. Breite erstellt.

      vielen Dank und viele Grüße
      hawk