Reini: Text horizontal ausgerichtet; Scrollleiste

Hallo,

ich möchte einen einzeiligen Text mit *variabler* Länge an einer ganz bestimmten Bildschirmposition positionieren. Der Text soll an dieser Position immer horizontal zentriert sein, 2 Beispiele:

kurzer Text
   viel, viel längerer Text

Ich habe den Text dazu in einen <div>-Block verpackt, den ich mittels CSS genau positioniere. Der <div>-Block besitzt eine Width größer als der längste zu erwartende Text. Die horizontale Zentrierung im <div> erfolgt per text-align:center

Soweit, so gut. Nur wenn ich den <div>-Block nahe am rechten Bildschirmrand positioniere, ragt der <div>-Block über das rechte Ende hinaus, und es erscheinet die horizontale Scrollleiste. Und das obwohl der eigentlich Text den rechten Rand noch nicht überschreiten würde (der div Block ist ja meistens viel breiter als der aktuelle text).

Gibts da eine Möglichkeit, dass die Leiste erst erscheint, wenn sie wegen dem Text nötig wird und nicht wegen dem <div>-Block, der ja eigentlich nur der horizontalen Ausrichtung des textes dient?

  1. Gibts da eine Möglichkeit, dass die Leiste erst erscheint, wenn sie wegen dem Text nötig wird und nicht wegen dem <div>-Block, der ja eigentlich nur der horizontalen Ausrichtung des textes dient?

    Hast du dem div eine feste Breite gegeben? Wenn ja, mach sie weg.

    Gruß,
    Niklas

    1. Hast du dem div eine feste Breite gegeben? Wenn ja, mach sie weg.

      Ja, div hat eine feste Breite wegen der Positionierung (ich kenne keine andere Lösung): z.B. der 800. Pixel soll das Zentrum des Textes sein:
      -> left:600px (linker Rand des Div-Blocks)
      -> Width:400px (breit des Div-blocks, und somit maximale Textbreite, in der er noch korrekt zentriert wird, ist er länger wird er nur über den rechten Div-Rand rausgeschrieben, nicht auch  über den linken)

      Wiegesagt, der Text ist variabel, man weiß also vorher seine genaue Länge nicht. Deshalb wirds ohne meine Lösung mit fixer Breite nicht funktionieren, bzw. hat text-align=center ohne fixe Breite ja gar keinen Sinn, oder? ;-).

      1. Wiegesagt, der Text ist variabel, man weiß also vorher seine genaue Länge nicht. Deshalb wirds ohne meine Lösung mit fixer Breite nicht funktionieren, bzw. hat text-align=center ohne fixe Breite ja gar keinen Sinn, oder? ;-).

        doch, mit max-width. damit ist dir aber auch nicht geholfen. ich würde tippen, da siehst in dem fall düster aus. womöglich musst du mit JS dynamisch die breite auslesen und entsprechend die position setzen. HTML+CSS sind eben nicht für pixelgenaue positionierungen gedacht ;)

        Gruß,
        Niklas