负边距布局

时间--2016-06-03知识点:margin的负值会让盒子的宽高都相应的变大。margin的负值会让出相应的位置。例如本文的案例中margin-right:-300px,这个盒子就会让出右边的宽度为300px的一个空间,后面的元素浮动的话就会占据他让出的空间。

本文只是个人理解,如有不妥敬请指正。

案例:<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title></title>    <style>        *{            margin: 0;            padding: 0;        }        #box{            width: 100%;            overflow: hidden;        }        .left{            float: left;            width: 100px;            height: 300px;            background: red;        }        #content{            float: left;            width: 100%;            height: 400px;            background: pink;            margin-right: -300px;/*负边距让这个盒子变宽*/        }        #content div{            margin-right: 300px;/*让这个盒子和父元素的右边有300像素的距离,其中300=左边的div宽度(100) + 右边div的宽度(200)*/        }        #side{            float: left;            background: peru;            width: 200px;            height: 300px;        }

        .wrap2{            width:320px;            border:dashed 1px orange;        }

        .wrap2 .inner{            overflow:hidden;            margin-left:-10px;        }

        .wrap2 .item{            float:left;            width:100px;            height:100px;            margin:10px 0px 10px 10px;            background:blue;        }    </style></head><body><div id="box">    <div class="left"></div>    <div id="content">        <div>            如果将元素的box-sizing属性设置为"border-box",则width和height表示的是内容、内边距和边框组成区域的高度和宽度。所以增加外边距对内容区域的尺寸没有影响,而增加内边距和边框会导致内容区域的尺寸减小。            现在开始讨论第一个问题:外边距叠加            外边距叠加是指当两个或更多垂直外边距相遇时,外边距的高度等于这几个外边距的高度中的较大者。这就是外边距叠加的情况,并且外边距叠加只发生在垂直外边距上。        </div>    </div>    <div id="side"></div></div>

<div class="wrap2">    <div class="inner">        <div class="item"></div>        <div class="item"></div>        <div class="item"></div>        <div class="item"></div>        <div class="item"></div>        <div class="item"></div>    </div></div>

</body></html>
时间: 2024-11-05 21:49:28

负边距布局的相关文章

css负边距布局

负边距布局 .container { overflow: hidden; } .wrap { width: 100%; float: left; } .body { background: red; margin-left: 120px; margin-right: 150px; } .left { background: green; margin-left:-100%; float:left; width: 120px; } .right { background: yellow; marg

负边距实现圣杯布局以及列等高

圣杯布局如下图所示, 图一 两边的内容宽度固定,中间栏宽度自适应.html代码如下, <div class="container"> <div class='main'> <p>main</p> <p>主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干

(转)CSS布局-负边距-margin

css中的负边距(negative margin)是布局中的一个常用技巧,只要运用得合理常常会有意想不到的效果.很多特殊的css布局方法都依赖于负边距,所以掌握它的用法对于前端的同学来说,那是必须的.本文非常基础,老鸟可以略过. 负边距在普通文档流中的作用和效果 那些没有脱离文档流的元素(指不是浮动元素也不是绝对定位.固定定位的元素等),其在页面中的位置是跟随者文档流的变化而变化的.看下面这幅图: 负边距对这些由文档流控制的元素的作用是,会使它们在文档流中的位置发生偏移,但这种偏移不同于相对定位

负边距在布局中的使用

负边距在布局中的使用 负边距即margin属性的值设为负值,在CSS布局中时一个很有用的技巧.值为正的场景很常见,大家都很熟悉其表现 当margin-top.margin-left为负值的时候,会把元素上移.左移,同时文档流中的位置也发生相应变化,这点与position:relative的元素设置top.left后元素还占据原来位置不同 当margin-bottom.margin-right设为负值的时候,元素本身没有位置变化,后面的元素会下移.右移 看几个应用场景 绝对定位元素 当元素被设置为

负边距、三栏布局(圣杯布局、双飞翼布局)

首先来了解下 一.负边距在让元素产生偏移时和position: relative有什么区别? position:relative产生偏移时,他原来的位置不会脱离文档流的,即还占用原来的空间,但负边距产生偏移时它原来的位置并不占用空间: 例如下面的代码 Document *{ margin: 0px; padding: 0px; } .up,.down,.middle{ background-color: red; height: 100px; width: 100px; } .negative-

【CSS】 布局之剖析负边距

我们都知道,一个元素框的大小是由元素内容+内边距+边框+外边距来决定的. 关于内边距padding,内边距呈现了元素的背景,其设置值是不可以为负的. 而对于外边距margin,默认为透明,设置值可以为负,其实这也就是所谓的负边距. 下面我们来分析一下margin负边距的原理. 首先我们看看下面的布局: 1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4

CSS之固定定位,绝对定位+负边距,双飞翼布局,属性选择器,伪类选择器补,状态伪类选择器,相邻全部兄弟选择器,取非选择器,em与rem,变形效果

固定定位: 绝对定位+负边距 !!!!!!!!!!!!!!!!!!!超重要 负边距 双飞翼布局 属性选择器 伪类选择器 补 状态伪类选择器 相邻全部兄弟选择器 取非选择器 em与rem 变形效果 固定定位: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> #div1 { height: 1200px; backgr

三列布局(浮动和负边距)

浮动大概思路是将前两个元素分别向左,向右浮动, 然后第三个自然就上来了. <div class="a"></div> <div class="c"></div> <div class="b"></div> .a{ float:left; width:50px; height:70px; background:orange; } .c{ float:right; width:5

css margin负边距之列布局(列表、圣杯、双飞翼)

技术服务于应用,技术来源于应用. 应用1:当接到设计师给的设计图时(如下图),发现每列左右和上下文保持一致,顿时整个心情就不好了.因为要兼顾响应式,即没办法保证每个列表单元的具体位置,是列表中间还是边缘,边缘两个要保证(左或右)内外边距为零,无法获得理想布局,综合多次搜索,得到解决办法: *** 增加列表区域宽度,margin设为负值. 原理相信有css基础的道友都清楚(负边距不仅能影响元素在文档流的位置,还能增加元素的宽度),父元素向右增加宽度(margin负值)与列表元素右边距相等,因使用的