网页设计:Css大坑之一,设置margin无效 | 您所在的位置:网站首页 › css设置上外边距属性怎么设置 › 网页设计:Css大坑之一,设置margin无效 |
出现这个问题基本和垂直外边距的特性有关。注意是垂直外边距margin-top/bottom啊,不是水平外边距。 垂直外边距特性: 1.兄弟盒子的垂直外边距会重合,取兄弟元素设置的margin属性最大值。比如上面的盒子设置margin-bottom:200px,下面盒子设置margin-top:100px,那最终两个盒子隔开距离是200px。 2.父子盒子的垂直外边距会传递,在一定的条件下,由子元素margin-top属性会单方向传递给父元素的margin-top属性。 下面会进行实验,看看margin具体是怎么无效的。看一下实验场景: 标题 *{ margin: 0; padding: 0; } .box1{ height: 200px; width: 200px; background-color: darkorange; /* margin-top: 100px; */ } .box1-1{ height: 100px; width: 100px; background-color:rgb(0, 49, 209); /* margin-top: 30px; */ /* border-style: solid; */ } .box2{ height: 200px; width: 200px; background-color: darkorchid; } .box3{ height: 200px; width: 200px; background-color: darkred; } .box4{ height: 200px; width: 200px; background-color: rgb(252, 172, 146); }body里面有4个大盒子,其中box1有一个子盒子box1-1;box1/2/3/4互相之间是属于兄弟元素。box1和box1-1之间属于父子元素。 渲染出的页面:
但当我们设置橙色盒子margin-bottom:100px;后,发现橙色和紫色盒子垂直距离没有变化,也就是发生了无效的情况。按文章开头提到的特性,此时只有紫色盒子的margin-top:200px;生效。 解决方案:无需解决,只需要记住规律就可以。实在有强迫症可以把无效的属性删除,比如上面的删除橙色盒子的margin-bottom:100px; 然后说一下父子盒子margin设置无效。简单说一下父子盒子的关系。父子盒子也叫父子元素,盒子也就是div是html元素的一种,我比较喜欢把单纯的div标签元素称为盒子。然后一个A盒子里面放一个盒子B,那A就是B的爹。 实验场景中,我在橙色盒子里放一个蓝色盒子。现在我想把蓝色盒子在橙色盒子里往下移一点,也就是这样: 但实际是橙色盒子往下移动了50px,蓝色盒子在橙色盒子内没有移动,margin-top不生效。 解决方法: 1.给父盒子加一个边框属性border-style:solid; 然后把边框颜色变透明:border-color:rgba(0,0,0,0); 但有副作用,那就是父子盒子之间会隔开距离,距离为边框的默认宽度3px(因为我没有设置边框宽度,所以是3px),如图所示(仔细看,蓝色和橙色之间有微小缝隙): 2.不对子盒子使用margin-top属性,对父盒子使用padding-top属性。这个方法同样有副作用,那就是橙色盒子高度被多撑开了50px,是从padding-top的50px那来的。如图所示:
以上两种方法都是从结构来使得蓝色盒子在橙色盒子里往下移动,下面说说其他方法是怎么做的 3.相对定位。 先设置成相对定位:position:relative;然后在子盒子的Css样式中加入:top:50px; 即可让蓝色盒子在橙色盒子中往下50px,蓝色盒子相对于它原来的位置往下移动50px。关于相对定位本文就不展开讲了,感兴趣的可以百度仔细了解相对定位是如何使用的。 .box1-1{ height: 100px; width: 100px; background-color:rgb(0, 49, 209); position: relative; top: 50px; }4.可以设置浮动,此时设置margin有效且不会被继承,但会牵扯到浮动的问题。 .box1-1{ height: 100px; width: 100px; background-color:rgb(0, 49, 209); float: left; margin-top: 50px; }总结:这4种方法是比较常用的。在本例中,使用相对定位最简单快捷,牵扯结构较少。还有其他方式,就不展开了。 截图,删代码换情况,组织语言,写了好久。。。如果这篇文档帮到您,可以点赞支持一下作者,非常感谢(_) |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |