CSS Margin не установлен на 0

Я новичок в веб-дизайне. Я создал простое веб-приложение, используя CSS и HTML, а также несколько базовых JS.

-

Проблема: Несмотря на то, что я установил маржу на 0, маржа не установлена ​​на 0 и оставляет 8 пикселей пространства. Как я могу очистить это пустое пространство?

Скриншот проблемы: (наиболее заметно между панелью навигации и верхней частью страницы. Панель навигации должна касаться стороны и верхней части страницы. Изображение и тег h1 должны касаться стороны) CSS Margin не установлен на 0

-

Вот мой код 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 в браузере, похоже, это должно выглядеть.

Перед редактированием в браузере:

CSS Margin не установлен на 0

После редактирования в браузере:

CSS Margin не установлен на 0

Пожалуйста помоги! Спасибо!

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
0
875
4

Ответы 4

Вы можете изменить свойство margin на margin: 0! Important; Это быстрое решение, я тоже могу подробно объяснить.

пробовал это, но, похоже, не имеет значения. мысли почему? Спасибо!

Liv Marx 24.12.2018 19:02

Просто добавьте! 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.

Japleen 24.12.2018 18:59

Пытался вставить его выше, но все еще не работает, есть мысли о том, почему? Спасибо!

Liv Marx 24.12.2018 19:01

Попробуйте добавить reset css к вашему элементу React, который вы показываете в своем сообщении. Вы должны добавить сброс css в основной html файл, в котором вы подключаете другую часть страницы.

BearCoder 24.12.2018 20:14

Комбинировать:

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.

Другие вопросы по теме