在网页布局中,margin和padding绝对会占很重要的作用,但是在实际的项目中,很多新手前端程序员们往往不能正确的使用它们,导致会出现一些不必要的麻烦,下面是我在前几天的项目中遇到的一些问题,以及个人总结的一些方法,仅供参考。

想比margin,padding则是要乖巧的多,几乎没有让你不省心的地方,我们知道,简单的padding语法有四种:

eg:1.div1{padding:1px;}  (表示上下左右的内边距都是1PX)

2.div2{padding:1px 2px}; (上下边距是1PX,左右边距是2px);

3.div3{padding:1px 2px 3px};  上边距是1px,左右边距是2px,下边距3px;

4.div4{padding:1px 2px 3px 4px};  依次为上边距1PX,右为2px,下3px,左4px

其实总结就是一句话,从上边距开始,顺时针旋转赋值。其次,需要注意的话,padding没有负值,及时你给定值为负,也会当0处理。

margin情况要比Padding复杂一些,语法也和Padding一样,但是需要注意的主要有下面几个地方:

1.margin是允许负边距的,这在做一些叠加效果或是处理inline-block留白的时候很好用。

2.margin的外边距合并只存在垂直方向上。

3.行内元素只有左右两边的margin值,但须记住非可置换元素如img,textarea,select,button.,label,object也是可以设置垂直方向的margin的。

4.有一些情况垂直方向上的margin是不会合并的,比如:1.绝对定位元素不会与任何元素的外边距合并;2.浮动元素不会与任何元素的外边距合并;

3.inline-block不会与任何元素的外边距合并。

4.overflow取值为visible以外的元素与它的子元素不会合并

5.处理塌陷时的几种方法(一个盒子如果没有上补白和上边框,那么这个盒子的上边距会和哎内部文档流中的第一个子元素的上边距重叠,设置子元素margin-top,就会产生塌陷)。

1.给父元素加overflow:hidden;

2.设置父元素或子元素浮动;

3.给父元素加绝对定位;

4.父元素加padding或border;

5.将margin-top改为padding-top;

最后总结一下,在网页开发中,margin和padding都是经常使用的,那么我们应该何时用padding呢:1.希望在border内侧加空白时。2.空白需背景色时。3.上下两个盒子的空白,希望等于两者之和时。如果情况与上诉三种相反,那么我们不妨试试margin这个万能的东东吧!

margin,padding之我见的更多相关文章

  1. 巧用margin/padding的百分比值实现高度自适应(多用于占位,避免闪烁)

    本文依赖于一个基础却又容易混淆的css知识点:当margin/padding取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!也许你会说, ...

  2. css007 margin padding border

    css007 margin padding border 1.理解盒模型(盒模型:就是把一些东西,包括html各种标签都包含在一个 看不见的盒子里) 1/在web浏览器中任何标签都是一个盒子,内容的周 ...

  3. css之margin && padding讲解

    margin && padding盒子模型: margin是模块与模块的空隙,padding是内容与边框的空隙 注: 1.margin:边缘.空白 2.padding:填充 margi ...

  4. 总结那些有默认margin,padding值的html标签

    一.h1~h6标签:有默认margin(top,bottom且相同)值,没有默认padding值. 在chrome中:16,15,14,16,17,19; 在firefox中:16,15,14,16, ...

  5. 关于margin padding

    margin padding设置百分比是以父元素的宽度作参考. 定位的left,top等取百分比 则以参照定位元素的padding+width做参考 margin 四个同时设定 以margin-lef ...

  6. 内联/块级元素的宽高及margin/padding的说明 |||||| 为何img、input等内联元素可以设置宽、高

    1,内联非替换元素设置宽高是无效的,设置margin时,左右有效,上下无效.设置padding时,左右有效,而上下padding比较奇葩,内联非替换元素的上下padding会在元素内容盒不动的情况下上 ...

  7. 巧用margin/padding的百分比值实现高度自适应

    原文:https://segmentfault.com/a/1190000004231995 一个基础却又容易混淆的css知识点 本文依赖于一个基础却又容易混淆的css知识点:当margin/padd ...

  8. css 行内元素 块元素 替换元素 非替换元素 以及这些元素的width height margin padding 特性

    一.各种元素的width height margin padding 特性(具体css元素的分来参看二) 1.块级元素 width. height. margin的四个方向. padding的四个方向 ...

  9. html标签默认属性值之margin;padding值

    一.h1~h6标签:有默认margin(top,bottom且相同)值,没有默认padding值. 在chrome中:16,15,14,16,17,19; 在firefox中:16,15,14,16, ...

随机推荐

  1. k-近邻分类的Python实现

    参见<机器学习实战> # -*- coding:cp936 -*- #=========================================================== ...

  2. javascript设计模式3

    门户大开式对象 var Book=function(isbn,title,author){ if (isbn==undefined) throw new Error("不合法"); ...

  3. C#调用C++ DLL类方法(转)

    http://hi.baidu.com/game_dev/item/ba29ecf67bd5f6cf521c26fc

  4. Docker系列(六)路由打通网络示例

    运行环境 两台虚拟机IP分别为:192.168.0.103(简称:A主机).192.168.0.104(简称:B主机) 操作系统:Centos 7 Docker版本:1.8 Mysql镜像配置 1.在 ...

  5. 说点手动导jar包的细节Referenced Libraries

    对于Referenced Libraries 若是手动,新建好Scala项目工程,这里取名为ScalaInAction 得需将Scala 2.11.8自带的,换成2.10.*版本 在其上,点击右键,B ...

  6. 问题-在TreeView使用时,发现选中的树节点会闪烁或消失

    问题:在工程中选中一个树节点,鼠标焦点在树上,做某种操作时发现选中的点会消失?原因:如果只是BeginUpdate后,没有调用EndUpdate,树会全空.应该是BeginUpdate方法会刷新树,但 ...

  7. [iOS基础控件 - 3.1] QQ登陆界面

      A.storyboard 控件版 1.label 2.textfield      a.Keyboard Type           账号:Number Pad           密码:Num ...

  8. 上传GIF图片方法!

    有朋友问,如何上传GIF图片,在此做一下说明.方法是:在第二栏“上传图片”栏——选择“无水印”——选择文件(找到文件)——点击上传——点击插入——我选的图片 ——上传成功了!

  9. CSS滤镜

    Filter属性介绍 Alpha滤镜的使用 Blur滤镜的使用 Filph.Filpv滤镜 DropShadow滤镜 Glow 滤镜 Gray ,Invert,Xray 滤镜 Shadow滤镜 19. ...

  10. Oracle函数汇总

    日期函数 1. select sysdate from dual 查询当前日期 2. select months_between() from dual 查询两个日期的月份差 3. select ad ...