扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
margin是用来设定该元素与相邻元素直接的距离。
创新互联凭借专业的设计团队扎实的技术支持、优质高效的服务意识和丰厚的资源优势,提供专业的网站策划、网站制作、成都网站建设、网站优化、软件开发、网站改版等服务,在成都十载的网站建设设计经验,为成都近千家中小型企业策划设计了网站。
margin:0
20px
30%
0对应的是与上,右,下,左四边相邻元素的距离。
30%指下边距为其父元素的宽度的30%
补充:
1.如果margin只有三个值,按照值的顺序为margin:top
right
bottom;
缺少了left,根据原则,则left的值有right来代替。
margin:10px
20px
30px;就等于margin:10px
20px
30px
20px;
2.如果margin只有两个值,按照值的顺序为margin:top
right;
缺少了bottom和left,根据原则left的值由right来代替,bottm的值由top来代替。
margin:10px
20px;就等于margin:10px
20px
10px
20px;
3.如果margin只有一个值,按照值的顺序为margin:top;
缺少了bottom、left和right,根据原则left的值由right来代替,bottom的值由top来代替,right的值右top来代替,也就是说left的值也由top来代替。
margin:10px;就等于margin:10px
10px
10px
10px;
css有时MARGIN 不起作用是设置错误造成的,解决方法为:
1、新建一个HTML文件,命名为test.html。
2、为了测试出明显的效果,在test.html使用div定义了一个带边框的模块,里面放一个p标签。下面以p标签的外边距设置为例,详细讲解margin的使用。
3、使用margin设置p标签的左外边距。主要使用margin-left的方法定义左外边距的样式,值越大,距离左边就越大。
4、使用margin设置p标签的右外边距。主要使用margin-right的方法定义右外边距的样式,值越大,距离右边就越大。
5、使用margin设置p标签的上外边距。主要使用margin-top的方法定义上外边距的样式,值越大,距离上边就越大。
6、使用margin设置p标签的下外边距。主要使用margin-bottom的方法定义下外边距的样式,值越大,距离下边就越大。
这是内核浏览器的bug,很普遍的问题。解决的方法有几种:
1.margin换成padding(最快捷的方法)
2.使用浮动
3.给父级div加点内容,比较边框之类。或者在id=lianjie_t的div之前加点内容
具体不懂的话可以M我,互相帮助,望采纳。。。
补充下,这个问题在IE6是可以的,是浏览器的BUG问题,只要是父级div没有内容(也就是id=lianjie_t之前没内容),而且使用margin就会出现这个问题。别和自己较劲。。。
CSS:
#header,#footer{border:solid 1px #FF0033;height:20px;}
#main{padding:1px;margin:10px;border:solid 1px #F03;height:1%;}
#content{margin:200px;width:50px;border:solid 1px #F03;background:#C69;}
XHTML:
div id="header"/div
div id="main" onclick="alert(this.currentStyle.hasLayout)"
div id="content"ttttt/div
/div
div id="footer"/div
OK,我来解释一下,这个问题涉及到CSS的两个话题:“空白边叠加”和“IE拥有布局”。
首先,你应该已经对“空白边叠加“这个问题有所了解,如果不然,则你可以此为关键字在网上搜索一下,这个问题非常普遍,所以我就不再这里复制粘贴了,
下面说说导致问题的原因:
在IE中,"拥有布局的元素之间空白边不叠加",
当main的样式为:
#main{padding:1px;margin:10px;border:solid 1px #F03;}
这时候 div id="main" onclick="alert(this.currentStyle.hasLayout)"
通过JS探测到此时的main元素没有“拥有布局”,所以"空白边叠加"了,
为了使main元素"拥有布局",将main的样式设置为:
#main{padding:1px;margin:10px;border:solid 1px #F03;height:1%;}
(实际应该为:
#main{padding:1px;margin:10px;border:solid 1px #F03;}
/* IE5-MAC 隐藏\*/
* html #main{height:1%;}
/* 不在 IE5-MAC中隐藏 */
)
即为元素设置任意高度(其他方法请搜索之)使其”拥有布局“,问题便解决了。IE的”拥有布局“会导致很多问题,所以你可以深入了解下这个问题,以便在以后遇到类似的问题轻松解决。
Padding:这个简写属性设置元素所有内边距的宽度,或者设置各边上内边距的宽度。行内非替换元素上设置的内边距不会影响行高计算;因此,如果一个元素既有内边距又有背景,从视觉上看可能会延伸到其他行,有可能还会与其他内容重叠。元素的背景会延伸穿过内边距。不允许指定负边距值。值 描述
* padding-top
* padding-right
* padding-bottom
* padding-left
设置内边距。
值可以是:
* 百分比(基于父元素宽度的百分比)
* 长度值(固定的padding值)
Margin:这个简写属性设置一个元素所有外边距的宽度,或者设置各边上外边距的宽度。
块级元素的垂直相邻外边距会合并,而行内元素实际上不占上下外边距。行内元素的的左右外边距不会合并。同样地,浮动元素的外边距也不会合并。允许指定负的外边距值,不过使用时要小心。
值 描述
* margin-top
* margin-right
* margin-bottom
* margin-left
设置针对边距的属性。
值可以是:
* 百分比(基于父对象总高度或宽度的百分比)
* 长度值(定义一个固定的边距)
* auto(浏览器设定的值)。
默认值:未定义。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流