![]() |
[XHTML, CSS] Abstände...
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo,
ich hab mal wieder ein Problem, das ich überhaupt nicht verstehe... und zwar möchte ich auf meiner Seite einen farbigen Header haben, der über die ganze Bildschirmbreite geht und oben bündig abschließt (so ähnlich wie bei der DP). Dazu habe ich natürlich erst mal die Margins und Paddings der diversien <div>s und des <body> auf 0 gesetzt. Nun befindet sich aber in dem Header noch eine Überschrift (<h1>-Tag), welche einen Margin > 0 hat, da sie natürlich nicht direkt am Rand kleben soll. Nun führt das eigenartigerweise dazu, dass die Seite so gerendert wird, als ob der Header, nicht die Überschrift, das Margin > 0 hätte. Um das ganze mal etwas anschaulicher zu machen, hier (verkürzt) der Code:
XML-Code:
<html>
<head>...<head> <body> <div id="wrapper"> <div id="header"> <h1>Test</h1> </div> <div id="main"> ... </div> </div> </body> </html>
Code:
So sieht das Ergebnis aus (man beachte den großen weißen Abstand oben und darunter den blauen Bereich – beides sollte nicht da sein):
body, #wrapper, #header, #main {
margin: 0px; padding: 0px; } #header { background: red; } #wrapper { background: blue; } #main { background: green; } /* Das einzige Element mit margin != 0: */ h1 { margin-top: 50px; margin-bottom: 50px; } Anhang 34610 Aussehen soll (und müsste es nach meiner Logik) aber so: Anhang 34612 Ich habe dieses seltsame Verhalten sowohl in der Alpha des Firefox 6 als auch im IE9 festgestellt. ![]() Danke im Voraus, ich bin gerade ziemlich ratlos... |
AW: [HTML, CSS] Abstände...
Jup, ist ein sehr unschönes Problem. Ich löse das dann immer so, dass ich anstatt margin in solchen Fällen dann einfach padding verwende. Ich glaube es gibt für sowas auch einen "transparent boder fix", aber bin mir da etwas unsicher.
PS: Schau dir vielleicht mal CSS-reset-Dateien an. Ich glaube, ich nutze den ![]() -- EDIT Jup, das mit dem transparenten Border klappt. Habe dem <div id="header"> ein border-top: 1px solid transparent; verabreicht und schon hats im FF5 geklappt. Unschön wie ich finde, aber es geht |
AW: [HTML, CSS] Abstände...
Zitat:
Code:
ausprobiert, mit unverändertem Resultat. Die Abstände sind definitiv alle 0; wird auch von Firebug im „Berechnet“-Tab so angezeigt. Aber wenn man in der HTML-Ansicht über das <body>-Tag hovert, sieht man an der Hervorhebung, dass der Body-Bereich bereits so weit unten beginnt. Alle Margins und Paddings sind aber, wie gesagt, 0. Ich hab spaßeshalber sogar mal für html und head die Abstände auf 0 gesetzt, aber das brachte auch nichts...
* {
margin: 0px !important; padding: 0px !important; } /* Ohne das folgende ist der Abstand oben weg, aber leider auch der der Überschrift */ h1 { margin-top: 50px !important; margin-bottom: 50px !important; } Zitat:
Edit (@dein Edit): Okay, Danke, werd ich gleich mal testen. Aber trotzdem: WTF. PS: Genau deshalb hasse ich Webdevelopment... Edit 2: Dein Tipp funktioniert. Allerdings löst das nur das Problem mit dem weißen Bereich, der blaue ist immer noch da (ist für mein Design ein nicht ganz so großes Problem, aber trotzdem doof). Muss ich jetzt etwa für jedes Element, das auf ein Element folgt, das ein Element mit Margin > 0 enthält, Border-Top: 1px solid transparent setzen? Das kann ja wohl nicht wahr sein... |
AW: [XHTML, CSS] Abstände...
CSS und Logik lässt sich nicht immer sinnvoll vereinbaren :stupid: Daher habe ich schon mehr oder weniger aufgegeben, über saubere Lösungen nachzudenken. Vor allem das, was du hier gerade präsentierst ist ein Paradebeispiel, dass irgendwas schief gelaufen ist...
Das mit der Reset-Datei war nur ein allgemein Hinweis, da du erwähnt hattest, dass du die margin- und padding-Werte von body etc. auf 0 gesetzt hast. So eine reset-Datei macht das eben für alles Element von vorn herein automatisch. Oha, hatte da doch glatt nur den border für top angegeben. Du kannst ihn für das header-div ohne top setzen, also border: 1px solid transparent;. Hatte leider eher selten diese Problem, weswegen ich dir wohl nur diese eine Lösung anbieten kann. |
AW: [XHTML, CSS] Abstände...
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz