margin移动哪个盒子(html盒子margin)

http://www.itjxue.com  2023-01-26 15:53  来源:未知  点击次数: 

CSS中margin的问题.

这个是边距合并问题导致的,除了给父元素设置border之外,给父元素设置padding-top值和padding-bottom值或者设置overflow:hidden等都可以解决边距合并的问题,这样父级元素就不会跟着动了,基本原理要学好啊

【css】外边距margin的属性和使用方法

外边距很好理解,就是指边框以外的距离,可以表示和其它元素之间的距离,使用margin属性来设置。

margin后面可跟多个值,中间用空格分离,含义如下:

(1)首先我们放置三个盒子,颜色不同,宽高均为100px。

(2)我们给中间的橙色盒子加上一个10px的上外边距,可以看到橘黄色的盒子向下移动了10px,上面多了一个上外边距。

(3)接下来我们去掉上外边距,改成给橘黄色盒子加上一个10px的下外边距,发现橘黄色盒子并没有移动,移动的是下面的黄色盒子,所以margin-top和margin-bottom的用法一定要区分开。

(4)外边距可以是赋值,我们给橘黄色盒子添加一个-50px的上外边距,可以看到橘黄色盒子向上移动了。

(1)我们放置一个大的红色盒子,里面包着一个小的橘黄色盒子,当我们为橘黄色盒子添加了一个50px的上外边距的时候,本来应该只是小盒子多了上外边距然后导致向下移动。结果发现,效果就好像是给大盒子加了上外边距一样,大盒子跟着小盒子一起塌陷下去了,并不是我们想要的效果。

(2)如果大盒子有边框,或者橘黄色盒子上面还有元素,情况会是正常的,可以达到我们想要的效果,不会出现塌陷:

(3)解决方法

在外部元素上面没有边框,其内部上方也没有其它元素挡着的时候,给其子元素设置上外边距,会导致塌陷,达不到想要的效果。目前我们只能在遇到这种情况的时候尽量使用padding去设置,不要使用margin,当然还有很多别的解决方法,就不细说啦。

我们放置两个盒子,给上面的盒子添加一个100px的下外边距,给下面的盒子添加一个50px的上外边距,最终效果如图所示,两个盒子最后中间只隔了100px:

当下方元素的上外边距遇到上方元素的下外边距,是会发生重合效果的,设置的时候一定要注意。

块元素才可以设置上下左右外边距,内联元素设置上下外边距是无效的。

margin?和?padding?在什么场合下使用

margin:用来调整盒子到盒子之间的距离,不会撑大显示的区域,但是会影响到别 的盒子

o 使用场景:需要在 border 外侧添加空白时;空白处不需要背景(色)时;上下 相连的两个盒子之间的空白,需要相互抵消时;

? padding:用来调整子元素(内容)在父元素(盒子)内的位置,会把盒子撑大,如 果不想被撑大,要在原来宽高的基础上减去对应方向的 padding 值

o 使用场景:需要在 border 内测添加空白时;空白处需要背景(色)时;上下相

? ? ? 连的两个盒子之间的空白,希望等于两者之和时;

margin怎么用

margin的塌陷问题:

元素和元素在垂直方向上的margin会有塌陷问题。会以margin数值大的为准,大的会覆盖掉小的。

例子

当给两个标准流下兄弟盒子设置垂直方向上的margin时,那么以较大的为准,那么我们成这种现象叫塌陷,没法解决。当设置浮动后就不会有塌陷现象了。

margin:0 auto;

例子

当div盒子设置 margin: 0 auto;盒子会自动居中。

使用margin: 0 auto; 要注意:

1.使用margin: 0 auto;水平居中盒子必须有width,要有明确width,文字水平居中使用text-align: center;

2.只有标准流下的盒子 才能使用margin:0 auto; 当一个盒子浮动了,固定定位,绝对定位(后面会讲), 不能用了

3.margin:0 auto;居中盒子。而不是居中文本,文字水平居中使用text-align: center;

margin属性是描述兄弟盒子的关系。

善于使用父盒子的padding来调整子盒子的位置:

使用padding属性调整上图红色盒子的位置:

例子

好文要顶 关注我 收藏该文

Qingqiu_Gu

关注 - 3

粉丝 - 24

+加关注

0 0

? 上一篇: 块级元素和行内元素

? 下一篇: 文本属性和字体属性

(责任编辑:IT教学网)

更多

推荐浏览器文章