`
liuguofeng
  • 浏览: 448763 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

负边距margin布局计算方法

    博客分类:
  • css
 
阅读更多

其实用负边距布局最大的优点就是布局不受html结构的影响,可以任意调换预备放在同一行的块的位置。这对于我们想要把最重要的内容最先呈现在用户面前有着很大的作用和益处。那么如何计算负边距呢?先看下面的代码。
<style type="text/css">
*{margin:0;padding:0;}
.wrap div{float:left;height:400px;}
.wrap {overflow:hidden;_zoom:1;}
.content{width:60%;background:gray;}
.nav{width:20%;background:orange;}
.infor{width:19%;background:green;}
</style>
<body>
<div class="wrap">
<div class="content">a</div>
<div class="nav">b</div>
<div class="infor">c</div>
</div>
</body>
这段代码从结构可以看出一个大的父包含框里有三个液态子块,css样式将这些子块向左浮动。在给出计算方法之前,我们需要做一个实验,给导航nav增添一个属性margin-left:20%;这时,我们通过浏览器的显示结果可以知道c模块也就是infor被挤到了下一行显示。再做个对比实验。在原始代码中,把c模块向左移动19%,也就是在infor中添加margin-left:-19%;的属性,浏览器这时会显示c模块覆盖在了b上,但是b和a的位置都没有发生移动。

通过上面
实验的结果对比我们可以发现对浮动模块使用负边距可以覆盖在相应的浮动模块上,负边距的边距属性并不对其它模块的位置产生作用,他的移动参考点是以本身为参考的。这点和正边距是大为不同的。正边距以相邻模块的位置为参考点进行移动,并对周围模块进行合理地排挤


好了,通过以上的解释,我们来实现一个bac的布局。我们需要花费很小的移动代价,以尽量少地影响其它模块的位置为前提来布局。我们需要让a模块为b预留相应的宽度位置,b的宽度为20%,所以我们给a增添margin-left:20%;的属性(在本文头部给出的原始未改动的代码中添加)。根据我们实验的结论可知,正边距会使得b和c模块相应的移动,也就是被挤离原来的位置20%,这时b模块要移动到最左边,需要超越a的60%宽度,并加上自己被挤走的20%,使用负边距属性margin-left:-80%;到达预定位置。好了,布局结束。

或许有人要问,那c模块呢,它不是被挤离了20%吗?嘿嘿,要记住abc都是被浮动了的啊,ab完成了位置交换活动,c的位置又没有被占领,c自然挤回去了。

那么,如果你明白了以上的原理,是否也能够自己实现其它的布局诸如acb,cab,bca呢?

分享到:
评论

相关推荐

    XML应用开发(软件品牌)-1期 4.9 课堂实践-使用CSS容器属性显示XML文档-边距属性margin和补白属性paddin

    在XML应用开发中,使用CSS来美化和布局XML文档是一种常见的方法。在4.9课堂实践中,主要关注的是如何利用CSS的容器属性——边距属性`margin`和补白属性`padding`来调整XML数据的显示效果。这两个属性在创建清晰、有...

    css布局之负margin妙用及其他实现

    这种方法的一个小问题是,由于margin基于父元素计算,可能存在微小的计算误差,但在移动设备上,这种误差通常可以忽略不计。 ```css .test1 { padding: 0 2%; margin-left: -3.3%; } .test1 &gt; li { width: ...

    CSS重要属性之 margin 属性知识大整合(必看篇)

    当元素使用margin百分比时,上下边距是根据父元素的宽度计算,左右边距则根据元素本身的宽度计算。 2. 绝对定位的margin百分比设置 在绝对定位元素中,如果父元素设置了relative、absolute或者fixed定位方式,则该...

    CSS中使用负margin值来调整居中位置

    总的来说,虽然负margin值居中方法在现代网页设计中逐渐被更先进的布局技术所取代,但在需要兼容旧版浏览器或在特定的场景中,这种技术仍然有其实用价值。开发者需要根据项目需求,权衡该方法的利弊,决定是否采用。

    三栏布局--左右宽度固定,中间自适应宽度

    本文将详细介绍三种实现三栏布局的方法:通过设置浮动、利用负边距以及采用绝对定位。 #### 方法一:设置浮动 这种方法的核心思想是通过设置浮动让各个元素脱离文档流,并通过特定的顺序安排这些元素的位置。 **...

    自适应css布局——流动布局新时代

    在处理流动布局时,设计师还必须考虑边距(margin)的处理方式。边距可以使用百分比来保持与页面宽度的一致性,或者使用固定像素值以保证在不同分辨率下边距的统一性。两种方法都有其优缺点,具体选择哪一种取决于...

    css中padding、margin两个重要属性的详细介绍及举例说明

    其中,`padding`与`margin`是两个至关重要的属性,它们直接影响着网页元素的空间布局与视觉效果。本文将详细介绍这两个属性的功能、使用方法以及一些进阶技巧,帮助读者更深入地理解和掌握它们。 #### 二、基础知识...

    网页布局入门教程 如何用CSS进行网页布局

    盒模型是网页布局的基石,由边框(border)、外边距(margin)、内边距(padding)和盒子中的内容(content)四部分组成。盒模型的尺寸计算方式是:宽度=边框+外边距+内边距+内容区的宽度,高度同理。块级元素和行级...

    很少朋友知道的margin 百分比是按参照物来计算的

    总结来说,了解并正确使用CSS中margin百分比的计算方式,能够帮助我们更好地控制页面布局,特别是在响应式设计中,这种基于百分比的弹性布局方法是非常有用的。通过上述示例,我们可以看到在不同情况下,如何根据父...

    Div+CSS布局居中

    **注意事项**:使用这种方法时,需要确保容器元素有确切的宽度值,并且负的`margin-left`值是该宽度的一半。同时,注意这种方法可能会导致布局在不同屏幕尺寸下的适配问题。 #### 总结 以上介绍了三种常用的实现...

    完整版设置编辑框左右边距.e.rar

    在编程和软件开发中,编辑框(通常是文本编辑器或代码编辑器)是用户界面中的一个关键元素,它允许用户输入、查看和编辑文本。...实际应用中,开发者需要根据项目需求和所使用的工具选择合适的方法进行边距设置。

    CSS网页布局DIV水平居中的各种方法

    #### 二、使用相对定位与负的边距 这种方法更加灵活,尤其适用于动态宽度的元素。通过结合使用`position:relative`、`left:50%`和`margin-left:-380px`,可以使元素相对于其初始位置进行水平居中。下面是一段示例...

    QT编程布局篇

    3. **设置布局属性**:可以调整布局的属性,如边距(margin)和间距(spacing),以及控件的伸缩性(stretch factor)来影响布局行为。 4. **将布局设置到父窗口或容器**:使用`setLayout()`方法将布局设置到父窗口...

    高级网站设计师手写代码篇(div+css布局)

    6. **盒模型**:掌握盒模型的概念,包括内容(content)、内边距(padding)、边框(border)和外边距(margin),并学会计算元素的总尺寸。 7. **响应式设计**:了解媒体查询@media,如何根据设备特性调整布局,实现跨设备...

    【网页设计-最新经典技术文档】CSS布局入门.pdf

    CSS2盒模型是理解CSS布局的关键,它将每个元素视为一个矩形盒子,包括内容区(content)、内边距(padding)、边框(border)和外边距(margin)四个部分。在盒模型中,元素的总宽度和总高度由内容区加上内边距和边框的宽度...

    《精通CSS.DIV网页样式与布局》示例汇总

    3. 盒模型:理解盒模型是理解CSS布局的关键,包括内容(content)、内填充(padding)、边界(border)和外边距(margin)的概念,以及盒模型的不同计算方式。 4. 布局技术:介绍流体布局、响应式布局、栅格系统等现代网页...

    margin折叠

    在实际开发中,理解并掌握margin折叠的概念是至关重要的,因为它可以帮助我们更好地控制页面元素的间距,避免因外边距计算错误导致的布局混乱。通过阅读博客链接中的内容(https://yxc-gdut.iteye.com/blog/1847304...

    第27章 CSS传统布局[下]

    负的`margin`值可以用来调整元素间的间距,或者实现特定的布局效果,如在不浮动元素的情况下拉近元素。 9. **边距重叠**: 当相邻的块级元素的上边距或下边距相遇时,CSS会合并它们,只显示最大的那个。这是所谓...

    CSS商业网站布局之道.rar

    2. **盒模型**:理解CSS盒模型的概念,包括内容(content)、内边距(padding)、边框(border)和外边距(margin),以及如何计算元素的实际尺寸。 3. **布局模式**:学习流体布局、固定布局、网格布局和响应式布局等常见...

Global site tag (gtag.js) - Google Analytics