首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CSS >

body的margin和paddin是如何理解的

2012-02-20 
body的margin和paddin是怎么理解的帮我看看这个例子:a.html--------------------------------------------

body的margin和paddin是怎么理解的
帮我看看这个例子:
a.html
----------------------------------------------------
<link   href= "a.css "   rel= "stylesheet "   type= "text/css ">
<div   id= "1 ">
abcd
</div>
-------------------------------

a.css
--------------------------------------
body{
BACKGROUND:   #dfd;
/*   MARGIN:   0px;   */
PADDING:   1px;
}
#1   {
background:   red;
text-align:   center
}
------------------------------

我疑惑的是,对于body而言,外部容器是什么
如果注释了这句话   MARGIN:   0px;
<div   id= "1 "> abcd </div>   的内容不能贴着浏览器的边框,why?
难道红色区域的上方和左右两侧是body外部的一个容器
但它的颜色怎么和body一样?

我是新手,最近在看一些网站的css文件,学习中

[解决办法]
帮顶了,学习中。。
[解决办法]
margin是外边距, 就是 容器与容器之间的距离
通常body div hr h1 等等display:block 的标签都可以当做容器看了
举个例子好比中国上海与日本东京之间的距离

padding是内补白,容器里面的内容通常为文本或图片等等 距离边框border的距离。好比上海和北京之间的距离。

一个是国家与国家之间的,一个是国家内部省或直辖市之间的距离了。

具体的可以去参考一下box 盒模型
[解决办法]
MARGIN
PADDING
以CSS手册的语言来说的话,MARGIN是外补丁,BODY其实还是有外容器的,可以理解为DOCUMENT,MARGIN设为0的话,也就是说BODY的四边和外容器的间距为0PX,因为BODY的MARGIN默认并不为0PX,所以注释掉的时候当然以它的默认值来算了

PADDING指的是内补丁,比如你放在TD或BODY中的文本和其它元素会被隔开,有点类似表格的间距
[解决办法]
1.对于body而言,外部容器是整个页面.
对于body有个特殊的地方是不设magin为0时
body(注意是body)和页面之间有空白

2.对于body而言,PADDING是body和内部元素的距离

楼主可以试下下面代码,然后再把style= "padding: 10px; "更改为style= "margin: 0px; "看效果

<html>
<head>
<title> Untitled Document </title>
</head>

<body style= "padding: 10px; ">
<table width= "500 " height= "500 " border= "1 " cellpadding= "0 " cellspacing= "0 " bordercolor= "#0000FF ">
<tr>
<td align= "left " valign= "top "> sgddfgsd </td>
</tr>
</table>
</body>
</html>


[解决办法]
body的外部容器该是html了吧

to hero4u(孤竹林):感觉举的例子不够妥当……上海到北京的距离还可以理解上海或者北京这个元素的margin……
[解决办法]
看注释和例子。
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 " />
<title> 无标题文档 </title>
<style type= "text/css ">
body{
BACKGROUND: #dfd;
MARGIN: 0px;
PADDING: 0px;

}
div#1 {
background:red;
text-align:center;
}
</style>
</head>

<body>
<!-- <body leftmargin= "0 " topmargin= "0 " rightmargin= "0 " bottommargin= "0 ">
这一句等价于CSS中的margin:0px;在CSS中也可以这样写:
body{
BACKGROUND: #dfd;
margin-left:0px;
margin-right:0px;
margin-right:0px;
margin-bottom:0px;
PADDING: 0px;
}
其实他指的就是网页正文内容距浏览器窗口上下左右四个的边距,以上三种写法效果相同。
padding:为当前元素距他的父级元素上下左右的边距,在此效果和margin应该是相同的。看下面的例子。
-->
<div id= "1 ">
abcd
</div>
<br> padding的例子
<table width= "600 " border= "0 " cellpadding= "0 " cellspacing= "1 " bgcolor= "#FF0000 ">


<tr>
<td width= "305 " bgcolor= "#FFFFFF " style= "padding-left:50px; "> 距此单元格左侧50个象素的边距开始写内容 </td>
<td width= "295 " bgcolor= "#FFFFFF "> &nbsp; </td>
</tr>
<tr>
<td bgcolor= "#FFFFFF " style= "padding-left:10px; "> 距此单元格左侧1个象素的边距开始写内容 </td>
<td bgcolor= "#FFFFFF "> &nbsp; </td>
</tr>
<tr>
<td bgcolor= "#FFFFFF " style= "padding:50px; "> 不设具体方向则上下左右相同,都为50象素。在此你可以把这段文字理解为body,而单元格的上下左右四个边距理解为浏览器窗口的四个边界。 </td>
<td bgcolor= "#FFFFFF "> &nbsp; </td>
</tr>
</table>
</body>
</html>

另:你的background:red;的意思应该是设置div的背影颜色,但如果html页面的开头用了 <!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 "> 则你的background:red;就会失效,建议用background-color:red;,应该是标准不同。自己多试试就知道了。

热点排行