谈谈对margin的理解
1.margin是什么?
margin用于控制元素周围空间的间隔,从视觉上达到空间间隔的目的。相对于前一个元素有相应的外边距。用于隔开元素与元素的。始终是透明的。
2.外边距的合并问题(参见w3school)---前提:元素出于文档流中
2.1 两个垂直外边距相遇时,在垂直方向上会发生外边距的叠加,最终的外边距等于二者的较大值;
2.2 当一个元素(没有边框和内边距)包含另外一个元素时,将在垂直方向上发生叠加;
2.3 当一个元素为空元素时(且没有外边距和),自身会发生外边距的叠加
3.margin在块元素和行内元素中的区别
margin在块元素中会影响块元素的上下左右,可以随意控制;而在内联元素中则只会对水平方向上的元素起到左右。
备注:可置换的内联元素,例如img、input、textarea、select、button、label等,可以控制其width、height,变现为display:inline-block。所以margin也可以实现上下左右的控制。
4.跟margin有关的常见bug
4.1 IE6 双边距问题
问题描述:当父元素中包含的第一个元素为浮动元素,会出现双边距的问题;
解决办法: display:inline
4.2 iIE6浮动元素3px间隔
问题描述:一个浮动元素,另外一个为非浮动元素,则非浮动元素与浮动元素之间存在3px的间隔
5.padding与margin的区别
padding位于边框的内部,具有背景的颜色,主要用于隔开内容与元素;而margin位于边框的外部,不具有背景颜色,主要用于区分元素与元素,起到隔离的作用。
6.margin的负边距问题(待续)
使用margin的负边距可以解决很多问题。
参考资料
http://www.hicss.net/do-not-tell-me-you-understand-margin/
http://www.planabc.net/2007/03/18/css_attribute_margin/
转载于:https://www.cnblogs.com/shamoguying1140/archive/2013/04/28/3049611.html
谈谈对margin的理解相关推荐
- C语言margin的作用是,谈谈对margin的理解
1.margin是什么? margin用于控制元素周围空间的间隔,从视觉上达到空间间隔的目的.相对于前一个元素有相应的外边距.用于隔开元素与元素的.始终是透明的. 2.外边距的合并问题(参见w3sch ...
- CSS中关于margin的理解误区
思考一 在以前,我对于margin的理解是这样的,此处用margin-top举例:指的是离相邻元素之间的距离. 但是实际是:相对于自身原来的位置偏移. 举个例子: <!DOCTYPE HTML ...
- Java面试之谈谈对Volatile的理解
谈谈对Volatile的理解 Volatile在日常的单线程环境是应用不到的 Volatile是Java虚拟机提供的轻量级的同步机制(三大特性) 保证可见性 不保证原子性 禁止指令重排 可能这么说,还 ...
- 谈谈对MVVM的理解
谈谈对MVVM的理解 什么是MVVM 不管是MVC,MVP,或者MVVM,都是常见的软件架构设计模式(Architectural Pattern),它通过分离关注点来改进代码的组织方式.不同于设计模式 ...
- 谈谈对this的理解
谈谈对this的理解 什么是this 每个函数在被调用时都会创建一个执行上下文,这个上下文包含了变量环境.this.作用域链等,this就是执行上下文中的一个属性,他是在函数运行时进行绑定的,this ...
- 什么是面向对象?谈谈对面向对象的理解?
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.什么是面向对象?谈谈对面向对象的理解? 二.3大特征: 1.封装: 2.继承: 2.多态: 总结 一.什么是面向对象?谈 ...
- jvm对于java的意义_谈谈对JVM的理解
JVM可谓是学习JAVA基础中的基础了,但仍有不少同学对JVM概念还是比较模糊,甚至没有听说过,对java的理解也只是在基础语法 层面,本文就将对JVM进行初步介绍,因篇幅所限,只能介绍JVM基础,如 ...
- 谈谈对springioc的理解
https://www.cnblogs.com/xdp-gacl/p/4249939.html 转载 学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概 ...
- 读Java核心技术36讲有感——谈谈对Java的理解,谈谈Exception和Error
读过杨晓峰老师的36讲之后,想总结下自己的感想,写下来也有助于记忆,方便以后面试查阅和复习.题目所提到的话题本来是两讲,但是由于感想篇幅较短,所以合成一篇来写. 一.谈谈对Java平台的理解: 1.J ...
- 谈谈对python的理解_浅谈对python pandas中 inplace 参数的理解
这篇文章主要介绍了对python pandas中 inplace 参数的理解,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 pandas 中 inplace 参数在很多函数中都会有, ...
最新文章
- Styling with the DataGridColumnStyle
- centos把mysql移到数据盘_Centos转移Mysql的数据位置
- 组策略 之 恢复默认组策略对象命令
- 《Java从入门到放弃》JavaSE入门篇:文件操作
- mongodb检查点_Mongodb 日志原理和操作
- HDOJ 2526 HDU 2526 浪漫手机 ACM 2526 IN HDU
- C++设计模式-使用Qt框架模拟策略模式(Strategy)商场促销
- springboot security 安全
- python写鼠标宏_最全Pycharm教程(24)——Pycharm编辑器功能之宏定义
- 适合初学者的大数据学习路线
- Java通过cad图生成3d模型,将CAD图纸转换为SolidWorks三维模型
- idea安装阿里巴巴Java开发规范插件
- 洛谷4173(fft带通配符字符串匹配)
- vue-nuxt-ssr 做谷歌,百度统计以及google,facebook埋点总结
- 病毒RNA提取:EpiQuik 病毒RNA提取纯化试剂盒方案
- 计算机毕业设计ssm+vue基本微信小程序的“香草屋”饮料奶茶点单小程序
- 西门子1200PLC的MODBUS_RTU轮询程序
- linux常用命令 yum service ps
- 【目标规划】暑假计划
- MongoDB教程(一):MongoDB云服务免费开通