vererbten background Style nicht anzeigen...
uliII
- css
Hi,
Wie kann man korrekt einen geerbten background Style "nicht anzeigen"?
transparent und none funktionieren nicht.
Der Hintergrund darf nicht angezeigt werden.
Hi,
Wie kann man korrekt einen geerbten background Style "nicht anzeigen"?
transparent und none funktionieren nicht.
Definiere „funktionieren nicht”.
Der Hintergrund darf nicht angezeigt werden.
Mit transparent bzw. none bekommt das Element, welches du damit formatierst, einen durchsichtigen bzw. keinen Hintergrund.
Wenn du etwas anderes willst/meinst - dann beschreibe bitte verständlich, was.
MfG ChrisB
Om nah hoo pez nyeetz,
Mit transparent bzw. none bekommt das Element, welches du damit formatierst, einen durchsichtigen bzw. keinen Hintergrund.
das bedeutet wohl, dass man den Hintergrund des darunterliegenden sieht. Deshalb solltest du dem Element einen anderen Hintergrund (vielleicht weiß) geben.
Matthias
Mit transparent bzw. none bekommt das Element, welches du damit formatierst, einen durchsichtigen bzw. keinen Hintergrund.
Wenn du etwas anderes willst/meinst - dann beschreibe bitte verständlich, was.
MfG ChrisB
Hallo,
Erstmal Danke.
div A hat einen blauen Background. div B erbt diesen Style von A, soll aber keinen Hintergrund anzeigen, sondern das Element zeigen welches unter A liegt.
Lösung wäre natürlich div B ausserhalb von div A zu platzieren, - genau das möchte ich aber nicht.
Hi,
bitte sinnvoll zitieren, nicht einfach komplettes Vorposting übernehmen.
div A hat einen blauen Background. div B erbt diesen Style von A,
Nein, das tut es nicht.
Dir ist offenbar nicht klar, was Vererbung im Sinne von CSS überhaupt bedeutet.
soll aber keinen Hintergrund anzeigen, sondern das Element zeigen welches unter A liegt.
Lege ein Blatt Papier auf den Boden.
Lege jetzt einen Ring oder ähnliches auf das Blatt Papier.
Siehst du jetzt innerhalb des Rings den Boden - oder das Papier?
Lösung wäre natürlich div B ausserhalb von div A zu platzieren, - genau das möchte ich aber nicht.
Dann bleibt dir nur, B einen Hintergrund zu geben, der genau dem entspricht, was *hinter* A an der Stelle zu sehen ist, wo B liegt.
MfG ChrisB
Om nah hoo pez nyeetz,
div A hat einen blauen Background. div B erbt diesen Style von A,
Nein, das tut es nicht.
es sei denn es sind wirklich ganz normale divs ohne class oder id und im css steht div {foo:bar;}
Matthias
Hi,
div A hat einen blauen Background. div B erbt diesen Style von A,
Nein, das tut es nicht.
es sei denn es sind wirklich ganz normale divs ohne class oder id und im css steht div {foo:bar;}
Auch dann hat keine Vererbung stattgefunden.
MfG ChrisB
Om nah hoo pez nyeetz,
es sei denn es sind wirklich ganz normale divs ohne class oder id und im css steht div {foo:bar;}
Auch dann hat keine Vererbung stattgefunden.
Stimmt, aber dann haben sie dieselben Eigenschaften.
Folgende Situation:
div {background-color: red;}
#kasten {border: 1px solid green;}
<div id="kasten">...</div>
Dieser Kasten wird rot mit grünem Rand sein und Firebug schreibt dann auch "geerbt von Div" und das ist eine Vererbung von Eigenschaften.
Matthias
Hi,
Folgende Situation:
div {background-color: red;}
#kasten {border: 1px solid green;}
>
>
> `<div id="kasten">...</div>`{:.language-html}
>
> Dieser Kasten wird rot mit grünem Rand sein und Firebug schreibt dann auch "geerbt von Div" und das ist eine Vererbung von Eigenschaften.
Nein, ist es nicht.
Die rote Hintergrundfarbe hat das Element hier von der Regel mit dem Elementselektor div, seinen Rahmen hat es von der Regel mit dem ID-Selektor #kasten.
Beides sind Regeln, die das Element selektieren.
Das ist aber trotzdem keine Vererbung im Sinne von CSS, auch wenn Firebug das vielleicht fälschlicherweise so nennen mag.
MfG ChrisB
--
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
Das ist aber trotzdem keine Vererbung im Sinne von CSS, auch wenn Firebug das vielleicht fälschlicherweise so nennen mag.
in der Tat unglücklich.
Das "Vererben" bezieht sich bei Firebug ja nicht auf eine Eigenschaft, sondern auf den Selektor.
Wäre besser, wenn FB hier von "importiert", "angewendet" oder "selektiert aus..." sprechen würde. Nur das letzte ist zutreffend, denn eine selektierte Regel kann eben mangels Gewicht, verworfen (im FB durchgestrichen) werden.
mfg Beat
Hi,
div {background-color: red;}
#kasten {border: 1px solid green;}
>
>
> `<div id="kasten">...</div>`{:.language-html}
>
> Dieser Kasten wird rot mit grünem Rand sein und Firebug schreibt dann auch "geerbt von Div" und das ist eine Vererbung von Eigenschaften.
Mal ein Beispiel, das klar machen sollte, was Vererbung in CSS bedeutet:
~~~html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Was bedeutet Vererbung in CSS?</title>
<style type="text/css">
body { color:#000; background-color:#fff; }
p { color:#f00; background-color:#ccc; padding:.25em; white-space:pre; }
span { border:1px solid #000; position:relative; cursor:pointer; }
</style>
</head>
<body>
<div>Text in BODY ist schwarz,
<p>aber Text in diesem Absatz wird rot auf grauem Hintergrund dargestellt.
Um zu sehen, wer hier was erbt, klicke man auf <span onclick="this.style.top='3em'; this.style.cursor='auto'; this.onclick=null;">den Text in diesem SPAN-Element.</span></p>
</div>
</body>
</html>
http://chrisb.bplaced.net/test/vererbung.htm
So, welche der beiden Eigenschaften color und background-color wird hier also vom P-Element auf das SPAN-Element vererbt?
(Anmerkung: Das SPAN-Element wird beim Klick darauf per relativer Positionierung ein Stückchen nach unten verschoben. Damit wird es nicht mehr über der Fläche angezeigt, die das P-Element einnimmt. Im DOM ist es aber natürlich nach wie vor ein Nachfahre des P-Elements.)
Deckt sich deine Beobachtung mit der Inherited-Angabe bzgl. der jeweligen Eigenschaft in der Spezifikation?
MfG ChrisB
Om nah hoo pez nyeetz,
Mal ein Beispiel, das klar machen sollte, was Vererbung in CSS bedeutet:
Hätte ich so nicht erwartet. Gibt es auch einen Grund, warum das so ist?
Matthias
Hi,
Mal ein Beispiel, das klar machen sollte, was Vererbung in CSS bedeutet:
Hätte ich so nicht erwartet. Gibt es auch einen Grund, warum das so ist?
Weil es genau so definiert ist.
MfG ChrisB
Om nah hoo pez nyeetz,
Weil es genau so definiert ist.
Wenn man mal ein wenig nachdenkt, leuchtet einem auch die Sinnhaftigkeit der Definition ein: z.B. legt man im body fest, welche Schriftart usw. man verwenden möchte und erwartet, dass es an alle weiteren Objekte vererbt wird und von einem Hintergrundbild erwartet man das eher nicht.
Matthias
Dann bleibt dir nur, B einen Hintergrund zu geben, der genau dem entspricht, was *hinter* A an der Stelle zu sehen ist, wo B liegt.
MfG ChrisB
»»
Wenn es doch keine andere Lösung gibt, - schade :-)
Danke nochmal. Mein Beispiel war natürlich vereinfacht, B erbt halt doch von A.
Hi,
Mein Beispiel war natürlich vereinfacht, B erbt halt doch von A.
Nein, tut es nicht.
Mach dir bitte endlich klar, was Vererbung bedeutet.
MfG ChrisB
Hi,
B erbt halt doch von A.
schau mal aus Deinem Fenster - ich meine das Ding, dass sich in der Wand Deines Zimmers befindet. Ist das, was Du dort siehst, und was Du auch dann siehst, wenn Du das Fenster öffnest, *Teil* des Fensters? Ja? Gut, dann hat sich die Außenwelt auf Dein Fenster vererbt.
Cheatah
Hi,
Wie kann man korrekt einen geerbten background Style "nicht anzeigen"?
Die background-Eigenschaften werden nicht vererbt - außer man fordert das explizit per Wert inherit an.
Was also ist das Problem?
cu,
Andreas