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 个值. 说明 这个简写属性设置一个元素所有外边距的宽度,或者设置各边上外边距的宽 ...
随机推荐
- js的onclick和jquery的bind事件执行先后顺序
近期在项目中为每一个ajax触发按钮写正在加载的效果,用的是bootstarp 代码如下 $(function(){ $('.btn').bind('click',function(e){ var $ ...
- SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析)
SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析) 2013-8-20 1. SQL查询表的行列转换/小计/统计(with rollup,with ...
- mybatis3.4测试CRUD
导入包 H:\jar\jdbc\mysql-connector-java-5.1.13-bin.jarH:\jar\mybatis\mybatis-3.4.1\mybatis-3.4.1.jarH:\ ...
- Castle Windsor 项目中快速使用
Castle Windsor 项目中快速使用 新建项目如下: 一个模型类,一个接口,一个实现方法.我的目的很明确就是在UI层通过Castle 调用数据访问层的方法. 添加项目引用 CastleDemo ...
- javascript语言精粹mindmap
javascript语言精粹mindmap 最近刚刚读完<javascript语言精粹>,感觉其中的内容确实给用js作开发语言的童鞋们提了个醒——js里面坑很多啊 不过,我也并不完全认同书 ...
- PostgreSQL 简明使用说明
原文地址:http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html 期间,作者有写错的地方,已经做更改了. ...
- django model Foreign key usage 关系型数据库 ORM
django 的模型 from django.db import models""" A model pair to map car and its manufactur ...
- CAS-ticket not recognized
描述:项目用单点登陆后,在页面中刷新时报错,错误信息如下: Servlet.service() for servlet default threw exception: org.jasig.cas.c ...
- android中使用Http下载文件并保存到本地SD卡
1.AndroidMainfest.xml中设置权限 <uses-permission android:name="android.permission.INTERNET"& ...
- oracle表空间表分区详解及oracle表分区查询使用方法(转+整理)
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...