Holger: ich schäme mich fast schon, diese Frage zu stellen...

Hallo zusammen,
das ist eine Frage, die ich mir schon mehrmals gestellt habe und ich hoffe, sie nicht doch noch in einem entlegenen Winkel des Forums hier zu finden. Das ist im übrigen auch der Grund, weshalb ich in meinen ganzen Web-Anwendungen fast ausschließlich mit "class" arbeite.

ich habe eine externe Datei für den Stylesheet, in der u.a. das hier steht:

------schnipp------
td, p, body { color:green; font-size:80px; }

.small { color:green; font-size:80px; }

------schnapp------

Wenn ich ein Element die Klasse "small" zuweise, ist die Schrift natürlich grün und relativ groß. ;-)
Das gleiche müsste nun auch im gesamten HTML-Dokument der Fall sein. Ist es aber nicht; die Schrift ist zwar grün, aber die Schriftgröße wird nicht mit übernommen.

Aus welchem Grund wird im gesamten Dokument zwar die Schriftfarbe, aber nicht die Schriftgröße übernommen?

  1. Hi,
    Ja, du hast vollkommen recht, das muss im ganzen Dokument gelten, es sei denn du hast lokal im Dokument für die gleiche Klasse einen anderen Style definiert oder hinterher noch ein Stylesheet eingebunden, was den Style verändert.

    Was auch sein kann, ist dass du vielleicht innerhalt des Elementes mit der Klasse small noch ein anderes Element geschachtelt hast, das andere Styles hat, entweder von dir vorgegeben oder per default.

    Kannst mal ein Beispiel vom Code zeigen, bei dem die Schriftgröße nicht übernommen wird?

    Saludo
    paul

    1. Hi,
      Ja, du hast vollkommen recht, das muss im ganzen Dokument gelten, es sei denn du hast lokal im Dokument für die gleiche Klasse einen anderen Style definiert oder hinterher noch ein Stylesheet eingebunden, was den Style verändert.

      Hi Paul,
      Hm, ich kann den kompletten Code nicht posten, da es aus unserem Intranet ist. Unter anderem werden auch noch zwei javascript-Menüs eingebunden, und ich vermute, das diese eine default-schrift-größe definieren.
      Kann das sein?

      1. Hi,

        Hm, ich kann den kompletten Code nicht posten

        Gott bewahre, bitte nicht den ganzen Code! Ein paar Zeilen eines Beispiels bei dem es nicht geht, wollte ich :-)

        Kann das sein?

        Natürlich kann das sein, wobei es dann warscheinlich keine default-Schriftgröße ist, sondern eine vom Menü definierte. Das mit den verschachtelten Elementen trifft nicht zu?

        Dann schau dir mal die Styles des Menüs an, vielleicht gibt es da schon eine Klasse mit .small.
        Du kannst auch einfach mal ausprobieren, die Reihenfolge der eingebundenen CSS-Dateien zu ändern, die letzte ist die die alle anderen überschreibt bzw ergänzt wenn die andern gleichnamige Styles definieren.

        Oder schreib den Style einfach mal in deinen <head>, Lokale Styles sind vorrangig gegenüber allen eingebundenen.

        Falls das Menü dann 80px groß wird, weisst du sicher, dass das Menü auch eine Klasse small benutzt ;-)

        bye
        paul

      2. hallo paul, holger

        Hm, ich kann den kompletten Code nicht posten, da es aus unserem Intranet ist.

        na und? aber egal

        Unter anderem wer den auch noch zwei javascript-Menüs eingebunden, und ich vermute, das diese eine default-schrift-größe definieren.
        Kann das sein?

        wie paul schon sagte ... es wird so sein, dass du innerhalb des html documents noch style attribute in einigen tags hast ... diese styleangaben "überschreiben" die class angaben in deiner css-datei ... um das zu übergehen (aber du willst doch nicht wirklich jeden text 80px groß und grün machen oder?) musst du in deiner classangabe den !importent befehl einfügen ... dann reicht aber auch body
        body { color:green; font-size:80px !important }

        cu
        ulli

        1. Hi Ulli,

          die important-Angabe kannte ich noch nicht. Aber es hat geholfen. Was auch immer mir die Schriftgöße verändert hat, es klappt nun auf jeden Fall. DANKE.

          1. die important-Angabe kannte ich noch nicht. Aber es hat geholfen.

            sei aber vorsichtig und wundere dich nicht in 2 monaten, warum zum teufel alles immer grün und 80px groß ist :-)

            Was auch immer mir die Schriftgöße verändert hat, es klappt nun auf jeden Fall. DANKE.

            kein problem

            cu
            ulli

  2. Hallo,

    Ich weiß nicht, ob Dir das was hilft:

    Alle Elemente, in denen Du die Klasse .small verwendest, werden die Eigenschaften grün und groß haben. Das gilt natürlich nicht, wenn Du in solchen Bereichen weitere inline-Elemente benutzt, die anders formatiert sind.

    Angenommen in Deiner Datei stünde auch noch .small_neu { font-size:10px; }

    Der Bereich <p class="small">Dies ist <span class="small_neu">ein</span> Text.</p> würde groß dargestellt, vom Wort ein abgesehen.

    Das weiter innen stehende Element dominiert also die außenstehenden!

    Heiner

    1. Ich bin mir nun fast sicher, dass die beiden js-Dateien, die die obere und linke leiste unseres Intranets darstellen, dafür verantwortlich sind.
      Es ist doch theoretisch möglich, dass auch in *.js Dateien per Stylesheet schriftgrößen bestimmt werden, oder?
      Das macht auch Sinn, um eine einheitliche Schriftgröße zu erreichen und um was für die CI zu tun. Aber warum gerade 12 pt?

      1. In .js-Dateien lassen sich Stile nicht eingeben. Man kann allenfalls dynamisch Quelltext mit js erzeugen, der auch Stile inform von CSS enthalten kann, oder dynamisch den Stil von Elementen ändern. Das wäre aber sehr unüblich, wenn Euer Skript das so macht.

        Heiner

        1. ich glaube nicht, dass es unüblich ist, denn es macht einfach Sinn, eine eineitlich Schrift vorzuschreiben.

          1. Ja klar, aber doch per CSS, nicht durch dynamische js-Änderungen?

  3. Hallo!

    ------schnipp------
    td, p, body { color:green; font-size:80px; }

    .small { color:green; font-size:80px; }

    ------schnapp------

    Wenn ich ein Element die Klasse "small" zuweise, ist die Schrift natürlich grün und relativ groß. ;-)
    Das gleiche müsste nun auch im gesamten HTML-Dokument der Fall sein. Ist es aber nicht; die Schrift ist zwar grün, aber die Schriftgröße wird nicht mit übernommen.

    ??
    Bei mir ist die Schrift grün und 80px groß. Sowas hör ich zum ersten mal.

    tschüs, jürgen