margin负值的作用
一、左右负margin改变自身宽度
当元素不存在width或者width:auto的时候,负margin会增加元素的宽度。
html
<div class="parent">
<div class="div1">111</div>
</div>
css
.div1{
background-color: red;
margin-right:-100px;
}
.parent{
width:300px;
background-color: yellow;
}
效果图


可以看到,div1多出了100px的宽度,正是因为加了负的margin。事实上,margin-left和margin-right都可以增加宽度。
2、上下负margin对文档流的影响
当我们给一个元素设置负边距时,比如margin-top:20px,会使这个元素向上偏移20px的距离,不同于相对定位保存原来的物理空间,他会放弃偏移之前占据的空间,这样他后面的文档流就会流过来填充这部分空间。
html
<div class="div1">111</div>
<div class="div2">222</div>
<div class="div3">333</div>
css
.div1,.div2,.div3{
width: 100px;
height:100px;
}
.div1{
background-color: red;
}
.div2{
background-color: yellow;
}
.div3{
background-color: green;
}
效果图

当我们在div2上加上margin-top:-50px,时,效果图如下:

margin-bottom负值不会产生位移,但是会减少自身供css读取的高度。
html
<div class="div1">111</div>
css
.div1{
width: 100px;
height:100px;
background-color: red;
margin-bottom: -50px;
}
效果图

如图所示,左侧是div的实际高度,右侧是css能读到的高度。
3. 可以使改变浮动元素的显示位置
html
<div class="div1">111</div>
<div class="div2">222</div>
<div class="div3">333</div>
css
.div1,.div2,.div3{
width: 100px;
height:100px;
float: left;
}
.div1{
background-color: rgba(255,0,0,0.6);
}
.div2{
background-color: rgba(255,255,0,0.6);
margin-left: -20px;
}
.div3{
background-color: rgba(0,128,0,0.6);
margin-left: -20px;
}
效果图

负的margin会改变浮动元素的显示位置,即使元素写在dom的后面,我也能让它显示在最前面。其实,圣杯布局,双飞翼布局都是利用这个原理实现的。
参考:http://www.jianshu.com/p/549aaa5fabaa
http://www.cnblogs.com/2050/archive/2012/08/13/2636467.html#2457812
margin负值的作用的更多相关文章
- 几个常见的布局的多种实现方式及margin负值总结
第一部分:几个常见的布局实现方式 一.左右两边固定, center中间自适应未知 html代码中 center 部分首先要放在box的最前部分.然后是left,right 圣杯布局: <div ...
- 微吧里的各种margin负值
直在做各种项目接各种需求,但你的代码能力得到提高了吗?不停的项目经历虽然能够增加你的代码行数,但不一定能提升你的代码质量,所以除了构建阶段的代码细扣,项目之后的代码总结是至关重要的. 微吧中除了模块化 ...
- 左侧固定,右侧自适应的布局方式理解margin负值理论
一.浮动布局 1.先让固定宽度的div浮动!使其脱离文档流.2.margin-left的值等于固定div的宽度相等. .aside{ float: left; width: 200px; backgr ...
- [转] margin负值的探讨
原文: margin负值-权威指南 [http://www.csswang.com/exp/cssexp/3863.html] static元素是没有设定成浮动的元素,下图说明了负margin对st ...
- 深入理解CSS中的margin负值
前面的话 margin属性在实际中非常常用,也是平时踩坑较多的地方.margin折叠部分相信不少人都因为这样那样的原因中过招.margin负值也是很常用的功能,很多特殊的布局方法都依赖于它.它看似简单 ...
- margin负值的几种妙用
1:定位+margin负值实现元素水平垂直居中 div{ position: absolute; z-index: 1; left: 50%; margin-left: -50px; width: 1 ...
- margin负值 – 一个秘密武器
CSS盒模型中,margin是我们老熟悉的一个属性了, 它的负值你用过吗? 你知道 margin负值的秘密武器吗?我们一起看看吧! 1.带竖线分隔的横向列表(例如:网站底部栏目) 传统的分隔符是使用 ...
- margin负值的使用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 理解margin负值
效果 上和左方的margin负值使元素向上和左方向移动,如果该元素position不是absolute或fixed,这还会导致之后的元素也向上,左移 下和右方的margin负值会缩小下和右方的空间,使 ...
随机推荐
- python re 正则匹配 split sub
import re 编译: motif='([ST])Q' seq="SQAAAATQ" regrex=re.compile(motif) #编译成正则对象 regrex=re.c ...
- 将PDF文件中按页截取,并以流的形势返回给客户端
#需要用到pyPdf库 from pyPdf import PdfFileWriter,PdfFileReader from django.http import HttpResponse try: ...
- Secret 的使用场景 - 每天5分钟玩转 Docker 容器技术(109)
我们可以用 secret 管理任何敏感数据.这些敏感数据是容器在运行时需要的,同时我们不又想将这些数据保存到镜像中. secret 可用于管理: 用户名和密码. TLS 证书. SSH 秘钥. 其他小 ...
- kafak集群安装-转
前言 最近在利用Spark streaming和Kafka构建一个实时的数据分析系统,对图书阅读数据进行分析,做实时推荐.Spark Streaming 模块是对于 Spark Core 的一个扩展, ...
- Cocos2d3.0 制作PList文件
auto root = Dictionary::create(); auto string = String::create("string element value"); ro ...
- 怎样获取HTML5视频的持续时间
HTML5视频的Bigger体验是非常令人振奋的,非常easy的道理,不用载入和依赖烦人的Flash或其它第三方插件来播放视频,也是大功一件.我们能够通过自己定义控件对视频进行显示和操控,当中一个常见 ...
- JAVA入门[9]-mybatis多表关联查询
概要 本节要实现的是多表关联查询的简单demo.场景是根据id查询某商品分类信息,并展示该分类下的商品列表. 一.Mysql测试数据 新建表Category(商品分类)和Product(商品),并插入 ...
- java注解细节
现在很多框架都使用注解了,典型的像Spring里面就可以看到大量的注解,比如@Service,@Controller这一类的都是注解.注解Annotation是java一项很重要的功能.下面就来整理一 ...
- Redis的那些最常见面试问题
随笔:经过长达一周的奔波和面试,电话面试,回首今天终于成功的入职了,总共面试了大概10家公司,包括阿里,京东,IBM等等,京东技术过了,学历因为非统招就被pass了,阿里面了2次电话面试就没下文了,估 ...
- CS:APP3e 深入理解计算机系统_3e Attacklab 实验
详细的题目要求和资源可以到 http://csapp.cs.cmu.edu/3e/labs.html 或者 http://www.cs.cmu.edu/~./213/schedule.html 获取. ...