Я новичок в веб-дизайне. Я создал простое веб-приложение, используя CSS и HTML, а также несколько базовых JS.
-
Проблема: Несмотря на то, что я установил маржу на 0, маржа не установлена на 0 и оставляет 8 пикселей пространства. Как я могу очистить это пустое пространство?
Скриншот проблемы: (наиболее заметно между панелью навигации и верхней частью страницы. Панель навигации должна касаться стороны и верхней части страницы. Изображение и тег h1 должны касаться стороны)

-
Вот мой код CSS: (это на самом деле Sass)
// Imported fonts:
@font-face {
src: url(fonts/MajorMonoDisplay-Regular.ttf);
font-family: MojoMono;
}
//Color Variables:
$colors: (
backGroundColor: #c1a5c6,
purpleBorder: #511a59,
greyFont: #373647,
navButtonColor: #ea7985,
redButtonBorder: #b53f4b,
);
//Body:
body,
html {
height: 100%;
}
body {
margin: 0;
padding: 0;
}
h1 {
font-family: MojoMono;
font-size: 60px;
color: map-get($color, greyFont);
}
img {
border: solid 4px map-get($color, purpleBorder);
}
//Navbar:
.nav {
display: flex;
flex-wrap: wrap;
overflow: hidden;
justify-content: space-around;
align-items: center;
background-color: gainsboro;
padding: 5px;
border: solid 10px $darkAccentColor;
}
.nav img {
height: 100px;
border: none;
}
.nav h1 {
font-family: fantasy;
font-size: 30px;
color: map-get($color, greyFont);
margin: 0px;
}
.nav button {
flex-direction: row;
background-color: map-get($color, navButtonColor);
color: map-get($color, greyFont);
border: solid 4px map-get($color, redButtonBorder);
padding: 10px 20px;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}
Вот мой HTML:
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "UTF-8" />
<meta name = "viewport" content = "width=device-width, initial-scale=1.0" />
<meta http-equiv = "X-UA-Compatible" content = "ie=edge" />
<title>Hidden Expressions</title>
<link rel = "stylesheet" type = "text/css" href = "style.css" />
</head>
<body>
<div id = "main"></div>
<script defer src = "bundle.js"></script>
</body>
</html>
Вот элемент React:
import React from 'react';
import { Link } from 'react-router-dom';
import Navbar from './NavBar';
export default class Main extends React.Component {
render() {
return (
<div className = "main">
<Navbar />
<div className = "header">
<h1>Our Story</h1>
<img src = "https://for.eharmony.com/dating-advice/wp-content/uploads/2013/09/dating-a-hairdresser.jpg" />
</div>
</div>
);
}
}
Самая неприятная часть заключается в том, что когда я «проверяю» веб-страницу в браузере, она не показывает, что я установил поле на 0. Когда я устанавливаю поле на 0 в браузере, похоже, это должно выглядеть.
Перед редактированием в браузере:
После редактирования в браузере:
Пожалуйста помоги! Спасибо!






Вы можете изменить свойство margin на margin: 0! Important; Это быстрое решение, я тоже могу подробно объяснить.
Просто добавьте! Important с полем: 0, которое вы использовали внутри тела. Нравится--
body{
margin:0 !important;
}Базовый HTML имеет свои собственные поля и отступы для каждого элемента. Если вы хотите сделать маржу 0, вам нужно сделать сброс css только для одного элемента, например тела, или вы можете сделать сброс css для всех элементов (так лучше). Я использую css reset от eric mayers. Вот.
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
Вы можете поместить его в начало вашего файла css. Или создайте другой файл css. И свяжи его перед своим стилем. Вот готовый код со сбросом и ваш код
//css reset
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
// Imported fonts:
@font-face {
src: url(fonts/MajorMonoDisplay-Regular.ttf);
font-family: MojoMono;
}
//Color Variables:
$colors: (
backGroundColor: #c1a5c6,
purpleBorder: #511a59,
greyFont: #373647,
navButtonColor: #ea7985,
redButtonBorder: #b53f4b,
);
//Body:
body,
html {
height: 100%;
}
body {
margin: 0;
padding: 0;
}
h1 {
font-family: MojoMono;
font-size: 60px;
color: map-get($color, greyFont);
}
img {
border: solid 4px map-get($color, purpleBorder);
}
//Navbar:
.nav {
display: flex;
flex-wrap: wrap;
overflow: hidden;
justify-content: space-around;
align-items: center;
background-color: gainsboro;
padding: 5px;
border: solid 10px $darkAccentColor;
}
.nav img {
height: 100px;
border: none;
}
.nav h1 {
font-family: fantasy;
font-size: 30px;
color: map-get($color, greyFont);
margin: 0px;
}
.nav button {
flex-direction: row;
background-color: map-get($color, navButtonColor);
color: map-get($color, greyFont);
border: solid 4px map-get($color, redButtonBorder);
padding: 10px 20px;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}
Не рекомендуется использовать! Important. У вас не будет действующего кода.
Об этом я уже говорил, это быстрое решение. Я знаю группы приоритета для селекторов CSS.
Пытался вставить его выше, но все еще не работает, есть мысли о том, почему? Спасибо!
Попробуйте добавить reset css к вашему элементу React, который вы показываете в своем сообщении. Вы должны добавить сброс css в основной html файл, в котором вы подключаете другую часть страницы.
Комбинировать:
body,
html {
height: 100%;
}
body {
margin: 0;
padding: 0;
}
В:
body, html {
margin: 0;
padding: 0;
height: 100%;
}
Поместите его в самый верх вашего документа CSS, прямо под первой строкой, строкой кодировки:
@charset "UTF-8";
body, html {
....
Кроме того, вам не нужно устанавливать класс для <div class = "main">. Вы можете просто использовать <main></main> и стилизовать его в своем документе CSS как main { background-color: none; } (обратите внимание, что перед стилем main в вашем CSS нет .. Это один из семантических элементов в HTML5, поэтому он обрабатывается так же, как и body.
пробовал это, но, похоже, не имеет значения. мысли почему? Спасибо!