Benne: (mindest) Breite von <a> definieren

Hallo,

ich möchte einen Link mit einer Hintergrundfarbe hinterlegen. Außerdem möchte ich den Link breiter machen, als er "normalerweise" durch den Linktext ist.

folgendes habe ich versucht:

<a>Text</a>

css:

a {
    background-Color: #123456;
    width: 200px;
}

der Link wird jedoch nur so breit, wie es der Text verlangt. (kann man durch die gesetzte Hintergrundfarbe erkennen)
(ich kann auch ausschließen, dass ich ein Schreibfehler, etwa wie "widht" gemacht habe)
auch "min-width" ändert nichts daran.

Ich verwende folgenden Doctype
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/strict.dtd">

und habe mit

Opera 7.01 [en] Win2000Pro
Mozilla 1.2.1 [en] Win2000Pro
IE 6 [de] Wind2000Pro

die Pages getestet.

Ist "width" für a-Tags nicht erlaubt?
Welches Workaround gibt es?
Muss ich Tabellen benutzen (will ich nicht)

Danke Gruß,
Benne

  1. Hi Benne,

    Ist "width" für a-Tags nicht erlaubt?

    So ist es.

    Welches Workaround gibt es?

    a { display:block; }

    LG Roland

  2. ich möchte einen Link mit einer Hintergrundfarbe hinterlegen. Außerdem möchte ich den Link breiter machen, als er "normalerweise" durch den Linktext ist.

    a {
        background-Color: #123456;
        width: 200px;
    }

    Lies die CSS-Doku. Dort ist beschrieben, welche Elementtypen es gibt, für welche Typen width gilt (http://www.w3.org/TR/CSS2/visudet.html#the-width-property) und wie man ein Elementtyp umwandelt (http://www.w3.org/TR/CSS2/visuren.html#display-prop).

    Alternativ kannst Du auch die Forumssuche benutzen, die Frage kommt alle zwei Wochen ("width" und "CSS" sollten helfen).

    Gruß,
      soenk.e

  3. Hi,

    <a>Text</a>
    css:
    a {
        background-Color: #123456;
        width: 200px;

    a ist ein non-replaced inline Element. Width ist für non-replaced inline Elemente nicht definiert - diese sind immer so breit wie es ihr Inhalt erfordert.

    }
    der Link wird jedoch nur so breit, wie es der Text verlangt. (kann man durch die gesetzte Hintergrundfarbe erkennen)

    also so wie es die Spezifikation verlangt.

    auch "min-width" ändert nichts daran.

    min-width ist logischerweise für die selben Elemente definiert wie width (und auch für die selben Elemente nicht definiert)

    Ich verwende folgenden Doctype
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/strict.dtd">

    der hat keinen Einfluß, da a in allen [X]HTML-Versionen ein non-replaced inline Element ist.

    Ist "width" für a-Tags nicht erlaubt?

    richtig. s.o.

    Welches Workaround gibt es?

    die display-property so setzen, daß es sich nicht mehr um ein (non-replaced) inline Element handelt. (Risiken und Nebenwirkungen nicht ausgeschlossen).

    Muss ich Tabellen benutzen (will ich nicht)

    Nein.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
  4. Hallo,

    vielen Dank euch allen für die schnellen und guten Antworten!

    Gruß,
    Benne