1

How can I remove the empty space above and at the left of the "welcome" box?

#.page{
 background-color: #920000;
 margin: 0;
 padding: 0;
}
.heading{
 background-color: #666666;
 padding: 0;
 margin: 0;
 border: 0;
}
h1{
 margin: 0;
 padding: 0;
}
<!DOCTYPE HTML>
<html>
 <head>
  <meta charset = "utf-8"/>
  <link rel= "stylesheet" href = "style.css" />
 </head>
 <body background-color = #920000;>
  <div class = "heading">
   <h1>"welcome"</h1>
  </div>
 </body>
 <nav>
  <ul>
   <li>Home</>
  </ul>
 </nav>
</html>

Thank You.

Regards, Micky.

pavel
  • 26,538
  • 10
  • 45
  • 61
Mikcy
  • 23
  • 2
  • In short: `body, ul { margin: 0; }`. – Hashem Qolami May 07 '15 at 12:56
  • 3
    why you write ` – Anant Dabhi May 07 '15 at 12:57
  • This selector `#.page` is probably not valid...either `#page` or `.page`...one or the other. You HTML structure is invalid too, as commented above. – Paulie_D May 07 '15 at 12:57
  • @HashemQolami: around _Welcome_ is no `UL`. If so, any browsers use to indentation of lists left padding instead of margin. – pavel May 07 '15 at 12:58
  • @panther If you look through the code carefully, there's an `
      ` element within the `
    – Hashem Qolami May 07 '15 at 13:01
  • @HashemQolami: I see that, but the OP wanted to remove white space around grey Welcome text. And if you reset (left) margin on `UL`, you should null the left padding too. – pavel May 07 '15 at 13:03
  • @panther Isn't the ` – Hashem Qolami May 07 '15 at 13:09

7 Answers7

4

It's 8px default margin on body.

body {margin: 0;}
pavel
  • 26,538
  • 10
  • 45
  • 61
1

Set bodyand htmlto margin:0and padding:0

body,html{
  margin:0;
  padding:0;
}

#.page{
 background-color: #920000;
 margin: 0;
 padding: 0;
}
.heading{
 background-color: #666666;
 padding: 0;
 margin: 0;
 border: 0;
}
h1{
 margin: 0;
 padding: 0;
}
<!DOCTYPE HTML>
<html>
 <head>
  <meta charset = "utf-8"/>
  <link rel= "stylesheet" href = "style.css" />
 </head>
 <body background-color = #920000;>
  <div class = "heading">
   <h1>"welcome"</h1>
  </div>
 </body>
 <nav>
  <ul>
   <li>Home</>
  </ul>
 </nav>
</html>
Luís P. A.
  • 9,524
  • 2
  • 23
  • 36
0
*{margin:0; padding:0;}
#.page{
    background-color: #920000;
    margin: 0;
    padding: 0;
}
.heading{
    background-color: #666666;
    padding: 0;
    margin: 0;
    border: 0;
}
h1{
    margin: 0;
    padding: 0;
}
<!DOCTYPE HTML>
<html>
    <head>
        <meta charset = "utf-8"/>
        <link rel= "stylesheet" href = "style.css" />
    </head>
    <body background-color = #920000;>
        <div class = "heading">
            <h1>"welcome"</h1>
        </div>
    </body>
    <nav>
        <ul>
            <li>Home</>
        </ul>
    </nav>
</html>
Karthik N
  • 515
  • 2
  • 9
  • 22
0

To reset all padding and margin just do *{padding: 0; margin:0;}

Radonirina Maminiaina
  • 6,958
  • 4
  • 33
  • 60
0

You need to remove default body margin :

body {
        margin: 0;
    }
Ankit
  • 1,471
  • 17
  • 29
0

(Ansewering because I don't have enough reputation to comment previous answer.)

It's indeed body default browser padding.

Note that you can avoid some or every default browser behaviours by using some CSS-reset sheets.

I personnally love Normalize as a good reset base. Others exist.

The general goal behind CSS resets is to make sure every browser custom rule won't break your design depending on the browser your user use.

Hope I could help.

meduz'
  • 555
  • 4
  • 12
0

#.page is wrong selector also i did not get you why are you placing nav outside the body? and also i'm getting porper output as you want without changing your code.

#.page{
  background-color: #920000;
  margin: 0;
  padding: 0;
}
.heading{
  background-color: #666666;
  padding: 0;
  margin: 0;
  border: 0;
}
h1{
  margin: 0;
  padding: 0;
}

<body>
    <div class = "heading">
        <h1>"welcome"</h1>
    </div>
</body>
<nav>
    <ul>
        <li>Home</li>
    </ul>
</nav>
Ritesh Dhuri
  • 215
  • 2
  • 7