Ich bin ein Neuling in der Webentwicklung und habe ein Problem beim Entfernen der Körpergrenze.
Zwischen dem oberen Rand des Browsers und dem "Logo" -Text ist Platz. Und mein Code ist hier bei Jsbin .
Ist body { margin: 0;}
falsch, wenn ich das Leerzeichen entfernen möchte?
Ich würde sagen, dass mit:
* {
margin: 0;
padding: 0;
}
ist ein schlechter Weg, dies zu lösen.
Der Grund für das Herausspringen der h1-Marge aus dem übergeordneten Element ist, dass das übergeordnete Element keine Auffüllung hat.
Wenn Sie dem übergeordneten Element von h1 eine Auffüllung hinzufügen, befindet sich der Rand innerhalb des übergeordneten Elements.
Das Zurücksetzen von all paddings und Rändern auf 0 kann zahlreiche Nebenwirkungen verursachen. Dann ist es besser, die obere Kante für diese bestimmte Überschrift zu entfernen.
Einige HTML-Elemente haben vordefinierte Ränder (nämlich: body
, h1
bis h6
, p
, fieldset
, form
, ul
, ol
, dl
, dir
, menu
, blockquote
und dd
).
In deinem Fall ist es das h1
verursacht dein Problem. Es hat { margin: .67em }
standardmäßig. Wenn Sie den Wert auf 0 setzen, wird das Leerzeichen entfernt.
Um solche Probleme im Allgemeinen zu lösen, empfehle ich die Verwendung des dev tools Ihres Browsers. Für die meisten Browser: Klicken Sie mit der rechten Maustaste auf das Element, über das Sie mehr erfahren möchten, und wählen Sie "Inspect Element" (Element untersuchen). Ganz unten auf der Registerkarte "Stile" befindet sich ein CSS-Box-Modell. Dies ist ein großartiges Werkzeug zur Visualisierung von Rändern, Auffüllungen und Rändern und welche Elemente die Wurzel Ihrer Kopfschmerzen beim Stylen sind.
Ich würde Ihnen empfehlen, alle HTML-Elemente zurückzusetzen, bevor Sie Ihre CSS mit schreiben:
* {
margin: 0;
padding: 0;
}
Danach können Sie Ihre benutzerdefinierte CSS ohne Probleme schreiben.
Sie haben noch einen Rand in Ihrem h1
-Tag
Also musst du das so entfernen:
h1 {
margin-top:0;
}
Das Problem betrifft den Kopfbereich von h1
. Sie müssen dies versuchen:
h1 {
margin-top:0;
}
Dies sollte Ihnen dabei helfen, die Körperränder und den voreingestellten oberen Rand des <h1>
-Tags zu entfernen
body{
margin: 0px;
padding: 0px;
}
h1 {
margin-top: 0px;
}
Sie können body oder * verwenden, um einen Rand und einen Abstand von 0px zu erstellen.
*{
margin: 0px;
padding:0px;
}
Die richtige Antwort auf diese Frage lautet "css reset".
* {
margin: 0;
padding: 0;
}
Es entfernt alle Standardränder und -abstände für jedes Objekt auf der Seite, es gibt keine Sperren, unabhängig vom Browser.
Ich stellte fest, dass dieses Problem auch dann bestand, wenn die KÖRPER-MARGE auf Null gesetzt wurde.
Es stellt sich jedoch heraus, dass es eine einfache Lösung gibt. Sie müssen Ihrem HEADER-Tag lediglich eine 1px-Umrandung zuweisen und den BODY MARGIN wie unten gezeigt auf Null setzen.
body { margin:0px; }
header { border:1px black solid; }
Möglicherweise müssen Sie auch die MARGIN für alle H1-, H2 usw. -Elemente in HEADER div auf null setzen. Dadurch wird zusätzlicher Platz entfernt, der um den Text herum angezeigt wird.
Nicht sicher, warum das funktioniert, aber ich benutze den Chrome-Browser. Natürlich können Sie auch die Farbe des Rahmens an Ihre Kopffarbe anpassen.