浅谈padding

padding是CSS盒子模型的一部分,代表盒子模型的内边距。

用法

padding属性有四个值,分别代表上、右、下、左的内边距。

.box {
padding: 10px 5px 15px 20px;
}

此时,.box的内边距为:

  • 上内边距:10px
  • 右内边距:5px
  • 下内边距:15px
  • 左内边距:20px

简写

padding属性的值可以简写,按照值的数量可以分为三种情况:

1.单个值
.box {
padding: 10px;
}

此时,.box的内边距为:

  • 上内边距:10px
  • 右内边距:10px
  • 下内边距:10px
  • 左内边距:10px
2.两个值
.box {
padding: 10px 5px;
}

此时,.box的内边距为:

  • 上内边距:10px
  • 右内边距:5px
  • 下内边距:10px
  • 左内边距:5px
3.三个值(重点)
.box {
padding: 10px 5px 15px;
}

此时,.box的内边距为:

  • 上内边距:10px
  • 右内边距:5px
  • 下内边距:15px
  • 左内边距:5px

tips:实际使用时,大多数人都会使用单个值、两个值、四个值的写法,三个值的写法常常被忽略,所以需要重点了解三个值的简写写法。

特性

1.行内元素设置的内边距不会影响行高计算

当对行内元素设置内边距时,内边距不会影响内联元素的行高,但是会撑开背景。

<span class="text">我是行内元素</span>
<div class="text-bottom">朕的背景!!!</div>
span {
padding: 10px;
background: #cccccc;
} .text-bottom {
height: 200px;
background: #000;
}

效果如下:

aaarticlea/png;base64,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" alt="avatar">

可以发现:行高并没有变化,背景按内边距撑开的面积显示,细心的话可以发现,背景延伸到了其他行,并发生了重叠,并没有挤开其他行,这也进一步说明了行高并没有改变。

2.不允许使用负值

padding不像margin可以使用负值,因为,margin再怎么用,也不会影响盒模型的宽度、高度,而padding身为盒模型的内边距,会直接影响盒模型的宽度、高度。并且,padding设为负值并没有意义,直接修改content一样可以达到效果。

可能的值

描述
auto 浏览器计算内边距
length 规定以具体单位计的内边距值,比如像素、厘米等。默认值是 0px
% 规定基于父元素的宽度的百分比的内边距
inherit 规定应该从父元素继承内边距

tips:padding常用的写法是使用length,比如padding: 10px。但是,有时使用百分比可以实现一些骚操作,比如实现一个自适应的正方形:

.box {
float: left;
width: 100%;
padding-bottom: 100%;
background: #cccccc;
}

效果如下:

aaarticlea/png;base64,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" alt="avatar">

可以看到,通过padding-bottom: 100%实现了一个自适应的正方形。

浅谈padding的更多相关文章

  1. 浅谈SQL注入风险 - 一个Login拿下Server

    前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...

  2. 浅谈angular2+ionic2

    浅谈angular2+ionic2   前言: 不要用angular的语法去写angular2,有人说二者就像Java和JavaScript的区别.   1. 项目所用:angular2+ionic2 ...

  3. JqueryEasyUI浅谈本地化应用

    JqueryEasyUI浅谈本地化应用 Jquery是对javascript一种封装,使我们开发人员使用起来更加方便,同时也解决了不同浏览器中javascript的兼容性.JqueryEasyUi是基 ...

  4. 安卓开发_浅谈ListView(SimpleAdapter数组适配器)

    安卓开发_浅谈ListView(ArrayAdapter数组适配器) 学习使用ListView组件和SimapleAdapter适配器实现一个带图标的ListView列表 总共3部分 一.MainAc ...

  5. 浅谈SQL注入风险 - 一个Login拿下Server(转)

    前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...

  6. [UWP]浅谈按钮设计

    一时兴起想谈谈UWP按钮的设计. 按钮是UI中最重要的元素之一,可能也是用得最多的交互元素.好的按钮设计可以有效提高用户体验,构造让人眼前一亮的UI.而且按钮通常不会影响布局,小小的按钮无论怎么改也不 ...

  7. 浅谈Vue不同场景下组件间的数据交流

    浅谈Vue不同场景下组件间的数据“交流”   Vue的官方文档可以说是很详细了.在我看来,它和react等其他框架文档一样,讲述的方式的更多的是“方法论”,而不是“场景论”,这也就导致了:我们在阅读完 ...

  8. 【Vue】浅谈Vue不同场景下组件间的数据交流

    浅谈Vue不同场景下组件间的数据“交流”   Vue的官方文档可以说是很详细了.在我看来,它和react等其他框架文档一样,讲述的方式的更多的是“方法论”,而不是“场景论”,这也就导致了:我们在阅读完 ...

  9. [转]浅谈Android五大布局(二)——RelativeLayout和TableLayout

    在浅谈Android五大布局(一)中已经描述了LinearLayout(线性布局).FrameLayout(单帧布局)和AbsoulteLayout(绝对布局)三种布局结构,剩下的两种布局Relati ...

随机推荐

  1. PHP的函数-----生成随机数、日期时间函数

    常用的函数 [1]   生成随机数 rand(); 例子: echo rand(); 显示结果: 当刷新时,会有不同的数,默认生成随机数.生成随机数不能控制范围. 如果,想要控制在范围之内,就用: e ...

  2. Delphi的打开文件对话框-TOpenDialog

    1.TOpenDialog组件的典型用法 “打开”对话框是用TOpenDialog组件实现的,TOpenDialog组件是非可视组件. Filter属性用于设置文件过滤器,让对话框只列出特定类型的文件 ...

  3. 关于js的面向对象设计

    function Person( name, age ){ this.name = name; this.age = age; this.sleep = function(){ alert( this ...

  4. Struts2中的OGNL详解 《转》

    首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的 ...

  5. Centos7 安装zabbix3.0 服务端 详细

    参考: https://www.cnblogs.com/37yan/p/6879218.html http://blog.csdn.net/hao134838/article/details/5712 ...

  6. 日志记录---log4j详解

    Apache官方项目地址 通常的日志记录的缺点是会减慢程序的运行速度,如果用普通的System.out的话影响视觉效果,另外解耦度也不好,而log4j的设计则使得日志记录变得可靠快速和可拓展性好. l ...

  7. 微信小程序 --- 组件

    view组件:小程序使用最多的组件.可以理解为 div: Text组件:用于展示文字.可以理解为 p span 标签.(除了Text组件以外的其他组件都无法被长按选中) Text组件无法解析HTML, ...

  8. Redis高级进阶

    目录 本章目标 Redis配置文件 Redis存储 Redis事务 Redis发布订阅 Redis安全 本章目标 Redis配置文件 Redis的存储 Redis的事务 Redis发布订阅 Redis ...

  9. postgresql----继承表INHERITS PARENT TABLE

    使用INHERITS创建的新表会继承一个或多个父表,子表只会继承父表的表结构和NOT NULL,DEFAULT,CHECK三种约束,主键,外键和唯一键以及索引不会被继承,所以修改父表的结构(增删字段) ...

  10. 【转】jQuery.ajax向后台传递数组问题

    $.ajax({ url: "/xxx", type: "GET", data: { "boxIds": boxIds, "box ...