HTML/CSS/Box Model/margin — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 08:16, 26 мая 2010
Содержание
- 1 Add margin to offset block nearby
- 2 A margin negative value moves it away from center.
- 3 Body margin to 10%
- 4 Body with margin:%
- 5 Define Margin with value and percent
- 6 double-margin
- 7 double margin fixed
- 8 LI margin: 0.33em 0.5em 0.5em 1.5em
- 9 margin:0; assigns zero to margin. Zero is the only length that may be specified without a measurement.
- 10 margin: 1em; assigns the size of the font to margin (i.e., font-size multiplied by 1).
- 11 Margin between parent and children
- 12 Margin between sibling
- 13 margin collapse
- 14 margin collapse nested elements
- 15 margin collapse nested elements default padding
- 16 margin collapse nested elements padding
- 17 margin collapse with nested elements
- 18 Margin Collapsing
- 19 Margin collapsing also happens between parent and child elements.
- 20 Margin collapsing with adjacent siblings.
- 21 margin sets the size of the margin surrounding the border.
- 22 Set margin to 0
- 23 Set margin to5em 0"
- 24 Use margin to align block to center
- 25 Use margin to align block to left
- 26 Use margin to align block to right
- 27 Use margin to offset child
- 28 When all four values are provided, each is provided in order clockwise, beginning with the top property.
- 29 When one value is supplied to the margin shorthand property, all four sides are specified with that one value.
- 30 When three values are supplied, the top is the first, the right and left sides are the second, and the bottom is the third.
- 31 When two values are supplied to the margin shorthand property, the top and bottom are the first, right and left sides are the second.
Add margin to offset block nearby
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
body {
margin: 0px;
padding: 0px;
color: #000;
background-color: #ccc;
}
#content {
padding: 10px 2% 10px 2%;
margin: 5px 26% 5px 2%;
background-color: #fff;
border: 1px solid #000;
}
#menu {
position: absolute;
top: 0px;
right: 0px;
padding: 10px 2% 10px 2%;
margin: 5px 2% 5px 1%;
background-color: #fff;
border: 1px solid #000;
width: 18%;
}
</style>
</head>
<body>
<div id="menu">
this is a test. this is a test. this is a test. this is a test. this is a test.
this is a test. this is a test. this is a test. this is a test. this is a test.
this is a test. this is a test. this is a test. this is a test. this is a test.
this is a test. this is a test. this is a test. this is a test. this is a test.
this is a test. this is a test. this is a test. this is a test. this is a test.
</div>
<div id="content">
this is a test. this is a test. this is a test. this is a test. this is a test.
this is a test. this is a test. this is a test. this is a test. this is a test.
this is a test. this is a test. this is a test. this is a test. this is a test.
this is a test. this is a test. this is a test. this is a test. this is a test.
this is a test. this is a test. this is a test. this is a test. this is a test.
</div>
</body>
</html>
A margin negative value moves it away from center.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
* .container {
position: relative;
background: black;
}
* .box {
position: absolute;
overflow: auto;
visibility: visible;
z-index: 1;
bottom: 20px;
margin: -30px;
padding: 10px;
background: red;
}
* .before {
z-index: 2;
width: 100px;
height: 400px;
left: 400px;
right: auto;
top: 100px;
bottom: auto;
background: yellow;
}
</style>
</head>
<body>
<div class="container">
<div>BEFORE</div>
<div class="before">ABSOLUTE BEFORE</div>
<div class="box">this is a test. this is a test. </div>
</div>
</body>
</html>
Body margin to 10%
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<title></title>
<style type="text/css">
body {
margin: 10%;
}
</style>
</head>
<body>
<h2>header 2</h2>
<h3>header 3</h3>
<p>This is a text.</p>
</body>
</html>
Body with margin:%
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
body {
margin: 5% 10% 0 10%;
}
</style>
</head>
<body>
<div id="content">
<h2>header 2
<span id="boat">
</span>
</h2>
</div>
</body>
</html>
Define Margin with value and percent
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
p.normal {
padding: 0;
margin-left: 0;
margin-right: 0;
}
p.large {
margin-left: 33%;
margin-right: 5%;
}
p.medium {
margin-left: 15%;
margin-right: 33%;
}
</style>
</head>
<body>
<h1>The heading for this page</h1>
<p class="normal">normal class.</p>
<p class="large">large class.</p>
<p class="medium ">medium class</p>
</body>
</html>
double-margin
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title></title>
<style type="text/css">
div#container {
margin: 0 20px;
background: lightyellow;
width: 300px;
}
div#float {
margin-left: 50px;
background: lightgrey;
float: left;
border: 1px solid black;
width: 75px;
height: 50px;
}
</style>
</head>
<body>
<div id="container">
<div id="float">
Float text.
</div>
</div>
</body>
</html>
double margin fixed
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title></title>
<style type="text/css">
div#container {
margin: 0 20px;
background: red;
width: 300px;
height: 500px;
}
div#float {
margin-left: 50px;
background: lightgrey;
float: left;
border: 1px solid black;
width: 75px;
height: 50px;
display: inline;
}
</style>
</head>
<body>
<div id="container">
<div id="float">
Float text.
</div>
</div>
</body>
</html>
LI margin: 0.33em 0.5em 0.5em 1.5em
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
ul {
width: 30%;
padding: 0 0 0.75em 0;
margin: 0;
}
li {
text-indent: -0.75em;
margin: 0.33em 0.5em 0.5em 1.5em;
}
</style>
</head>
<body>
<h3>
Table of Contents
</h3>
<p>
As proposed, the contents of the paper will contain the
following sections:
</p>
<ul>
<li>Database</li>
<li>Privacy</li>
<li>Best</li>
<li>Automation?</li>
<li class="last">Smart Choice</li>
</ul>
<p>
let <a href="n@h.ru">Nicholas</a> know about it.
</p>
</body>
</html>
margin:0; assigns zero to margin. Zero is the only length that may be specified without a measurement.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
h2 {
background-image: url(http://www.wbex.ru/style/logo.png);
background-repeat: no-repeat;
background-position: bottom;
margin: 10px 0 0 0;
padding: 0.5em 0 60px 0;
width: 600;
height: 600;
}
</style>
</head>
<body>
<h2>This is a header
this is a test. this is a test.
this is a test. this is a test.
this is a test. this is a test.
this is a test. this is a test.
this is a test. this is a test.
this is a test. this is a test.
</h2>
<p>This is a text.</p>
</body>
</html>
margin: 1em; assigns the size of the font to margin (i.e., font-size multiplied by 1).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
div {
height: 150px;
width: 150px;
padding: 10px;
margin: 1em;
}
</style>
</head>
<body>
<div>
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
</body>
</html>
Margin between parent and children
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>margin</title>
<style rel="stylesheet" type="text/css">
body {
margin: 0;
padding: 0;
}
div {
width: 100px;
height: 100px;
}
div#parent {
margin: 10px 20px;
background: yellow;
border: 1px solid gold;
}
div#child {
margin: 20px;
background: lightyellow;
border: 1px solid gold;
}
</style>
</head>
<body>
<div id="parent">
<div id="child">
</div>
</div>
</body>
</html>
Margin between sibling
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>margin</title>
<style rel="stylesheet" type="text/css">
body {
margin: 0;
padding: 0;
}
div {
width: 100px;
height: 100px;
background: lightyellow;
border: 1px solid gold;
}
div#top {
margin: 10px 20px;
}
div#bottom {
margin: 20px;
}
</style>
</head>
<body>
<div id="top"></div>
<div id="bottom"></div>
</body>
</html>
margin collapse
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title></title>
<style type="text/css">
p {
margin: 20px;
padding: 20px;
border: thin solid black;
background: #ccc;
}
</style>
</head>
<body>
<p>
This is the first paragraph.
</p>
<p>
This is the second paragraph.
</p>
</body>
</html>
margin collapse nested elements
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title></title>
<style type="text/css">
div {
margin: 20px;
background: pink;
}
p {
margin: 20px;
padding: 20px;
background: yellow;
}
</style>
</head>
<body>
<div>
<p> No margins</p>
</div>
</body>
</html>
margin collapse nested elements default padding
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title></title>
<style type="text/css">
div {
margin: 20px;
padding: 20px;
background: pink;
}
p {
padding: 20px;
background: red;
}
</style>
</head>
<body>
<div>
<p> No margins, ey?</p>
</div>
</body>
</html>
margin collapse nested elements padding
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title></title>
<style type="text/css">
div {
margin: 20px;
padding: 20px;
background: red;
}
p {
margin: 0;
padding: 20px;
background: pink;
}
</style>
</head>
<body>
<div>
<p> No margins</p>
</div>
</body>
</html>
margin collapse with nested elements
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title></title>
<style type="text/css">
div {
margin: 20px;
background: #ccc;
}
p {
margin: 20px;
padding: 20px;
background: #ddd;
}
</style>
</head>
<body>
<div>
<p> No margins</p>
</div>
</body>
</html>
Margin Collapsing
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
body {
color: #353535;
padding: 1em;
}
h1 {
font-size: 2.4em;
font-weight: normal;
}
.wrapper {
width: 420px;
border: 1px solid gray;
margin: 20px;
}
#box1 {
margin: 10px;
background-color:#d5d5d5;
}
#box2 {
margin: 10px;
background-color:#d5d5d5;
padding: 1px;
}
p {
margin: 20px;
background-color:#90C2F3;
}
</style>
</head>
<body>
<div class="wrapper">
<div id="box1">
<p>This paragraph has a 20px margin.</p>
</div>
</div>
<div class="wrapper">
<div id="box2">
<p>This paragraph has a 20px margin.</p>
</div>
</div>
</body>
</html>
Margin collapsing also happens between parent and child elements.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>margin</title>
<style rel="stylesheet" type="text/css">
div.margin-wrapper {
background: lightyellow;
border: 1px solid gold;
float: left;
margin: 5px;
}
div.margin-wrapper div {
background: khaki;
border: 1px solid black;
width: 25px;
height: 25px;
}
div#parent {
margin: 5px;
border: none;
background: crimson;
}
div#child {
margin: 5px;
}
</style>
</head>
<body>
<div class="margin-wrapper">
<div id="parent">
<div id="child">asdf</div>
</div>
</div>
</body>
</html>
Margin collapsing with adjacent siblings.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>margin</title>
<style rel="stylesheet" type="text/css">
div.margin-wrapper {
background: lightyellow;
border: 1px solid gold;
float: left;
margin: 5px;
}
div.margin-wrapper div {
background: khaki;
border: 1px solid black;
width: 25px;
height: 25px;
}
div#top {
margin: 5px;
}
div#bottom {
margin: 5px;
}
</style>
</head>
<body>
<div class="margin-wrapper">
<div id="top">asdf</div>
<div id="bottom">asdf</div>
</div>
</body>
</html>
margin sets the size of the margin surrounding the border.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
* .box {
display: static;
overflow: visible;
visibility: visible;
width: 160px;
height: 150px;
padding: 30px;
margin-left: 230px;
margin-top: 80px;
background-color: #ccc;
}
</style>
</head>
<body>
<h1>Box Model</h1>
<div class="box"></div>
</body>
</html>
Set margin to 0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
h2 {
margin: 0;
}
</style>
</head>
<body>
<h2>This is the title</h2>
<p>This is a text.</p>
</body>
</html>
Set margin to5em 0"
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
p {
text-indent: 2.5em;
margin: 0 0 0.5em 0;
padding: 0;
}
</style>
</head>
<body>
<h1>The heading for this page</h1>
<p>This is a text.</p>
<p>This is a text.</p>
</body>
</html>
Use margin to align block to center
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>margin</title>
<style rel="stylesheet" type="text/css">
body {
margin: 10px;
padding: 0;
}
div {
width: 50px;
height: 50px;
background: rgb(218, 220, 243);
border: 1px solid rgb(154, 157, 203);
}
div#center {
margin: 10px auto;
}
</style>
</head>
<body>
<div id="center">
</div>
</body>
</html>
Use margin to align block to left
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>margin</title>
<style rel="stylesheet" type="text/css">
body {
margin: 10px;
padding: 0;
}
div {
width: 50px;
height: 50px;
background: rgb(218, 220, 243);
border: 1px solid rgb(154, 157, 203);
}
div#left {
margin: 10px auto 10px 0;
}
</style>
</head>
<body>
<div id="left">
</div>
</body>
</html>
Use margin to align block to right
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>margin</title>
<style rel="stylesheet" type="text/css">
body {
margin: 10px;
padding: 0;
}
div {
width: 50px;
height: 50px;
background: rgb(218, 220, 243);
border: 1px solid rgb(154, 157, 203);
}
div#right {
margin: 10px 0 10px auto;
}
</style>
</head>
<body>
<div id="right">
</div>
</body>
</html>
Use margin to offset child
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>margin</title>
<style rel="stylesheet" type="text/css">
body {
margin: 0;
padding: 0;
}
div {
width: 100px;
height: 100px;
}
div#parent {
margin: 10px 20px;
background: yellow;
}
div#child {
margin: 20px;
background: lightyellow;
border: 1px solid gold;
}
</style>
</head>
<body>
<div id="parent">
<div id="child">
</div>
</div>
</body>
</html>
When all four values are provided, each is provided in order clockwise, beginning with the top property.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>margin</title>
<style rel="stylesheet" type="text/css">
div.margin-wrapper {
background: lightyellow;
border: 1px solid gold;
float: left;
margin: 5px;
}
div.margin-wrapper div {
background: khaki;
border: 1px solid black;
width: 25px;
height: 25px;
}
div#margin {
margin: 4px 6px 8px 10px;
}
</style>
</head>
<body>
<div class="margin-wrapper">
<div id="margin">asdf</div>
</div>
</body>
</html>
When one value is supplied to the margin shorthand property, all four sides are specified with that one value.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>margin</title>
<style rel="stylesheet" type="text/css">
div.margin-wrapper {
background: lightyellow;
border: 1px solid gold;
float: left;
margin: 5px;
}
div.margin-wrapper div {
background: red;
border: 1px solid black;
width: 25px;
height: 25px;
}
div#margin-one {
margin: 2px;
}
</style>
</head>
<body>
<div class="margin-wrapper">
<div id="margin-one">asdf</div>
</div>
</body>
</html>
When three values are supplied, the top is the first, the right and left sides are the second, and the bottom is the third.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>margin</title>
<style rel="stylesheet" type="text/css">
div.margin-wrapper {
background: lightyellow;
border: 1px solid gold;
float: left;
margin: 5px;
}
div.margin-wrapper div {
background: khaki;
border: 1px solid black;
width: 25px;
height: 25px;
}
div#margin-three {
margin: 2px 10px 4px;
}
</style>
</head>
<body>
<div class="margin-wrapper">
<div id="margin-three">asdf</div>
</div>
</body>
</html>
When two values are supplied to the margin shorthand property, the top and bottom are the first, right and left sides are the second.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>margin</title>
<style rel="stylesheet" type="text/css">
div.margin-wrapper {
background: lightyellow;
border: 1px solid gold;
float: left;
margin: 5px;
}
div.margin-wrapper div {
background: red;
border: 1px solid black;
width: 25px;
height: 25px;
}
div#margin-two {
margin: 2px 10px;
}
</style>
</head>
<body>
<div class="margin-wrapper">
<div id="margin-two">asdf</div>
</div>
</body>
</html>