bari: links mit attributen formatieren

Guten Abend,

Ich habe ein Problem zum Thema Attributselektor.

ich möchte in meiner web site Attribute formatieren. Das gelingt mir jedoch nicht so, wie ich es erwarte.

der stylesheet-Ausschnitt ist hier.

Kann ich Attribute im Prinzip mit mehreren Elementen (klassen und id's) kombinieren, so wie ich es getan habe?

Wenn ja, warum reagieren meine Links nur auf Farbe und Schrift (das habe ich ausprobiert), aber nicht auf den Befehl text-decoration: none; ?

Der Sinn dahinter ist, dass ich wenn möglich die internen Links (... [href^="../Hans_Bilder-originale/" ) mit gelb und die externen Links (... [href^="http://" ) mit rosa formatieren.

Wenn nötig, gebe ich gerne weitere Einzelheiten bekannt.

Vielen Dank erstmal,

bari.

  1. Om nah hoo pez nyeetz, bari!

    der stylesheet-Ausschnitt ist hier.

    Du darfst keine Leerzeichen innerhalb des Selektors lassen, denn er hat die Bedeutung eines Nachfahrenselektors. Pseudoklassen gehören ans Ende des Selektors. also a.class[attr]:hover statt a:hover.class[attr]

    Matthias

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Garn und Garnison.

    1. Om nah hoo pez nyeetz, Matthias Apsel!

      Du darfst keine Leerzeichen innerhalb des Selektors lassen, denn er hat die Bedeutung eines Nachfahrenselektors. Pseudoklassen gehören ans Ende des Selektors. also a.class[attr]:hover statt a:hover.class[attr]

      Ergänzung: wobei letzteres nur guter Stil ist ...

      Matthias

      --
      Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Frau und fraunhofersche Linien.

      1. Hallo Matthias,

        Du darfst keine Leerzeichen innerhalb des Selektors lassen, denn er hat die Bedeutung eines Nachfahrenselektors. Pseudoklassen gehören ans Ende des Selektors. also a.class[attr]:hover statt a:hover.class[attr]

        Ergänzung: wobei letzteres nur guter Stil ist ...

        alles klar, hätte ich nur schon früher geschrieben. Kleine Ursache grosser Effekt. Am Anfang hatte ich es wohl so, denn einmal hat es funktioniert, dann wollte ich css-Kosmetik betreiben...

        Vielleicht könnte man im selfhtml-wiki bei css-selektoren/attributselektor/teilübereinstimmung unten nach der ersten Bemerkung (Beachten Sie: Geben Sie...) noch eine zweite machen: man darf keine Leerzeichen innerhalb des ganzen Selektors machen... o.ä.

        aber wenn's nur für mich wäre, so ist es jetzt nicht mehr nötig;-)

        danke und Gruss

        bari.

        1. Hi,

          Vielleicht könnte man im selfhtml-wiki bei css-selektoren/attributselektor/teilübereinstimmung unten nach der ersten Bemerkung (Beachten Sie: Geben Sie...) noch eine zweite machen: man darf keine Leerzeichen innerhalb des ganzen Selektors machen... o.ä.

          Nö. Das Leerzeichen hat ja eine Bedeutung. Es ist der Nachfahrenselektor.

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          O o ostern ...
          Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
          1. Hallo Andreas,

            Vielleicht könnte man im selfhtml-wiki bei css-selektoren/attributselektor/teilübereinstimmung unten nach der ersten Bemerkung (Beachten Sie: Geben Sie...) noch eine zweite machen: man darf keine Leerzeichen innerhalb des ganzen Selektors machen... o.ä.

            Nö. Das Leerzeichen hat ja eine Bedeutung. Es ist der Nachfahrenselektor.

            ist aber nicht in jedem Fall praesent.

            aber, was erwartete mam denn mit dem code [attribut*=""] als Resultat, wenn die Bemerkung dort nicht stuende  ?

            1. Om nah hoo pez nyeetz, bari!

              aber, was erwartete mam denn mit dem code [attribut*=""] als Resultat, wenn die Bemerkung dort nicht stuende  ?

              [attribut*=""] selektiert alle Elemente, die ein Attribut mit dem Namen "attribut" besitzen, deren Wert die leere Zeichenkette enthält. Da jede Zeichenkette die leere Zeichenkette enthält, dürfte es identisch sein zu [attribut]. Das sind aber imho theoretische Haarspaltereien ohne praktischen Wert. Probier es aus, wenn du es wissen möchtest.

              Matthias

              --
              Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Klo und Kloster.

              1. Hallo Matthias,

                [attribut*=""] selektiert alle Elemente, die ein Attribut mit dem Namen "attribut" besitzen, deren Wert die leere Zeichenkette enthält. Da jede Zeichenkette die leere Zeichenkette enthält, dürfte es identisch sein zu [attribut]. Das sind aber imho theoretische Haarspaltereien ohne praktischen Wert. Probier es aus, wenn du es wissen möchtest.

                ...sind nicht mehr noetig, da ich jetzt elegant mit ein paar wenigen Klicks die Attribut-Formatierung steuern kann.

                schoenen Abend,
                bari.

              2. مرحبا

                Das sind aber imho theoretische Haarspaltereien ohne praktischen Wert. Probier es aus, wenn du es wissen möchtest.

                Ja, ich möchte.

                mfg

                --
                 .
                ..:
                1. Om nah hoo pez nyeetz, Malcolm Beck´s!

                  Ja, ich möchte.

                  [attribut=""] != [attribut*=""]

                  Matthias

                  --
                  Der Unterschied zwischen Java und JavaScript ist größer als der zwischen mol und Moloch.

              3. @@Matthias Apsel:

                nuqneH

                [attribut*=""] selektiert alle Elemente, die ein Attribut mit dem Namen "attribut" besitzen, deren Wert die leere Zeichenkette enthält. Da jede Zeichenkette die leere Zeichenkette enthält, dürfte es identisch sein zu [attribut]. […] Probier es aus, wenn du es wissen möchtest.

                „2 Stunden ausprobieren können Ihnen 10 Minuten Handbuchlesen sparen.“ [Linda]

                Im Handbuch [CSS3SEL] steht dann unter §6.3.2: „If "val" is the empty string then the selector does not represent anything.“

                Qapla'

                --
                „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
                1. Om nah hoo pez nyeetz, Gunnar Bittersmann!

                  „2 Stunden ausprobieren können Ihnen 10 Minuten Handbuchlesen sparen.“ [Linda]

                  Im Handbuch [CSS3SEL] steht dann unter §6.3.2: „If "val" is the empty string then the selector does not represent anything.“

                  Ja, aber ausprobieren ist auch nicht wirklich schlimm.

                  Erzähl es mir und ich werde es vergessen.
                  Zeige es mir und ich werde mich erinnern.
                  Lass es mich tun und ich werde es verstehen.

                  Matthias

                  --
                  Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Boot und Bootes.

                  1. @@Matthias Apsel:

                    nuqneH

                    Ja, aber ausprobieren ist auch nicht wirklich schlimm.

                    Ja, hätteste mal! ;-)

                    Qapla'

                    --
                    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
                    1. Om nah hoo pez nyeetz, Gunnar Bittersmann!

                      Ja, hätteste mal! ;-)

                      Aber meine Begründung war auch nicht schlecht ;-)

                      Matthias

                      --
                      Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Ball und Ballast.

                      1. @@Matthias Apsel:

                        nuqneH

                        Aber meine Begründung war auch nicht schlecht ;-)

                        Deine?

                        Qapla'

                        --
                        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
                        1. Om nah hoo pez nyeetz, Gunnar Bittersmann!

                          Aber meine Begründung war auch nicht schlecht ;-)

                          Deine?

                          nicht die, sondern die mit der leeren Zeichenkette. Die Herleitung finde ich nach wie vor schlüssig. Dass sich das W3C anders entschieden hat, hat sicherlich Gründe.

                          [foo*=""] als [foo] zu interpretieren ergäbe nicht weniger Sinn.

                          Der Selektor wird ja immer allgemeiner.
                          [foo*="bar"]
                          [foo*="ba"]
                          [foo*="b"]
                          [foo*=""]

                          Matthias

                          --
                          Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Tau und Taucher.

                          1. Hallo Matthias,

                            nicht die, sondern die mit der leeren Zeichenkette. Die Herleitung finde ich nach wie vor schlüssig. Dass sich das W3C anders entschieden hat, hat sicherlich Gründe.

                            [foo*=""] als [foo] zu interpretieren ergäbe nicht weniger Sinn.

                            Der Selektor wird ja immer allgemeiner.
                            [foo*="bar"]
                            [foo*="ba"]
                            [foo*="b"]
                            [foo*=""]

                            Muss ja noch meinen Senf dazugeben, wenn ich schon "anselektiert" werde...

                            ausser, dass der letzte Selektor (von vorher "immer allgemeiner werdend") nicht noch allgemeiner wird, sondern zum "gar nichts (mehr)" mutiert. Hab das eben ausprobiert.

                            Interessant, dass schon ein Zeichen reicht ([href^="h", href^="."], um die Selektion von href's zu definieren (ich nehme an, das gelte auch fuer *)

                            Schoenen Tag
                            bari.

                            1. Om nah hoo pez nyeetz, bari!

                              Interessant, dass schon ein Zeichen reicht ([href^="h", href^="."], um die Selektion von href's zu definieren (ich nehme an, das gelte auch fuer *)

                              dann reicht auch [href].

                              Matthias

                              --
                              Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Hund und Hundertwasser.

                              1. Interessant, dass schon ein Zeichen reicht ([href^="h", href^="."], um die Selektion von href's zu definieren (ich nehme an, das gelte auch fuer *)

                                dann reicht auch [href].

                                ja, stimmt.

                                Das mit den Attributen erleichtert die Formatierung sehr und ersetzt das mühsame Aneinaderketten von Klassen und Element, was immer wieder angepasst werden muss, wenn eine Klasse geändert wird.

                                Vielen Dank,
                                bari.