|
|||
Das Blockelement(?) html
Für body gibt es eine Sonderregelung für die visuelle Darstellung. Seine Hintergrundfarbe ragt aus ihm unbegrenzt heraus, egal ob diese durch CSS festgelegt wurde oder durch das missbilligte Attribut bgcolor.
Damit stimmt es nicht, dass in body alles sitzt, was zur Anzeige gebracht weren soll, body selbst kommt erstmal zur Anzeige und ist das erste Blockelement. Wenn ich ihm einen Rand gebe und Außenabstand ins (wohin überhaupt?), sehe ich: Das ist definitiv ein Block! body {background: #F00; border: 2px solid #000; margin: 75px;} Gebe ich html ebenfalls eine Hintergrundfarbe, am besten eine kontrahierende html {background: #0F0;} body {background: #F00; border: 2px solid #000; margin: 75px;} überdeckt die Hintergrundfarbe eines tatsächlich noch übergeordneten Blocks die unbegrenzt herausragende Hintergrundfarbe vom durch body erzeugten Blocks. Was erzeugt diesen noch übergeordneten Block? Das übergeordnetste Element html? html kennzeichnet doch das komplette Dokument. So kann man via dem xmlns-Attribut auf die Quelle von Namensräumen referenzieren für die Darstellung dieses Dokuments. head beinhaltet die zusätzlichen Seiteninformationen und in body das, was i den Hauptanzeigebereich kommt oder zumindest body selbst als erstes Blockelement. Aber wie kann Mozilla Firefox dann bitte aus html einen Block reinbringen!? Geht aber noch besser: html {background: #0F0; margin: 75px; border: 2px solid #000;} body {background: #F00; margin: 75px; border: 2px solid #000;} Jetzt ist über dem durch das html-Element(?) erzeugten Block noch etwas. Der viewport selbst? Und die Hintergrundfarbe von html reicht ebenfalls unbegrenzt aus sich heraus? Wo ist denn da die Logik!? |
Sponsored Links |
|
|||
Die Spezifikation handelt nicht von Logik. Das von dir beschriebene Verhalten ist in CSS 2.1:14.2 the background definiert. Die gesamte Zeichenfläche wird mit der Hintergrundfarbe des HTML-Elementes ausgefüllt. Wenn dieses selbst transparent ist, wird die zu verwendende Farbe zum Füllen der Zeichenfläche aus dem body-Element geschöpft. Oder so ungefähr.
Geändert von IChao (27.05.2008 um 00:10 Uhr) |
Sponsored Links |
|
|||
Zitat:
Scheinbar gilt das dann wohl auch für Ränder, was dort aber irgendwie nicht steht. html {background: #000; margin: 75px; border: 2px solid #AAA;} Damit habe ich einen Block mit 75px Außenabstand, welchen man auch gut an den Rändern wahrnimmt. Die Hintergrundfarbe geht in Wirklichkeit aber also auf die Leinwand. Was ist dann jetzt mit der Sache, dass body das selbe Verhalten hat, wenn ich ihm eine Hintergrundfarbe befehle? Dann geht die Hintergrundfarbe/Grafik für body ja auch stattdessen auf die leinwand? Ne, sorry. Ich krieg's einfach nicht übersetzt ... Zitat:
Wenn ich eine Gestaltungsregel auf html-typ-Elemente bezüglich einer Hintergrundfarbe oder Grafik gebe, wird der zu erzwingende Effekt stattdessen an die Leinwand übergeben. Definiere ich keine solche Regel auf html-Typ-Elemente, treffen solche Regeln für body stattdessen auf die Leinwand. Dann frag' ich mich doch, wieso das hier funktioniert: html {margin: 75px; border: 2px solid #AAA;} body {background: #0F0; margin: 75px;} Aus html wird jetzt also doch ein Block erzeugt oder ist die Leinwand jetzt plötzlich in einer anderen Leinwand? Geändert von sjBlack (27.05.2008 um 02:13 Uhr) |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
HTML als Text ausgeben und HTML farbig markieren | cabotine | Serveradministration und serverseitige Scripte | 14 | 09.08.2022 11:27 |
Redesign für Steiner Cycling Team | pkipper | Site- und Layoutcheck | 11 | 09.02.2011 13:25 |
per jquery flash entfernen und html anzeigen lassen | destroy90210 | Javascript & Ajax | 2 | 02.01.2010 18:15 |
DIV immer ganze Breite - normal?!?!? | csski | CSS | 3 | 02.07.2008 13:20 |
Wie parse ich mit php Markdown syntax nach html? | asdfgqw | Serveradministration und serverseitige Scripte | 0 | 03.06.2008 01:11 |