kerschi: Problem mit der Klassenangabe

Moin,

Folgendes:
<td class="menue2"><p>
<a href="index.htm" class="menue1">startseite</a><br>
<a href="news.htm" class="menue1">neuigkeiten</a><br>
<a href="links.htm" class="menue1">links</a><br>
<a href="gallery.htm" class="menue1">gallerie</a><br>
<a href="forum.htm" class="menue1">forum</a><br>
<a href="guestbook.htm" class="menue1">gästebuch</a><br>
<a href="contact.htm" class="menue1">kontakt</a></p>
</td>
So ungefähr sieht der Quelltext aus.
Ich gebe für die spalte eine klasse an (class=menue2). Ich will aber für manche Textteile eine andere Klasse (class=menue1). Das wird irgendwie ignoriert und es wird ncht auf die klasse innerhalb des links geachtet, nur auf die klasse der ganzen spalte.

Was mach ich falsch ?

Vielen Dank
mfg
kerschi

  1. Hallo kerschi,

    Ich gebe für die spalte eine klasse an (class=menue2). Ich will aber für manche Textteile eine andere Klasse (class=menue1).

    für manche? für alle! ;-)

    Das wird irgendwie ignoriert und es wird ncht auf die klasse innerhalb des links geachtet, nur auf die klasse der ganzen spalte.

    und wie sieht dein css dazu aus? was sagt http://jigsaw.w3.org/css-validator/ zu deinem css? hast du vielleicht einen Link, unter dem man sich das anschauen kann?

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Hm der Validator hatte noch nie was dagegen ;-) !
      Der Link is schon bei meiner Antwort auf die andere Antwort !

      Danke !

      mfg
      kerschi

  2. Hallo kerschi,

    Ich gebe für die spalte eine klasse an (class=menue2). Ich will aber für
    manche Textteile eine andere Klasse (class=menue1). Das wird irgendwie
    ignoriert und es wird ncht auf die klasse innerhalb des links geachtet, nur
    auf die klasse der ganzen spalte.
    Was mach ich falsch ?

    Daß Du nur den HTML-Quelltext angibst, nicht Deine CSS-Formatierungen.
    Denn beim Inspizieren des Fitzelchen HTML-Quelltextes kann ich keinen
    Fehler feststellen.

    Idealerweise wäre es, wenn Du die ganze Seite kurz online stellen könntest.

    Nebenbei: Für eine Auflistung von Links in einem Menü, denn das ist es
    anscheinend, würde ich das HTML-Element Liste nehmen, nicht durch
    Zeilenumbrüche in einen Absatz eingeschlossene Links.

    Nochmal nebenbei: Dein Quelltext ist für mich etwas aufgebläht. Ich
    hätte nicht allen Links diese Klasse verliehen, sondern dem die
    Links einschließenden Element (hier: p) und die Links dann über
    einen verschachtelten Selektor angesprochen. Aber da weiß ich nicht,
    wie das mit dem Rest Deiner Seitenstruktur koexistieren würde, da
    Du uns ja nur ein Schnippelchen gegönnt hast. :-)

    • Tim
    --
    #964
    1. Hi,

      http://pun.kerschbaumer.bei.t-online.de/tkneu

      Ich geb dir recht, dass mein Quelltext wahrscheinlich viel zu aufgebläht und umständlich ist, aber ich habe mein bestes gegeben (zumindest versucht hab ichs)! immer maln bisschen was nachschaun etc..... ;-)

      Aber nun könnt ihr euch das mal anschaun, da der Link ja jetzt da ist !

      Danke vielmals !

      mfg
      kerschi

      ps: dauert vielleicvht nochn bisschen bis t-onlibne den webspace aktualisiert!

      1. Hab den Link der css Datei vergessen :http://pun.kerschbaumer.bei.t-online.de/tkneu/css.css

      2. Hallo Tobias(?),

        http://pun.kerschbaumer.bei.t-online.de/tkneu

        </faq/#Q-19>

        Aber nun könnt ihr euch das mal anschaun, da der Link ja jetzt da ist !

        bist du sicher, dass du class="menue2" im Code stehen hast? ich sehe da nämlich nichts... (wenn du statt ".menue2" einfach ".menue1 a" o.ä. schreibst, sollte es auch funktionieren)

        ps: dauert vielleicvht nochn bisschen bis t-onlibne den webspace aktualisiert!

        ich habe die Datei kurz vor dem Absenden des Postings das letzte mal angeschaut...

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. Hi,

          ne das mit dem menue 2 und so hab ich jetzt rausgelassen, aber ich hätte gerne , dass immer ein Link in dem rechten menue eine andere farbe hat, das hätte ich dann als css-menue2 bezeichnet und die normale schwarze art als menue1.

          Blos das hat irgendwie nich so ganz geklappt !

          Danke
          kerschi

      3. Hallo kerschi,

        Aber nun könnt ihr euch das mal anschaun, da der Link ja jetzt da ist !

        Gemacht. Ich vermute, Du willst die Links im Menü anders haben, als die
        Links im Rest des Dokumentes, ja? Ich vermute es liegt daran, daß Du
        generell Linkfarben definiert hast.

        Erklärung:

        Du hast folgende verschachtelte Struktur in Deinem Dokument:

        <td class="menue1">
            <p>
              <a href="">...
              <br>
              <a href="">...
              ...

        Also drei Stufen von Verschachtelung, jede einzelne Verschachtelung habe
        ich hier mal mit zwei Leerzeichen gekennzeichnet.

        Dazu hast Du folgende CSS-Regeln (ich konzentriere mich mal auf das
        wesentliche):

        (1) a         {...}
          (2) a:link    {...}
          (3) a:visited {...}
          (4) a:hover   {...}
          (5) .menue    {...}

        Was passiert nun, wenn der Browser das Dokument durchläuft und die
        CSS-Regeln anwendet? Machen wir das mal nach.

        <td class="menue1">    (Wende CSS-Regel (5) an)
            <p>                  (Erbe die Eigenschaften von (5))
              <a href="">...     (Wende die CSS-Regeln (1) bis (4) an)
              <br>
              <a href="">...     (Wende die CSS-Regeln (1) bis (4) an)
              ...

        Das Auszeichnen von der Tabellenzelle (Übrigens brauchst Du das
        Absatzelement eigentlich garnicht) mit der Klasse "menue1" hast
        Du wahrscheinlich meinem Vorschlag zu verdanken. Mist.

        Wie löst Du jetzt das Dilemma? Du willst folgendes sagen:
        »Gib den Links innerhalb des Elementes mit der Klasse "menue1" andere
        Eigenschaften, als den generell definierten Links.«

        Dafür gibt es in CSS verschachtelte Selektoren, die dann ungefähr so
        aussehen...

        .menue1 a:link    {...}
          .menue1 a:visited {...}

        ... und die nur auf a-Elemente wirken, die sich innerhalb von "menue1"
        befinden. Im CSS-Dokument solltest Du diese allerdings nach (!) der
        Deklaration der allgemeinen Link-Selektoren (a, a:link) definieren, weil
        sie sonst wieder überschrieben werden.

        Hmm. Oder meinst Du doch wieder etwas anderes?

        • Tim
        --
        #967
        1. Danke erstmal für deinen tollen Beitrag.

          Ich denke, dass ich das ganze jetzt einigermaßen durchblickt hab und auch verstanden war, dass das andere irgendwie sinnfrei war.
          Ich werd das dann mal so machen wie du gemeint hast ! praktisch für die links im menue1 eigen definieren und das nach der allgemeinen definition.

          Gibt es eigentlich auch einen Befehl dafür, dass derjenige Link, auf dem man sich befindet (z.b. hauptseite oder kontakt) solange man sich auf der entsprechenden seite aufhält in einer anderen farbe erscheint, aber nach verlassen wieder normal angezeitgt wird ?
          Ich hoffe man hat es wenigstens einigermaßen verstehen können!
          Also ich mein : wenn ich mich auf der eingangsseite befinde soll das "startseite" im menue z.b. rot sein , ohne dass ich es anklicke, also nicht a:visited ?! Oder muss ich bei dem ganzen einfach auf jeder seite den entsprechenden Link einfärben ?

          Mfg
          kerschi

          ps: Gute Nacht lol

          1. Hallo kerschi,

            Gibt es eigentlich auch einen Befehl dafür, dass derjenige Link, auf dem man
            sich befindet (z.b. hauptseite oder kontakt) solange man sich auf der
            entsprechenden seite aufhält in einer anderen farbe erscheint, aber nach
            verlassen wieder normal angezeitgt wird ?

            Nein. Auf der öffentlichen Mailingliste der CSS-Entwicklergruppe wurde
            das zwar mehrmals als Pseudoklasse vorgeschlagen, hat es bislang aber
            in keinen CSS-Standard, auch nicht in den kommenden, CSS 3, geschafft.

            Die einzige Möglichkeit ist, es, jede Seite anders zu gestalten,
            beispielsweise eine Klasse .hierbinich zu gestalten und dann auf
            der jeweiligen Seite, den jeweiligen Link damit zu gestalten.

            Was es geben wird in CSS 3 ist ein Pseudoklasse namens :target, die auf
            die Elemente zutrifft, die ein Attribut id="blub" haben, daß vorher
            mittels der URL example.com/bla#blub, also als Anker angesprungen
            wurde. Ich bin mir nicht sicher, aber moderne Browser integrieren dies
            schon teilweise; ich glaube ein aktueller Mozilla beherrscht diese
            Pseudo-klasse schon.

            • Tim
            --
            #969
            1. Hi,

              naja, wenn das so ist, werd ich wohl auf jeder seite denjenigen link andrs gestalten (mit einer klasse), den es wäre mir schon recht, wenn es mit allen browsern gehen würde.

              Danke
              mfg
              kerschi

              Nochwas: Ich finde es total nett und super, dass es hier Leute gibt, die Fragen, die für sie vermeindlich leicht sind, so gut beantworten´und damit leuten helfen, die sich (noch) nicht so gut auskennen! Danke !

        2. Hallo,

          meine css Datei hat jetzt ungefähr folgende Struktur:

          1. Definition für allgemeine Links
          2. Dann folgt .menue1 (menue1 formatiert mein Menue auf der rechten
             Seite und nutzt die Definition für algemeine Links)
          3. Jetzt kommt .menue2 (menue2 soll einen Link des Menues
             [z.b. "Startseite"] formatieren.
          4. nach .menue2 folgt etwa dies:
             .menue2 a:link {
             color : #B55E54;
             text-decoration : none;
             }
             .menue2 a:visited {
             color : #B55E54;
             text-decoration : none;
             }
             .menue2 a:hover {
             text-decoration : underline;
             }
             Praktisch werden nun die Links neu definiert (innerhalb
             von .menue2).

          Nun kommt wieder meine Konstruktion im Html Dokument:

          <td class="menue1">
            <p>
              <a href="" class="menue2">...<br>
              <a href="">...
              ...
            </p>
          </td>

          Nun passiert doch folgendes:
          Der Browser formatiert die Spalte mit der Klasse .menue1.
          Nun kommt er zu dem ersten Link, der aber anders definiert ist (class="menue2"). Jetzt müsste er doch den Link so gestalten wie ich es in Punkt 4 in meiner css Datei habe.Und die restlichen Links kann er dann wieder in der allgemeinen Definition gestalten.

          Habe ich hier irgendwo einen logischen Fehler, oder warum funktioniert das nich ?

          Danke schonmal !

          Gruß
          Kerschi

          ps: das Ganze ist noch nich hochgeladen, d.h. auf meinem webspace lagern nur die alten Dateien.

          1. Hallo Kerschi,

            .menue2 a:link {                            (1)
               color : #B55E54;
               text-decoration : none;
            [...]

            <td class="menue1">
              <p>
                <a href="" class="menue2">...<br>          (2)
                <a href="">...
                ...
              </p>
            </td>
            Habe ich hier irgendwo einen logischen Fehler, oder warum funktioniert das nich ?

            Die von mir mit (1) markierte Zeile bedeutet: "Formatiere alle Links innerhalb der Elemente der Klasse menue2 wie folgt...". Das einzige Element dieser Klasse ist aber der Link in der mit (2) markierten Zeile, der natürlich keine Links enthält, die so formatiert werden könnten.
            Eine Möglichkeit, das jetzt mit dem CSS zu machen das Du schon hast (es gibt sicherlich andere Lösungen), wäre:
            <td class="menue1">
                <p class="menue2">                         (3)
                    <a href="">...
                </p>
                <a href="">...
                ...
            </td>

            (3) Alle Links innerhalb dieses Absatzes bekommen die entsprechenden Eigenschaften, die Links ausserhalb bekommen die allgemein definierten Linkeigenschaften.

            Grüße
            Andreas

            --
            Hier könnte Ihre Werbung stehen.
            1. Danke erstmal !
              Hm das hab ich auch versucht ja.
              Funktioniert soweit auch ganz gut,blos dass ich dann so einen großen absatz habe.

              MFG
              kerschi

              1. Hallo kerschi,

                Funktioniert soweit auch ganz gut,blos dass ich dann so einen großen absatz habe.

                Den kannst Du ja mit CSS wegformatieren.

                Grüße
                Andreas

                --
                Hier könnte Ihre Werbung stehen.
                1. Den kannst Du ja mit CSS wegformatieren.

                  Stimmt eigentlich - hab nich dran gedacht !

                  Is aber umständlich lol !

                  Danke
                  Gruß kerschi

                  1. Hallo kerschi,

                    Is aber umständlich lol !

                    In dem Fall ja. Mein ursprünglicher Vorschlag war aber auch nicht die beste Lösung, sondern das was mir spontan eingefallen ist. Da kann sicher noch was optimiert werden.

                    Grüße
                    Andreas

                    --
                    Hier könnte Ihre Werbung stehen.
                    1. Jetzt hab ich noch ein 2tes Problem:

                      Meine Tabelle hat die Eigenschaft: cellpadding="0" cellspacing="0"
                      Nun will ich das mit css ausdrücken !
                      Was sind denn da die entsprechenden Befehle ?

                      Kann mir da wer helfen?

                      Wäre toll !

                      Danke
                      mfg
                      kerschi

                      1. Hallo.

                        Meine Tabelle hat die Eigenschaft: cellpadding="0" cellspacing="0"
                        Nun will ich das mit css ausdrücken !
                        Was sind denn da die entsprechenden Befehle ?

                        Der Befehl lautet: [http://selfhtml.teamone.de/css/eigenschaften/tabellen.htm] lesen! ;-)
                        MfG, at

                        1. ich fibnd das irgendwie nicht .....
                          wenn ich meine tabelle dann mit css formatiere, wird sie völlig enstellt ;-)

                          Hilfe ?!?!?!?!?

                          MFg
                          kerschi

                          1. Hallo.

                            ich fibnd das irgendwie nicht .....

                            Das wird schon :-)

                            wenn ich meine tabelle dann mit css formatiere, wird sie völlig enstellt ;-)

                            Was geschieht, wenn du was schreibst? Was hast du schon alles ausprobiert?

                            Hilfe ?!?!?!?!?

                            Konkrete Hilfe gibt es leider nur bei konkreten Problemen. Der Ball liegt also wider bei dir ;-)
                            MfG, at

                            1. Das Problem ist, meine Tabelle hat die Eigenschaften cellpadding=0 und cellspacing=0, blos leider weiß ich nicht was dem in css entspricht....bzw. gibt es überhaupt befehle, die dem genau entsprechen oder muss ich das irgendwie umgehen ?
                              Das passende hab ich leider auch nicht in selfHTML gefunden, habs zwar mit einigen versucht, z.b. padding:0px; aber das half nix....

                              MFg
                              kerschi

                              1. Hallo.

                                Das Problem ist, meine Tabelle hat die Eigenschaften cellpadding=0 und cellspacing=0, blos leider weiß ich nicht was dem in css entspricht....bzw. gibt es überhaupt befehle, die dem genau entsprechen oder muss ich das irgendwie umgehen ?

                                Gibst du die Attribute "cellpadding" und "cellspacing" nur aus Tradition an oder weißt du, was sie bewirken?

                                Das passende hab ich leider auch nicht in selfHTML gefunden, habs zwar mit einigen versucht, z.b. padding:0px; aber das half nix....

                                Aber "border-collapse" und "border-spacing" sind dir ein Begriff?
                                Sieh dir vielleicht http://selfhtml.teamone.de/css/eigenschaften/tabellen.htm noch einmal etwas genauer an.
                                MfG, at

                                1. Gibst du die Attribute "cellpadding" und "cellspacing" nur aus Tradition an oder weißt du, was sie bewirken?
                                  Hm das hat mit dem Abstand des Inhaltes zu tun und das andere mit den zellenrahmen oder ?!

                                  Aber "border-collapse" und "border-spacing" sind dir ein Begriff?

                                  Hab ich in meiner cs datei auch schon drin gehabt hat aber nix geändert !

                                  1. Hallo.

                                    Aber "border-collapse" und "border-spacing" sind dir ein Begriff?
                                    Hab ich in meiner cs datei auch schon drin gehabt hat aber nix geändert !

                                    Dann wurde die Seite vielleicht aus dem Cache geladen, denn genau für diese Funktion sind diese Attribute gedacht -- wie du auch einigen anderen Threads innerhalb des Forums oder Archivs entnehmen kannst.
                                    Stelle doch vielleicht einmal einige Versuche online, denn vielleicht validiert deine ja gar nicht und der Browser verschluckt sich daran.
                                    MfG, at

                                    1. Moin,

                                      also ich habe nun das ganze mal etwas zusammengefasst und mit allen ergebnissen und Dateien hochgeladen.
                                      Siehe Link

                                      Mfg
                                      kerschi

                                      1. Hallo.

                                        Siehe Link

                                        Habe ich mir angesehen. Hast du einmal die Angabe von "border-width" in Beracht gezogen?
                                        MfG, at

                                        1. hi,

                                          Hast du einmal die Angabe von "border-width" in Beracht gezogen?

                                          Habe ich ausprobiertja, aber das hilft auch nichts !

                                          MFG
                                          kerschi