Supportnet / Forum / Webseiten/HTML
Formatierung aufheben
Frage
Hallo.
Ich benutze externe Stylesheets und lege darin fest, wie Html-Elemente in meinen Seiten aus zu sehen haben. Darin steht u.a.
[code]body {color: DarkBlue; Background-Color: #FFCC66; Font-Family:'Arial Unicode MS', Arial, Helvetica, Sans-Serif;}
p {Text-Align: justify; Color: DarkBlue; Font-Family:'Arial Unicode MS', Arial, Helvetica, Sans-Serif;}
[/code]
Jetzt möchte ich aber, dass an einer Stelle innerhalb einer Seite, die das Stylesheet verwendet, ein Text in einem Absatz (oder einem anderen Element, dessen Aussehen im Stylesheet festgelegt wird) so dargestellt wird, wie der Browser es ohne meine Formatierungen darstellen würde. Gibt es eine Möglichkeit all meine Formatierungen auf zu heben. Für diesen speziellen Teil der Seite soll also das Browserstylesheet verwendet werden.
Bisher habe ich einfach im betroffenen Teil die Schriftart 'Times New Roman' und schwarze Schrift mit weißem Hintergrund verwendet. Aber das ist natürlich nur eine Notlösung, die im Laufe der Zeit immer weniger nützt, denn inzwischen entspricht das nicht mehr immer den Defaultwerten der Browser.
Gibt es dafür eine besser Lösung (ohne auf die Verwendung des Stylesheets zu verzichten oder für alles normale Klassen zu definieren?
Antwort 1 von Mattes1001
Hi!
Wie Du sicher schon festegestellt hast sind html-Seiten immer gleich aufgebaut.
Du hast mit Deiner oben genannten Definition allen Elementen, die innerhalb des body liegen Deine gewünschten Attribute zugewiesen.
Allen p Elementen hast Du auch gewisse Attribute zugewiesen.
[...viel Erklärung, kurzer Sinn]
Einzelnen Elementen kann man mit Angabe von class="test" im externen Stylesheet andere Attribute zuweisen.
Du schreibst also in Deiner html
Dann muss Du in Deiner css Datei fogendes schreiben:
Wie Du sicher schon festegestellt hast sind html-Seiten immer gleich aufgebaut.
[..]
<html>
<head>
[...]
</head>
<body>
Deine Seite
</body>
</html>
Du hast mit Deiner oben genannten Definition allen Elementen, die innerhalb des body liegen Deine gewünschten Attribute zugewiesen.
Allen p Elementen hast Du auch gewisse Attribute zugewiesen.
[...viel Erklärung, kurzer Sinn]
Einzelnen Elementen kann man mit Angabe von class="test" im externen Stylesheet andere Attribute zuweisen.
Du schreibst also in Deiner html
<p class="test>
Diese ist mein Text
</p>
Dann muss Du in Deiner css Datei fogendes schreiben:
.test{
background-color: green; (z.B)
}
Noch besser Du schaust Dir ganz in Ruhe einmal die Seite:
http://www.css4you.de/ an...
Viel Spaß bei den ersten Schritten
Antwort 2 von Mattes1001
Achso noch was:
Du hebst die Formatierung dadurch nicht auf...
Das Prinzip ist Vererbung. Wenn Du also eine "genauere" Angaben machst, sprich einem p Element zusätzlich einen gewisse class zuweist, überschreibst Du sozusagen Deine anderen Angaben.
Du hebst die Formatierung dadurch nicht auf...
Das Prinzip ist Vererbung. Wenn Du also eine "genauere" Angaben machst, sprich einem p Element zusätzlich einen gewisse class zuweist, überschreibst Du sozusagen Deine anderen Angaben.
Antwort 3 von CSSrules
Es gibt im CSS keine Möglichkeit anzugeben, wo ein Stylesheet nicht gelten soll, sondern nur die Möglichkeit, seinen Geltungsbereich festzulegen.
Sprich:
gilt überall außer bei x geht nicht
gilt bei a und b und c und .. und u und w und y und z geht.
Es bleibt dir dann wohl nur wenig anderes möglich, als über Klassen oder geeignete Vor- und Nachfahrenselektoren dein Stylesheet überall - nur nicht in dem Beispielteil - gelten zu lassen.
Sprich:
Es bleibt dir dann wohl nur wenig anderes möglich, als über Klassen oder geeignete Vor- und Nachfahrenselektoren dein Stylesheet überall - nur nicht in dem Beispielteil - gelten zu lassen.
Antwort 4 von CSSrules
@Mattes1001:
Übrigens solltest du bei solchen CSS-Einführungen für Anfänger (wozu ich aber Friedel nicht zähle, sein Problem ist schon etwas speziellerer Natur) möglichst Beispiele wählen, die vom W3C-CSS-Validator nicht gleich angemeckert werden. Sprich: deine Klasse test braucht zur Hintergrundfarbenfestlegung auch eine Festlegung der Vordergrundfarbe. W3C mag die beiden nur im Zweierpack!
Zitat:
Einzelnen Elementen kann man mit Angabe von class="test" im externen Stylesheet andere Attribute zuweisen.
wenn es wirklich nur "einzelne" Elemente sind solltest du erwägen lieber eine Selektion per ID vorzunehmen, Klassen sind für mehrfach vorkommende Konstrukte gedacht.Einzelnen Elementen kann man mit Angabe von class="test" im externen Stylesheet andere Attribute zuweisen.
Übrigens solltest du bei solchen CSS-Einführungen für Anfänger (wozu ich aber Friedel nicht zähle, sein Problem ist schon etwas speziellerer Natur) möglichst Beispiele wählen, die vom W3C-CSS-Validator nicht gleich angemeckert werden. Sprich: deine Klasse test braucht zur Hintergrundfarbenfestlegung auch eine Festlegung der Vordergrundfarbe. W3C mag die beiden nur im Zweierpack!
Antwort 5 von Friedel
@Mattes1001: Danke für die Antwort. Aber das weiß ich alles. Es nützt mir in meinem Fall ja nichts. Es löst mein Problem nicht.
@CSSrules: Zu diesem Ergebnis bin ich bei meiner Suche leider auch gekommen. Ich hatte gehofft, dass es so wie bei den Anwender-relative Farbwörtern (Systemfarben) auch für andere Eigenschaften gibt. Sowas fehlt in CSS wohl noch.
@CSSrules: Zu diesem Ergebnis bin ich bei meiner Suche leider auch gekommen. Ich hatte gehofft, dass es so wie bei den Anwender-relative Farbwörtern (Systemfarben) auch für andere Eigenschaften gibt. Sowas fehlt in CSS wohl noch.
Antwort 6 von CSSrules
auf die übrigen CSS-Eigenschaften übertragen würde das Konzept der Systemfarben ja auch bedeuten: stelle meine Seite so dar wie Inhalte voreinstellungsgemäß auf dem Desktop - nicht im Browser - dargestellt werden. Das dürfte auch nicht dem entsprechen, was du suchst.

