负边距在布局中的使用(负外边距)

yumo6669小时前技术文章1

负边距即margin属性的值设为负值,在CSS布局中时一个很有用的技巧。值为正的场景很常见,大家都很熟悉其表现

当margin-top、margin-left为负值的时候,会把元素上移、左移,同时文档流中的位置也发生相应变化,这点与position:relative的元素设置top、left后元素还占据原来位置不同

当margin-bottom、margin-right设为负值的时候,元素本身没有位置变化,后面的元素会下移、右移

看几个应用场景

1.绝对定位居中的应用

效果如下:

2、float元素

负边距对float元素的影响也是按照上面说的,不过有其特殊性,我们看个例子就很清楚了




有三个div的宽度之和是300px,大于280px,一行排不满,如果第三个div改成下图:

就可以显示在一行,如下图:

3、带有右边距的浮动子元素列表

看到这种效果你第一想法是什么?会不会是子元素设置margin-right,在遍历的时候nth-child(3n)还要设置为0,看看利用上面知识我们可以怎样处理。

没有设置nth-child(3n)的边距为0,是通过负边距使父元素“变大”。

切图网(qietu.com)是一家专门从事web前端开发的公司,专注we前端开发,关注用户体验,欢迎订阅微信公众号:qietuwang

相关文章

浅谈position中absolute和relative

CSS position属性中absolute和relative很容易让人弄混,基本的概念什么着,你去参考W3C,就不啰嗦了--------------------------------------...

CSS box-sizing 属性详解(css中box属性有哪些)

box-sizing 是 CSS 的一个非常重要的属性。CSS 的 box-sizing 属性用于控制元素尺寸的计算方式,决定了元素的宽度( width )和高度( height )是否包含内边距(...

探索CSS position属性(css的position的属性有哪些)

提示:点击上方"蓝色字体"↑ 可以订阅噢!摘要 51RGB官方微信position是CSS中非常重要的一个属性,通过position属性,我们可以让元素相对于其正常位置,父元素或者浏览器窗口进行偏移。...

为什么有些事情用CSS就够了(css为什么不能用百分比)

JavaScript确实强大,这是毋庸置疑的。 但你知道吗?其实不一定每次都需要它。 事实上,JavaScript越少,网站性能往往越好。 为什么要减少JavaScript的使用? 想象你背...

简单了解CSS3的all属性(css3 selector)

作者:张鑫旭(@张鑫旭)网址:http://www.zhangxinxu.com/wordpress/2016/03/know-about-css3-all/一、兼容性一些CSS文章,或者CSS文档,...

CSS实现常见元素水平、垂直居中(css中元素水平居中显示的方法?)

CSS实现常见元素水平、垂直居中(css中元素水平居中显示的方法?)

本文简单介绍如何通过CSS实现常见元素的水平、垂直居中。水平居中行内元素这种情况最简单,只需要将行内元素包括在一个display属性为block的父元素中,并且设置父元素text-align为居中即可...