CSS-Vererbung aufheben?

  • Hallo,
    soweit ich mich nun durchgegoggelt hab, scheint es so, als ob eine komplette Aufhebung der Vererbung für einzelne Elemente nicht möglich ist.
    Ich frage aber trotzdem: Hat da jemand schon mal gekämpft?

    Zur Erklärung: (??? wird gesucht)

    "Carpe Diem" powered by positiv Feelings

  • Das ist aber ne ganze Menge. Und sicher eine der Möglichkeiten, wobei man dann noch die Standardwerte wissen müsste.

    Aber schöner wäre natürlich, wenn's ne einfache Lösung gibt, die auch noch zuverlässig funktioniert. :)

    "Carpe Diem" powered by positiv Feelings

  • @ torty, standart werde, ja da hast das problem, das der Moz andereh at wie der IE (-;

    und ich würde empfehlen die CSS classese immer wieder schon zu schliessen

  • Ähmmm... :shock: SOrry, aber ich kann den Sinn nicht herauslesen. (zu viele Tippfehler)

    "Carpe Diem" powered by positiv Feelings

  • Hi,
    ich denke das geht nicht. Innerhalb eines Tags gelten nunmal die Regeln, die Du dafür definierst.
    Spontan musste ich an eine Lösung mit 'nem iframe denken, aber ich weiss nicht, ob das für Dein Problem in Frage kommt.
    MfG
    6_freddy :)

  • Vermutlich müsste man sich eine noCSS-Klasse bauen. Da in CSS es keinen Befehl gibt, der die Vererbung aufhebt. Es ist jedoch so, dass im folgenden Bsp.

    Code
    ...
      .klasse1 { background: url(einBild.jpg) no-repeat left top; }
      .klasse2 { background: #DDAABB; }
    ...
      <div class="klasse1">
        <div class="klasse2">
          Text
        </div>
      </div>
    ...


    die Attribute background-image, background-repeat und background-position auf ihre default-Werte zurückgesetzt werden. Dies erfolgt immer dann, wenn die Kurform (background, font etc.) verwendet wird. Alle nicht explizit gesetzten Einzelattribute werden dann auf die default-Werte gesetzt.
    Als eine Lösung für mein Problem könnte also dies gelten

    Code
    ...
      .noCSS { background:; font:; margin:; padding:; border:; float:; display:; visibility:; }
    ...
      <div class="klasse1">
        <div class="noCSS">
          Text
        </div>
      </div>
    ...


    Und da fehlen sicher noch einige Kurzformen... :wink:

    So könnte es gehen - bin nur zu müde es jetzt zu testen :oops:

    "Carpe Diem" powered by positiv Feelings

  • Zitat von Torty

    Vermutlich müsste man sich eine noCSS-Klasse bauen. Da in CSS es keinen Befehl gibt, der die Vererbung aufhebt. Es ist jedoch so, dass im folgenden Bsp.

    Code
    ...
      .klasse1 { background: url(einBild.jpg) no-repeat left top; }
      .klasse2 { background: #DDAABB; }
    ...
      <div class="klasse1">
        <div class="klasse2">
          Text
        </div>
      </div>
    ...


    die Attribute background-image, background-repeat und background-position auf ihre default-Werte zurückgesetzt werden. Dies erfolgt immer dann, wenn die Kurform (background, font etc.) verwendet wird. Alle nicht explizit gesetzten Einzelattribute werden dann auf die default-Werte gesetzt.
    Als eine Lösung für mein Problem könnte also dies gelten

    Code
    ...
      .noCSS { background:; font:; margin:; padding:; border:; float:; display:; visibility:; }
    ...
      <div class="klasse1">
        <div class="noCSS">
          Text
        </div>
      </div>
    ...


    Und da fehlen sicher noch einige Kurzformen... :wink:

    So könnte es gehen - bin nur zu müde es jetzt zu testen :oops:

    Da bist Du wieder dabei nicht regelkonformes CSS zu erstellen, durch die Kurzformen der Definitionen. Eine Aufhebung der Werte wird es nicht geben. Gerade der Vorteil dieser Vererbung besteht ja darin, eben nicht jeden neuen HTML-Tag mit Definitionen zu bestimmen. Du willst aber genau zurück zum Anfang von CSS :mrgreen:

  • Zitat von [sG|W00tkaeppi

    ]Du willst aber genau zurück zum Anfang von CSS


    Nein. Ich habe nur eine recht komplexe Seite, in der der User die Möglichkeit bekommen soll eigene Inhalte einzupflegen. Hier wäre es von Vorteil, wenn er in einem Bereich schreiben könnte, der in keinster Weise formatiert ist.

    Das hat nix mit Rückschritt zu tun.

    "Carpe Diem" powered by positiv Feelings

  • Zitat von Torty


    Nein. Ich habe nur eine recht komplexe Seite, in der der User die Möglichkeit bekommen soll eigene Inhalte einzupflegen. Hier wäre es von Vorteil, wenn er in einem Bereich schreiben könnte, der in keinster Weise formatiert ist.

    Das hat nix mit Rückschritt zu tun.

    ... wenn Du aus der Vererbung, die eigentlich ein Vorteil mitbringen sollte, heraus willst in einen 'unformatierten' Bereich, so ist das eine Darstellungsmöglichkeit von den Anfängen mit CSS - darauf bezog sich mein dargelegter 'Rückschritt'.

  • Zitat von [sG|W00tkaeppi

    ]... wenn Du aus der Vererbung, die eigentlich ein Vorteil mitbringen sollte, heraus willst in einen 'unformatierten' Bereich, so ist das eine Darstellungsmöglichkeit von den Anfängen mit CSS - darauf bezog sich mein dargelegter 'Rückschritt'.


    Ich weiß 2 Dinge nicht:
    1) der Zusammenhang mit "von den Anfängen mit CSS" erschließt sich mir nicht
    2) warum es so unbegreiflich ist, gerade den User-Contentbereich frei von Formatierungen zu halten.

    Das soll sozusagen eine "jungfräuliche" Fläche sein, in der völlig unabhängige Formatierungen vergeben werden können. An dieser Stelle soll es keine(!) Vererbung geben. Und wenn das CSS auf Vererbung beruht, so ist dies wahr und sicher von Vorteil, jedoch stell ich dies mit meinem Gesuch auch nicht in Frage.

    Mit anderen Worten: mir sind die Vorteile von CSS wohl bewusst, und doch suche ich hier die oben beschriebene Möglichkeit.

    "Carpe Diem" powered by positiv Feelings