Maike: Alternate stylesheet für den Ausdruck und "title" Attribut

Hallo,

damit speziell für den Ausdruck gedachte Stylesheets in Mozilla (1.4) zuverlässig funktionieren, darf man kein "title"-Attribut setzen. Beispiel:

<link rel="stylesheet" type="text/css" href="testprint.css" media="print"> funktioniert.

<link rel="stylesheet" type="text/css" href="testprint.css" media="print" title="Druckausgabe"> funktioniert nicht zuverlässig.

Beispielseite: http://www.webtonine.de/test/test.html (Druckvorschau öffnen). In IE 6 und Opera 7 macht das "title"-Attribut keine Probleme.

Frage: Weiß jemand, wie http://www.w3.org/TR/html401/present/styles.html#h-14.3.1 gemeint ist? D.h. entspricht das Verhalten von Mozilla den Spezifikationen, so dass man immer das "title"-Attribut weglassen sollte? Bisher wird dies von den Mozilla-Menschen behauptet. Der entsprechende Fehler wurde als "ungültig" markiert: http://bugzilla.mozilla.org/show_bug.cgi?id=223410

Eine Antwort würde mich freuen,
Maike

  1. Dies ist meine erste Anfrage und ich habe keine Links gesetzt. Ich bitte um Entschuldigung. Um es nachzuholen:

    http://www.webtonine.de/test/test.html
    http://www.w3.org/TR/html401/present/styles.html#h-14.3.1
    http://bugzilla.mozilla.org/show_bug.cgi?id=223410

  2. Hallo,

    Beispielseite: http://www.webtonine.de/test/test.html(Druckvorschau öffnen).

    Bereits Mozilla 1.2.1 zeigt mir hier in der Druckvorschau
    alle drei Abschnitte an, also auch den, der ausgeblendet
    werden sollte.

    Bei dieser Seite
    [http://www.morgain.ch/]
    habe ich aber auch ein TITLE-Attribut im <LINK>, mit
    dem ich das Print-Stylesheet einbinde, und es funktioniert
    trotzdem.

    Es koennte sein, dass einfach die Reihenfolge der <LINK>
    Tags massgebend ist.

    Frage: Weiß jemand, wie http://www.w3.org/TR/html401/present/styles.html#h-14.3.1 gemeint ist?

    Mein Verstaendnis davon:
    http://www.tiptom.ch/tests/css_test/css_intro.html#reihenfolge

    Meine Tests, die diesem Artikel zugrunde liegen, sind schon
    eine gute Weile her (damals gab's gerade mal Netscape 6),
    aber sie zeigen eindeutig:
    Reihenfolge und Title-Attribut der LINK-Tags spielen eine Rolle.

    D.h. entspricht das Verhalten von Mozilla den Spezifikationen, so dass man immer das "title"-Attribut weglassen sollte? Bisher wird dies von den Mozilla-Menschen behauptet.

    Die Specification ist fuer mich nicht eindeutig,
    aber ich denke, es _ist_ ein Bug von Mozilla.

    Ich hoffe auf weitere Infos und Testergebnisse!

    Gruesse,

    Thomas

    1. Hallo,

      D.h. entspricht das Verhalten von Mozilla den Spezifikationen, so dass man immer das "title"-Attribut weglassen sollte? Bisher wird dies von den Mozilla-Menschen behauptet.

      Die Specification ist fuer mich nicht eindeutig, aber ich denke, es _ist_ ein Bug von Mozilla.

      Für mich klingt das logisch. Opera 7 macht übrigens dasselbe. Wie gesagt sind beide Stylesheets durch das title-Attribut »preferred«:

      <link rel="stylesheet" type="text/css" href="testscreen.css" media="screen,tv" title="Screen">
      <link rel="stylesheet" type="text/css" href="testprint.css" media="print" title="Print">

      Aufgrund der verschiedenen »bevorzugten« Stylesheets benutzt der Browser das erste, das heißt alle mit dem Namen (title-Attribut) »Screen«. Für welche Medientypen dieses bzw. diese geschrieben ist bzw. sind, ist ihm egal. Bei der Druckausgabe wird dieses Stylesheet bzw. diese Stylesheetgruppe mit dem Namen »Screen« weiterhin verwendet. Wenn darin keine Stylesheets/Regeln für print vorkommen, wird eben nur das browserinterne Standardstylesheet angewendet - es wird aber nicht automatisch zur Gruppe mit dem Namen »Print« gewechselt. Das print-Stylesheet muss somit denselben Namen haben, sonst muss der Benutzer ausdrücklich zur Gruppe »Print« wechseln, damit das print-Stylesheet angewendet wird.

      Es scheint also, dass mehrere Gruppen von benannten Stylesheets:

      <link rel="stylesheet" type="text/css" href="1screen.css" media="screen" title="Gruppe 1">
      <link rel="stylesheet" type="text/css" href="1print.css" media="print" title="Gruppe 1">
      <link rel="stylesheet" type="text/css" href="2screen.css" media="screen" title="Gruppe 2">
      <link rel="stylesheet" type="text/css" href="2print.css" media="print" title="Gruppe 2">

      genauso behandelt wird wie eine alternative Stylesheetgruppe:

      <link rel="stylesheet" type="text/css" href="1screen.css" media="screen" title="Gruppe 1">
      <link rel="stylesheet" type="text/css" href="1print.css" media="print" title="Gruppe 1">
      <link rel="alternate stylesheet" type="text/css" href="2screen.css" media="screen" title="Gruppe 2">
      <link rel="alternate stylesheet" type="text/css" href="2print.css" media="print" title="Gruppe 2">

      Das gilt also auch für einzelne Stylesheets mit unterschiedlichen Namen:

      <link rel="stylesheet" type="text/css" href="1screen.css" media="screen" title="Gruppe 1">
      <link rel="stylesheet" type="text/css" href="2print.css" media="print" title="Gruppe 2">

      wird genauso behandelt wie

      <link rel="stylesheet" type="text/css" href="1screen.css" media="screen" title="Gruppe 1">
      <link rel="alternate stylesheet" type="text/css" href="2print.css" media="print" title="Gruppe 2">

      Der Benutzer müsste also das zweite Stylesheet erst explizit aktivieren, damit es seine Wirkung entfaltet, und diese Wirkung wäre natürlich auf die Druckausgabe begrenzt, so wie »Gruppe 1« nur bei der Bildschirmausgabe wirkt.

      Mathias

      --
      »Ich wollte immer mit zwanzig Händen in die Welt hineinfahren«
      1. Hallo,
        vielen Dank für Eure Antworten!

        Wenn ich http://www.tiptom.ch/tests/css_test/css_intro.html#reihenfolge richtig verstanden habe, muss Mozilla "preferred" nehmen, wenn kein "persistent" definiert ist. Das macht Mozilla ja auch bei den screen-Stylesheets. Es ist unlogisch, dies bei print-Stylesheets nicht zu machen.
        Vielleicht ist die W3C-Spezifikation deshalb unklar, weil eine explizite Regelung für die Rangreihenfolge fehlt?

        Gruß, Maike

        1. Hallo,

          Wenn ich http://www.tiptom.ch/tests/css_test/css_intro.html#reihenfolge richtig verstanden habe, muss Mozilla "preferred" nehmen, wenn kein "persistent" definiert ist. Das macht Mozilla ja auch bei den screen-Stylesheets. Es ist unlogisch, dies bei print-Stylesheets nicht zu machen.

          Macht er doch, wenn es an erster Stelle steht - nur das ist relevant. Wie gesagt, für welche Medientypen die Stylesheetgruppen gelten, ist nicht ausschlaggebend. Mozilla nimmt wie erwartet das erste preferred-Stylesheet bzw. die erste Gruppe mit denselben Namen (title-Attribute). Beim Drucken sucht Mozilla Druckstyles nur in dieser Gruppe und sucht nicht ein spezielles Druckstylesheet einer anderen Gruppe, um dies eventuell anzuwenden. Das ist innerhalb der genannten Gleichsetzung mit alternativen Stylesheets/Stylesheetgruppen m.E. in sich logisch.

          Vielleicht ist die W3C-Spezifikation deshalb unklar, weil eine explizite Regelung für die Rangreihenfolge fehlt?

          Das verstehe ich nicht, bei mehreren (nichtalternativen) preferred-Gruppen benutzt Mozilla gemäß dem Standard die erstgenannte. Dass die weiteren wie alternative behandelt werden, ist vom Standard tatsächlich nicht explizit vorgesehen, allerdings deutet das Auftreten unterschiedlich benannter nichtalternativer preferred-Stylesheets darauf hin, dass der Autor alternative im Sinn hatte. Ich kann mir deshalb kein sinnvolleren Umgang vorstellen, als sie wie alternative zu behandeln. Wenn man das nicht will, darf man sie eben nicht unterschiedlich benennen. Im konkreten Ausgangsfall sehe ich auch keinen Nutzen darin, denn es bringt nichts, dass ein Druckstylesheet durch den einzigartigen Namen in der Auswahl der alternativen Stylesheets auftaucht, denn es soll automatisch vom Browser angewendet werden, so wie das screen-Stylesheet ebenfalls automatisch angewendet wird. Falls du darauf spekuliertest, dass dem Benutzer über den Namen/Titel in der Auswahlliste angezeigt wird, welches Stylesheet welchen Medientyps gerade aktiv ist, so wird das nicht möglich sein, da in Auswahllisten wie in Mozilla und Opera nur die Namen von (direkt oder indirekt alternativen, also sich ausschließenden) Gruppen bestehend aus Stylesheets meist unterschiedlicher Medientypen auftauchen.

          Mathias

          --
          »Ich wollte immer mit zwanzig Händen in die Welt hineinfahren«
  3. hi,

    Frage: Weiß jemand, wie http://www.w3.org/TR/html401/present/styles.html#h-14.3.1 gemeint ist?

    "Specify that the style sheet is persistent, preferred, or alternate:
    To make a style sheet persistent, set the rel attribute to "stylesheet" and don't set the title attribute."

    um ein stylesheet "persitent" (ausdauernd, beharrlich?) zu machen, solltest du also keinen title setzen.

    D.h. entspricht das Verhalten von Mozilla den Spezifikationen, so dass man immer das "title"-Attribut weglassen sollte? Bisher wird dies von den Mozilla-Menschen behauptet. Der entsprechende Fehler wurde als "ungültig" markiert

    tja, wenn nur ein stylesheet für media="print" vorhanden ist, sehe ich nicht so ganz, welchen unterschied es jetzt machen soll, ob dieses "persitent" ist oder nicht.
    es ist ein stylesheet für den druck angegeben - also sehe ich nicht, warum der mozilla dieses nicht auch nehmen sollte.

    gibt es irgendeine quelle, wo die "mozilla-menschen" die behauptung, hier im einklang mit den specs zu handeln, argumentativ belegen können?

    gruss,
    wahsaga

    1. Tach auch,

      "Specify that the style sheet is persistent, preferred, or alternate:
      To make a style sheet persistent, set the rel attribute to "stylesheet" and don't set the title attribute."

      um ein stylesheet "persitent" (ausdauernd, beharrlich?) zu machen, solltest du also keinen title setzen.

      Persistent heisst in dem Zusammenhang eher so viel wie feststehend oder unveraenderlich.

      Mozilla setzt das ja auch so um:

      Wenn Du keinen title angibst ist es "persistent": Im Menu steht dann unter Page style nur "basic". Du kannst es nicht einfach umschalten.

      Wenn Du einen title angibst ist es "preferred": Im Menu stehen dann "basic" und der angegebene Titel. Die Seite wird mit dem Stylesheet angezeigt, Du kannst aber einfach auf "basic" umschalten. (Falls Du Mozilla benutzt kannst Du das bei meiner Site sehen)

      Wenn Du einen title und "alternate" angibst ist dies "alternate": In diesem Fall muesstest Du "basic", das "prefered stylesheet" und das (oder die) "alternate stylesheet(s)" im Menu sehen. Die Seite wird mit dem "preferred" stylesheet angezeigt, Du kannst auf "basic" oder einen der anderen umschalten.

      tja, wenn nur ein stylesheet für media="print" vorhanden ist, sehe ich nicht so ganz, welchen unterschied es jetzt machen soll, ob dieses "persitent" ist oder nicht.

      Doch, ich sehe da einen Unterschied: Wenn es "persistent" ist, duerfte Mozilla nur so drucken. Wenn es hingegen "preferred" ist, kann ich als Benutzer auch ein anderes Stylesheet benutzen um die Seite auszudrucken. Vielleicht will ich ja die Seite so drucken wie sie auf dem Bildschirm ist (mit Menu usw)?

      es ist ein stylesheet für den druck angegeben - also sehe ich nicht, warum der mozilla dieses nicht auch nehmen sollte.

      Siehe oben ;-)

      Gruss,
      Armin

      --
      Location: Swindon/Wiltshire/England/UK/Europe/Northern Hemisphere/Planet Earth/Solar System/Milky Way Galaxy/Universe
      http://www.ministryofpropaganda.co.uk/
      1. hi,

        tja, wenn nur ein stylesheet für media="print" vorhanden ist, sehe ich nicht so ganz, welchen unterschied es jetzt machen soll, ob dieses "persitent" ist oder nicht.

        Doch, ich sehe da einen Unterschied: Wenn es "persistent" ist, duerfte Mozilla nur so drucken. Wenn es hingegen "preferred" ist, kann ich als Benutzer auch ein anderes Stylesheet benutzen um die Seite auszudrucken.

        ok, das ändert aber m.e. nichts daran, dass der mozilla hier trotzdem das druck-stylesheet zum drucken zu verwenden hätte, so lange der user nicht explizit ein anderes dafür ausgewählt hat . oder ...?

        gruss,
        wahsaga

      2. Hallo,
        vielen Dank für Eure Antworten. Jetzt ist mir einiges klarer geworden.

        Doch, ich sehe da einen Unterschied: Wenn es "persistent" ist, duerfte Mozilla nur so drucken. Wenn es hingegen "preferred" ist, kann ich als Benutzer auch ein anderes Stylesheet benutzen um die Seite auszudrucken. Vielleicht will ich ja die Seite so drucken wie sie auf dem Bildschirm ist (mit Menu usw)?

        Im jetzigen Zustand (bzw. wenn die Interpretation der Mozilla-Bug-Zentrale angewendet wird) kann man entweder nur ein "persistent" Druck-Stylesheet nehmen oder gar keins. Es ist nicht möglich, ein "preferred" Druck-Stylesheets zu verwenden. Dies ist aber z.B. bei Screen-Stylsheets möglich, was unlogisch ist.

        Ich glaube, das Problem entsteht, weil das Konzept in sich widersprüchlich ist.

        Wenn man z.B. ein Stylesheet A "persistent-screen" und ein Stylesheet B "preferred-print" hat und festlegt "ignoriere B", wird die Eigenschaft "screen" von A in die Eigenschaft "screen, print" verwandelt. Wenn man aber festlegt "nehme für den Ausdruck Stylesheet B", wird die Eigenschaft "preferred" von B in die Eigenschaft "persistent" verwandelt. Das ist möglicherweise so, als ob bei einem Apfel bestimmte Farb-Gewicht-Kombinationen die Farbe das Gewicht des Apfels verändert.

        Um dies zu lösen, dürfte man vielleicht die Eigenschaften "persistent", "preferred" und "alternate" nicht auf dieselben Objekte beziehen, denen auch das Attribut "media" zukommt. Dies könnte man z.B. erreichen, indem "persistent", "preferred" und "alternate" einem "Masterstylesheet" zugeordnet werden, der immer für alle Medien gilt. Dieser "Masterstylesheet" könnte dann in sich entsprechend der Medien untergliedert werden.

        Viele Grüße,
        Maike

      3. Hallo Armin,

        Wenn Du einen title angibst ist es "preferred": Im Menu stehen dann "basic" und der angegebene Titel. Die Seite wird mit dem Stylesheet angezeigt, Du kannst aber einfach auf "basic" umschalten. (Falls Du Mozilla benutzt kannst Du das bei meiner Site sehen)

        Du weisst, dass deine Seite mit Mozilla 1.4 so ausschaut?
        http://www.meta-text.net/etc/ministryofpropaganda1.gif

        Grüße
        Thomas

        1. Tach auch,

          Du weisst, dass deine Seite mit Mozilla 1.4 so ausschaut?
          http://www.meta-text.net/etc/ministryofpropaganda1.gif

          Nein, das ist mir neu. So hat sie bei mir nie ausgesehen als ich noch Mozilla 1.4 hatte und soweit ich mich entsinnen kann habe ich auch nichts wichtiges daran geaendert.

          Ich habe mit Mozilla 1.5 als auch IE6 keine Probleme feststellen koennen.

          Das sieht so aus als ob bei Dir saemtliche <li> einfach nur als lange Zeile ohne Bullet dargestellt werden und dabei aus dem uebergeordneten <div> ausbrechen.

          Eine Erklaerung habe ich dafuer nicht. Falls jemand eine hat nur her damit!

          Gruss,
          Armin

          --
          Location: Swindon/Wiltshire/England/UK/Europe/Northern Hemisphere/Planet Earth/Solar System/Milky Way Galaxy/Universe
          http://www.ministryofpropaganda.co.uk/
          1. Tach auch,

            Ich habe mit Mozilla 1.5 als auch IE6 keine Probleme feststellen koennen.

            Nachtrag: Auch Opera 7.21 hat keine Probleme damit.

            Gruss,
            Armin

            --
            Location: Swindon/Wiltshire/England/UK/Europe/Northern Hemisphere/Planet Earth/Solar System/Milky Way Galaxy/Universe
            http://www.ministryofpropaganda.co.uk/
          2. Hallo Armin,

            Das sieht so aus als ob bei Dir saemtliche <li> einfach nur als lange Zeile ohne Bullet dargestellt werden und dabei aus dem uebergeordneten <div> ausbrechen.

            Eine Erklaerung habe ich dafuer nicht. Falls jemand eine hat nur her damit!

            Ich habe eine.
            Etwas was ich schon lange vergessen habe, ich habe mal die CSS-Datei für das Forum in meine userContent.css von Mozilla hineinkopiert und darin steht:

            ol li, ul li {
             margin:0;
             white-space:nowrap;
             list-style-type:none;
            }

            Nach dem in deinem CSS nichts zu li stand, wurde diese  "Voreinstellung" übernommen. Daraufgekommen bin ich, als ich dein CSS komplet "ausgeschaltet" habe und die Seite noch immer eine Menge CSS-Formatierungen enthielt.

            Also sorry, es war nur meine Vergesslichkeit. ;-)

            Grüße
            Thomas

            1. Tach auch,

              Ich habe eine.

              Da bin ich jetzt aber beruhigt.

              Nach dem in deinem CSS nichts zu li stand, wurde diese  "Voreinstellung" übernommen. Daraufgekommen bin ich, als ich dein CSS komplet "ausgeschaltet" habe und die Seite noch immer eine Menge CSS-Formatierungen enthielt.

              Das erklaert es natuerlich. Und zeigt die Risiken der Browsermanipulation ;-)

              Also sorry, es war nur meine Vergesslichkeit. ;-)

              Kein Problem, Hauptsache das Problem ist geklaert. Und es hat ja auch ein gutes: Ich habe jetzt endlich mal die Maskierungen fuer die verschiedenen &s gemacht, ueber die sich andere beschwert hatten ;-)

              Gruss,
              Armin

              --
              Location: Swindon/Wiltshire/England/UK/Europe/Northern Hemisphere/Planet Earth/Solar System/Milky Way Galaxy/Universe
              http://www.ministryofpropaganda.co.uk/
    2. gibt es irgendeine quelle, wo die "mozilla-menschen" die behauptung, hier im einklang mit den specs zu handeln, argumentativ belegen können?

      Hallo wahsaga,
      noch gibt es sie nicht. Aber vielleicht bald, denn ich habe den Bug bei Bugzilla wieder eröffnet und vielleicht kümmern sie sich ja. Dann melde ich mich.
      Gruß, Maike