其实用负边距布局最大的优点就是布局不受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呢?
- 浏览: 450201 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (377)
- Java (66)
- C++ (0)
- VC++ (0)
- .net (1)
- css (36)
- 数据库 (22)
- html (2)
- extjs (1)
- jpbm (0)
- javascript (31)
- 物资管理 (1)
- java基础 (5)
- C# (0)
- Android (56)
- window service (1)
- 其他 (2)
- Web服务器 (7)
- jbpm (1)
- eclipse (2)
- tomcat (3)
- java字符串与二进制的相互转化 (1)
- Oracle 数据库 (6)
- FreeMarker (8)
- 浏览器 (1)
- php (1)
- photoshop (6)
- spring (4)
- spring mvc (2)
- Acegi (1)
- webStorm 3.0 (4)
- Mongodb (8)
- mysql (9)
- 软件开发:需求分析 (1)
- 把Java程序作为Windows系统服务 (1)
- nodejs (4)
- json (1)
- 缓存 (1)
- J2ee (2)
- Flash报表 (1)
- MyEclipse+Maven+Tomcat (11)
- 生活 (1)
- Ubuntu (1)
- Bootstrap (1)
- jquery easy ui (2)
- 敏捷开发 (1)
- phone gap (1)
- rest (1)
- 移动开发 (22)
- Redis + Jedis + Spring (3)
- anroid (7)
- grunt 教程 (7)
- PhoneGap (2)
- sublime text (7)
- mariadb (1)
- linux (1)
- maven (2)
- jquery (1)
- ActiveMQ (1)
- LVS Nginx (1)
- nginx (6)
- ngnix (1)
- 爱因斯坦 (1)
- 天干地支 (1)
最新评论
-
muqingren:
...
Maven多模块布局实例详解 -
shutear:
解决了我的难题,谢谢分享!
Unable to load configuration. - action - file:/D:/studytool/apache-tomcat-6.0.16 -
702346318:
[img][/img][flash=200,200][/fla ...
CAS单点登录完整教程(上)【转】 -
liuguofeng:
PersonS631887934 写道学习中。。 有个问题想请 ...
js constructor属性 -
S631887934:
学习中。。 有个问题想请教楼主为什么要加上Person.pro ...
js constructor属性
发表评论
-
CSS实现二列等高布局及右边自适应宽度
2015-01-06 21:53 724html, body, div, span, applet, ... -
关于CSS浮动以及清除浮动的几种方法
2015-01-06 21:36 1238众所周知,CSS浮动在日常页面运用中起到非常重要的作用。例如 ... -
CSS3兼容旧版IE(6,7,8)解决方案
2014-11-29 11:23 618http://www.16code.com/css3-fo ... -
使用SVG中的Symbol元素制作Icon
2014-11-01 15:41 1035原文出处: 腾讯ISUX ... -
CSS设计模式:OOCSS 和 SMACSS
2014-11-01 14:18 630真心觉得写出 CSS 并不难,但是要写出可被维护的 CSS ... -
编写可维护的CSS
2014-11-01 14:16 580http://blog.jobbole.com/76032/ ... -
人人FED CSS编码规范
2014-09-26 15:07 583浏览器特效支持规范 为了页面性能考虑,如果浏览器不支持C ... -
那些年我们一起清除过的浮动
2014-09-25 22:35 730浮动(float),一个我们即爱又恨的属性。爱,因为通过浮 ... -
详解inline-block
2014-09-25 22:35 974转自:http://ued.taobao.com/blog/ ... -
前端精选文摘:BFC 神奇背后的原理
2014-09-25 22:01 453BFC 已经是一个耳听熟闻的词语了,网上有许多关于 BFC ... -
Block Formatting Context
2014-09-25 22:01 461来自聚焦前端@任浩‘博客http://www.focus ... -
CSS布局奇淫技巧之-宽度自适应
2014-08-31 15:21 862css这个东西,说难不难,说容易也不容易。我觉得最重要的还是 ... -
DIV+CSS规范命名大全集合
2014-08-31 11:13 618头:header 内 ... -
最常用和实用的CSS技巧
2014-08-31 10:42 612下面是CSS最常用和实用的技巧。 1.重置浏览器的字体大小 ... -
Web页面中八种创建多列等高(等高列布局)的实现技术
2014-08-31 10:19 726高度相等列在Web页面设计中永远是一个网页设计师的需求 ... -
用好负边距,省时又省力
2014-08-30 19:04 712说到负边距,广大的前端兄弟们肯定不会陌生,外边距 margi ... -
css样式表中margin负值的五种应用详解
2014-08-28 10:56 483在网页前端设计中经 ... -
javascript中的数据类型、Object与Function
2014-10-28 09:36 5921. 数据类型 javascript中包含6种数据类型 ... -
如何减少浏览器repaint和reflow(下)
2014-08-27 22:03 0四、如何优化你的脚本来减少reflow/repaint? ... -
如何减少浏览器repaint和reflow(中)
2014-08-27 22:02 0三、浏览器优化 浏览器对于每一个渲染动作并不是立即执行,而 ...
相关推荐
在XML应用开发中,使用CSS来美化和布局XML文档是一种常见的方法。在4.9课堂实践中,主要关注的是如何利用CSS的容器属性——边距属性`margin`和补白属性`padding`来调整XML数据的显示效果。这两个属性在创建清晰、有...
这种方法的一个小问题是,由于margin基于父元素计算,可能存在微小的计算误差,但在移动设备上,这种误差通常可以忽略不计。 ```css .test1 { padding: 0 2%; margin-left: -3.3%; } .test1 > li { width: ...
当元素使用margin百分比时,上下边距是根据父元素的宽度计算,左右边距则根据元素本身的宽度计算。 2. 绝对定位的margin百分比设置 在绝对定位元素中,如果父元素设置了relative、absolute或者fixed定位方式,则该...
总的来说,虽然负margin值居中方法在现代网页设计中逐渐被更先进的布局技术所取代,但在需要兼容旧版浏览器或在特定的场景中,这种技术仍然有其实用价值。开发者需要根据项目需求,权衡该方法的利弊,决定是否采用。
本文将详细介绍三种实现三栏布局的方法:通过设置浮动、利用负边距以及采用绝对定位。 #### 方法一:设置浮动 这种方法的核心思想是通过设置浮动让各个元素脱离文档流,并通过特定的顺序安排这些元素的位置。 **...
在处理流动布局时,设计师还必须考虑边距(margin)的处理方式。边距可以使用百分比来保持与页面宽度的一致性,或者使用固定像素值以保证在不同分辨率下边距的统一性。两种方法都有其优缺点,具体选择哪一种取决于...
其中,`padding`与`margin`是两个至关重要的属性,它们直接影响着网页元素的空间布局与视觉效果。本文将详细介绍这两个属性的功能、使用方法以及一些进阶技巧,帮助读者更深入地理解和掌握它们。 #### 二、基础知识...
盒模型是网页布局的基石,由边框(border)、外边距(margin)、内边距(padding)和盒子中的内容(content)四部分组成。盒模型的尺寸计算方式是:宽度=边框+外边距+内边距+内容区的宽度,高度同理。块级元素和行级...
这种计算方法可以帮助我们准确地控制嵌套元素的大小。 5. **处理间距问题**:在流式布局中,间距也是需要特别注意的一个方面。为了确保元素之间的间距随着屏幕尺寸的变化而变化,可以通过设置元素的`margin`和`...
总结来说,了解并正确使用CSS中margin百分比的计算方式,能够帮助我们更好地控制页面布局,特别是在响应式设计中,这种基于百分比的弹性布局方法是非常有用的。通过上述示例,我们可以看到在不同情况下,如何根据父...
**注意事项**:使用这种方法时,需要确保容器元素有确切的宽度值,并且负的`margin-left`值是该宽度的一半。同时,注意这种方法可能会导致布局在不同屏幕尺寸下的适配问题。 #### 总结 以上介绍了三种常用的实现...
在编程和软件开发中,编辑框(通常是文本编辑器或代码编辑器)是用户界面中的一个关键元素,它允许用户输入、查看和编辑文本。...实际应用中,开发者需要根据项目需求和所使用的工具选择合适的方法进行边距设置。
#### 二、使用相对定位与负的边距 这种方法更加灵活,尤其适用于动态宽度的元素。通过结合使用`position:relative`、`left:50%`和`margin-left:-380px`,可以使元素相对于其初始位置进行水平居中。下面是一段示例...
3. **设置布局属性**:可以调整布局的属性,如边距(margin)和间距(spacing),以及控件的伸缩性(stretch factor)来影响布局行为。 4. **将布局设置到父窗口或容器**:使用`setLayout()`方法将布局设置到父窗口...
6. **盒模型**:掌握盒模型的概念,包括内容(content)、内边距(padding)、边框(border)和外边距(margin),并学会计算元素的总尺寸。 7. **响应式设计**:了解媒体查询@media,如何根据设备特性调整布局,实现跨设备...
CSS2盒模型是理解CSS布局的关键,它将每个元素视为一个矩形盒子,包括内容区(content)、内边距(padding)、边框(border)和外边距(margin)四个部分。在盒模型中,元素的总宽度和总高度由内容区加上内边距和边框的宽度...
3. 盒模型:理解盒模型是理解CSS布局的关键,包括内容(content)、内填充(padding)、边界(border)和外边距(margin)的概念,以及盒模型的不同计算方式。 4. 布局技术:介绍流体布局、响应式布局、栅格系统等现代网页...
在实际开发中,理解并掌握margin折叠的概念是至关重要的,因为它可以帮助我们更好地控制页面元素的间距,避免因外边距计算错误导致的布局混乱。通过阅读博客链接中的内容(https://yxc-gdut.iteye.com/blog/1847304...
负的`margin`值可以用来调整元素间的间距,或者实现特定的布局效果,如在不浮动元素的情况下拉近元素。 9. **边距重叠**: 当相邻的块级元素的上边距或下边距相遇时,CSS会合并它们,只显示最大的那个。这是所谓...
2. **盒模型**:理解CSS盒模型的概念,包括内容(content)、内边距(padding)、边框(border)和外边距(margin),以及如何计算元素的实际尺寸。 3. **布局模式**:学习流体布局、固定布局、网格布局和响应式布局等常见...