I have searched for an answer but couldn't find it anywhere. My question is reasonably simple: I have a background color of my body, then a large margin, and now I want a different background color inside the margin.
How do I do that with CSS?
I have searched for an answer but couldn't find it anywhere. My question is reasonably simple: I have a background color of my body, then a large margin, and now I want a different background color inside the margin.
How do I do that with CSS?
If your margin is set on the body, then setting the background color of the html tag should color the margin area
html { background-color: black; }
body { margin:50px; background-color: white; }
Or as dmackerman suggestions, set a margin of 0, but a border of the size you want the margin to be and set the border-color
div
#main_container inside the body
to do the same thing –
Behaviorism Instead of using a margin, could you use a border? You should do this with <div>
, anyway.
Something like this?
I needed something similar, and came up with using the :before (or :after) pseudoclasses:
#mydiv {
background-color: #fbb;
margin-top: 100px;
position: relative;
}
#mydiv:before {
content: "";
background-color: #bfb;
top: -100px;
height: 100px;
width: 100%;
position: absolute;
}
Are you possibly looking to change the margin color outside the border? Maybe outline outline will help? Particularly
outline-color: green;
box-shadow
https://mcmap.net/q/110933/-outline-on-only-one-border –
Raimund That is not possible du to the Box Model. However you could use a workaround with css3's border-image, or border-color in general css.
However im unsure whether you may have a problem with resetting. Some browsers do set a margin to html as well. See Eric Meyers Reset CSS for more!
html{margin:0;padding:0;}
© 2022 - 2024 — McMap. All rights reserved.