css margin相关问题及应用
一、margin常见问题
1、IE6下双边距问题

margin双布局可以说是IE6下经典的bug之一。产生的条件是:block元素+浮动+margin。
2、maring重叠的问题
css2.0规范对margin重叠有如下描述:
->水平边距永远不会重合
->垂直边距可能在特定的框之间重合
* 常规流向中两个或多个块框相邻的垂直边距会重合。结果的边距宽度是相邻边距宽度中较大的值。如果出现负边距,则在最大的正边距中减去绝对值最大的负边距。如果没有正边距,则从零中减去绝对值最大的负边距。

margin重叠的问题并不是经常遇到,有时即使遇到了造成的影响也很小,或是通过其他一些修改就可以轻松解决这个问题了。仔细想想,既然知道会发生margin重叠,写代码的时候势必会注意的,也就不会出现这些重叠的问题了,最好的解决margin重叠的方法就是了解它,避免它。2
每枚硬币都有正反面,其实margin重叠也是有它的用处的。当垂直方向上有多个模块时,margin重叠正好可以让上中下都有一个margin值,而且由于margin重叠,所以margin值的表现都是一样的。例如:a,b,c三个垂直方向上的模块 都有margin:10px 0;则最后的表现结果是(如果其上下没有浮动元素干扰的话):上、中上、中下、下四处有10px的间距,正好完美定位。
二、margin负值的相关应用
1、在流动性布局中的应用
流动性布局又称自适应布局,也称为宽度不固定布局。比如WordPress经典的两栏式不固定布局就是使用的margin负值实现的,属于左右margin负值在流动性布局中的应用。
2、在选项卡等边框线的处理
下图显示的一种比较常见的选项卡样式

类似的,如果你要用4个div实现5条1px的左右边框,就像表格一样的效果,就可以让每个div都有左右1px的边框,然后margin-right:-1px或margin-left:-1px让之间的边框重叠,这样就实现了4个标签5边框的效果。
3、图片与文字对齐
图片与文字默认是居底对齐的,所以当图片与文字 一起的时候往往都是不对其的。尤其图片较小的时候就更加明显了,我看到很多人使用vertical-align:middle;对齐。在firefox效果是不错,但是IE下,虽然是效果好了些,但还是不够。
如果图片上是20px * 20px左右的小图片,文字也差不多12px大,则使用vertical-middle;是不错的方法。还有个屡试不爽,兼容性不错的方法就是使用margin负值了。img标签是个很不错的标签,支持margin是个方向的正的和负的的定位。一般img标签打头的小图标或文字对齐的话,img{margin:0 3px -3px 0}可以说是公式版的东西,能实现效果和兼容性俱佳的对齐效果。
css margin相关问题及应用的更多相关文章
- css margin的相关属性,问题及应用
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=48 引言:margin ...
- {前端CSS} 语法 Css的几种引入方式 css选择器 选择器的优先级 CSS属性相关 背景属性 边框 CSS盒子模型 清除浮动 overflow溢出属性 定位(position)z-index
前端CSS CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式表来对文 ...
- 细说 CSS margin
作者:https://coding.net/u/zhengkenghong原文:https://blog.coding.net/blog/css-margin 细说 CSS margin 本文着重描述 ...
- css 属性相关
css属性相关 宽和高 width属性可以为元素设置宽度, height属性可以为元素设置好高度 块级标签才能设置宽度,内联标签的宽度由内容来决定. 字体属性 文字字体 font-family 可以把 ...
- HTML CSS——margin与padding的初学
下文引自HTML CSS——margin和padding的学习,作者fengyv,不过加入了一些个人的看法. 你在学习margin和padding的时候是不是懵了,——什么他娘的内边距,什么他娘的外边 ...
- CSS Margin(外边距)
CSS Margin(外边距)属性定义元素周围的空间. Margin margin清除周围的元素(外边框)的区域.margin没有背景颜色,是完全透明的 margin可以单独改变元素的上,下,左,右边 ...
- 介绍CSS的相关知识
以下是我跟大家分享的有关CSS的相关知识点: ①什么是CSS? css(Cascading Style Sheets)是层叠样式表 ②css的三种样式使用方法: 1,内联样式表:直接在html标签属性 ...
- CSS margin属性取值
margin表示一个元素的外边距.取值为正值时,表示相对于正常流离邻近元素更远,而取负值时,使其更近 但是,设置margin后,四个方向的表现形式不同 自身发生移动:top.left margin-t ...
- CSS——margin
CSS margin 属性 定义和用法 margin 简写属性在一个声明中设置所有外边距属性.该属性可以有 1 到 4 个值. 说明 这个简写属性设置一个元素所有外边距的宽度,或者设置各边上外边距的宽 ...
随机推荐
- 通过实体反射实现CriteriaQuery并列条件查询
将实体反射之后获取查询字段的值,并添加到Predicate对象数组中 public Predicate getPredicateAnd(T entity, Root<T> root, Cr ...
- 相对于C#,PHP中的个性化语法
相对于C#,PHP中的个性化语法 背景 今天把PHP的基本语法结构熟悉了一下,包括:变量.类型.常量.运算符.字符串.作用域和函数等,本文列举一些我需要强化记忆的结构(和C#不同). 一些个性化的结构 ...
- yowsup ( an application to use whatsapp) hack
yowsup, in python https://github.com/tgalal/yowsup try this: http://hacktracking.blogspot.com.ar/201 ...
- Arduino 各种模块篇 粉尘传感器 dust sensor 空气质量检测
Testing a sensor from here. http://www.seeedstudio.com/wiki/Grove_-_Dust_Sensor It's a dust sensor. ...
- TOGAF架构内容框架之架构制品(上)
TOGAF架构内容框架之架构制品(上) 4. 架构制品(Architectural Artifacts) 架构制品是针对某个系统或解决方案的模型描述,与架构交付物和构建块相比,架构制品既不是架构开发方 ...
- 内核操作系统Linux内核变迁杂谈——感知市场的力量
本篇文章个人在青岛游玩的时候突然想到的...今天就有想写几篇关于内核操作系统的博客,所以回家到以后就奋笔疾书的写出来发表了 Jack:什么是操作系统? 我:你买了一台笔记本,然后把整块硬盘彻底格式化, ...
- NodeJs+Express实现简单的Web增删改查
前一段时间,公司组织了一次NodeJs的技术分享,自己有幸去听了听,第一次接触NodeJs,后来经过自己学习和探索,完成了一个很简单的Web演示项目,在这里和初学者做以分享,开发工具:WebStorm ...
- RocketMQ源码 — 一、 quikstart
RocketMQ quikstart 获取源码 git clone https://github.com/alibaba/RocketMQ.git 编译打包 cd RocketMQ bash inst ...
- H5 拖放事件详解
拖放事件 H5的拖放事件提供了多个接口: 1.drag:当元素或者选中的文本被拖动时触发(每几百毫秒触发一次),应用在被拖拽元素上 2.dragend:当拖动操作结束时触发(通过释放鼠标按钮或者点击转 ...
- ubuntu 服务版安装简易说明
安装基本环境 1.ubuntu 下载 下载地址:http://releases.ubuntu.com/14.04.4/ 2.安装virtualBox 直接在软件管家中下载即可 3.安装ubuntu 注 ...