zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > CSS
Seite neu laden Das Blockelement(?) html

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 26.05.2008, 22:54
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 29.04.2008
Beiträge: 56
sjBlack ist in Verruf geraten
Standard 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!?
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 27.05.2008, 00:08
#
XHTMLforum-Kenner
 
Registriert seit: 30.06.2005
Ort: Hamburg
Beiträge: 2.092
IChao ist ein sehr geschätzer MenschIChao ist ein sehr geschätzer MenschIChao ist ein sehr geschätzer MenschIChao ist ein sehr geschätzer Mensch
Standard

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.
__________________
Ingo Chao

Buch: Fortgeschrittene CSS-Techniken

Geändert von IChao (27.05.2008 um 00:10 Uhr)
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 27.05.2008, 01:59
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 29.04.2008
Beiträge: 56
sjBlack ist in Verruf geraten
Standard

Zitat:
The background of the root element becomes the background of the canvas and covers the entire canvas, anchored (for 'background-position') at the same point as it would be if it was painted only for the root element itself. The root element does not paint this background again.
So, wie ich es verstanden habe, werden die Gestaltungsregeln bezüglich der Hintergrundfarbe/Hintergrundfarbe an das Wurzelelement stattdessen an die Leinwand übergeben.

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:
For HTML documents, however, we recommend that authors specify the background for the BODY element rather than the HTML element. For HTML documents whose root HTML element has computed values of 'transparent' for 'background-color' and 'none' for 'background-image', user agents must instead use the computed value of those properties from that HTML element's first BODY element child when painting backgrounds for the canvas, and must not paint a background for that BODY element. Such backgrounds must also be anchored at the same point as they would be if they were painted only for the root element. This does not apply to XHTML documents.
Ich glaub', ich hab's.

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)
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ä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


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:28 Uhr.