用margin还是用padding?(3)—— 负margin实战

看过一篇文章是关于我知道你不知道的负Margin,里面对margin做了总结:

当margin四个值都为正数值的话,那么margin按照正常逻辑同周围元素产生边距。当元素margin的top和left是负值时会引起元素的向上或向左位置移动。而当元素margin的bottom和right是负值时会影响右边和下边相邻元素的参考线。

接下来就讲在实际开发中用到的几个比较常用的负margin实例:

1、bootstrap框架的栅格系统是一个亮点,它就用了负margin来完美的解决了container 和 row 之间的外边距问题,具体实现如下

其中,container设置了水平方向上的padding,使其内部内容不会接触到浏览器的边界,大小为15px,就是图片中粉红色的部分;特别注意里面嵌套的row有一个特殊的地方,就是左右各有-15px的margin,就是图片中的蓝色部分,这样就抵消了container的水平方向的15px的padding,千万记住要把row放到container的内部,这样才能保证正常。

2、多列等高布局——使用正padding和负margin对冲实现多列布局方法

这个方法就是,在所有列中使用正的上下padding,和负的上下margin,并在所有列外面加上一个容器,并设置overflow:hidden把溢出背景切掉。

 1 <html>
 2 <head>
 3 <meta charset="utf-8">
 4 <style type="text/css">
 5 * {
 6   margin:0;
 7   padding:0;
 8   border:0;
 9 }
10
11 #container {
12 margin: 0 auto;
13  overflow: hidden;
14  width: 960px;
15  }
16
17  .column {
18  background: #ccc;
19  float: left;
20  width: 200px;
21 margin-right: 5px;
22 margin-bottom: -99999px;
23  padding-bottom: 99999px;
24  }
25
26  #content {
27  background: #eee;
28  }
29
30  #right {
31  float: right;
32 margin-right: 0;
33  }
34
35 </style>
36 </head>
37
38 <body>
39
40 <div id="container" >
41   <div id="left" class="column aside" >
42   <p>Sidebar<br>Sidebar<br>Sidebar<br>Sidebar<br>Sidebar<br>Sidebar<br>Sidebar<br>Sidebar<br>Sidebar<br>Sidebar<br>Sidebar<br>Sidebar<br>Sidebar<br>Sidebar<br>Sidebar<br></p>
43   </div>
44   <div id="content" class="column section" >
45   <p>Main content </p>
46   </div>
47   <div id="right" class="column aside" >
48   <p>Sidebar</p>
49   </div>
50 </div>
51
52 </body>
53 </html>

时间: 2024-10-15 06:24:44

用margin还是用padding?(3)—— 负margin实战的相关文章

关于负margin在页面中布局的应用

本文转载自:http://www.cnblogs.com/jscode/archive/2012/08/28/2660078.html. 今天再写一个布局的时候用到一个margin-top是负值的情况,本来不是要用负值,但突然发现负值也能达到我要的效果,随后百度了一下,才发现了大牛的好文章,转载至此,算是学习一个经验,进行记录,同样也给分享给没看到的同学. 以下是正文 负数给人总是一种消极.否定.拒绝之感,不过有时利用负margin可以达到奇妙的效果,今天就表一表负值在页面布局中的应用.这里说的

负Margin

现如今,负margin技术的应用可谓越来越广,任一个大型站点惊鸿一瞥之下都会有其身影所在.个人认为负margin技术是学习css路上必不可缺少的课题之一,许多高级应用及疑难杂症修复都可以使用负margin技术进行实现. 负margin理论: 在说明什么是负margin之前,你得清楚margin是个啥么玩意,如果还不清楚可以先阅读本人的前一篇文章<不要告诉我你懂margin>,预补下知识,回头再读这篇文章,相信俩篇文章都能给你带来不少的收获. 为了形象.易懂的解释负margin,我们将引入W3C

标签页-导航 负margin

/* 标签页菜单 */div.bs-docs-example { position: relative; width: 600px; margin: 15px auto; padding: 39px 19px 14px; background-color: white; border: 1px solid #DDD; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;} div.bs-docs-exam

我知道你不知道的负Margin

现如今,负margin技术的应用可谓越来越广,任一个大型站点惊鸿一瞥之下都会有其身影所在.个人认为负margin技术是学习css路上必不可缺少的课题之一,许多高级应用及疑难杂症修复都可以使用负margin技术进行实现. 负margin理论: 在说明什么是负margin之前,你得清楚margin是个啥么玩意,如果还不清楚可以先阅读本人的前一篇文章<不要告诉我你懂margin>,预补下知识,回头再读这篇文章,相信俩篇文章都能给你带来不少的收获. 为了形象.易懂的解释负margin,我们将引入W3C

负margin在页面布局中的应用

负数给人总是一种消极.否定.拒绝之感,不过有时利用负margin可以达到奇妙的效果,今天就表一表负值在页面布局中的应用.这里说的负值主要指的是负margin. 关于负margin的原理建议大家看看这篇文章:http://www.cnblogs.com/2050/archive/2012/08/13/2636467.html#2457812 本文不讲原理,主要展示几个应用. 一.左右列固定,中间列自适应布局 此例适用于左右栏宽度固定,中间栏宽度自适应的布局.由于网页的主体部分一般在中间,很多网页都

关于盒模型的负margin

1.     负边距对由文档流控制的元素的作用是,会使它们在文档流中的位置发生偏移,但这种偏移不同于相对定位,通过相对定位偏移后,其仍然会坚守着它原来占据的空间,而通过负边距移动后的元素,其原来的空间会被后来的元素占据.注意:负margin不会使元素脱离文档流. 2.     在文档流中,元素的最终边界是由margin决定的.绝对定位的元素定义的top.right.bottom.left等值是元素自身的边界到最近的已定位的祖先元素的距离,这个元素自身的边界指的就是margin定义的边界. 3.

负margin一些奇葩的布局技巧

copy_from_ http://www.hicss.net/i-know-you-do-not-know-the-negative-margin/ <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <style> *{ margin:0; padding:0; } .demo

CSS负margin的影响

原文 简书原文:https://www.jianshu.com/p/87677fd2ea34 大纲 1.负边距对元素自身的影响 2.负边距在普通文档流中的作用 3.负边距对绝对定位的元素的影响 1.负边距对元素自身的影响 1.1.对自身宽度的影响 利用margin为负值添加增加宽度--可用于多列布局增加边距从而不需要增加宽度或者单独设置margin-right:0; <!DOCTYPE html> <html> <head> <meta http-equiv=&q

负margin使用注意的一个问题

在项目实力中经常用到负margin 如: <div id="test"> <ul> <li>子元素1</li> <li>子元素2</li> <li>子元素3</li> <li>子元素4</li> <li>子元素5</li> <li>子元素6</li> </ul> </div> 是实现如图的效果: