浅谈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. Sql中将字符串按分割符拆分

    创建函数 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Create FUNCTION [dbo].[F_Split] ( @SplitString ...

  2. 使用boch仿真器在x86 PC平台上搭建Linux0.11系统环境(windows下)

    当你有机会来到这页面时   十有八九是遇到这样一个问题    执行配置文件bochsrc_fd.bxrc时出现找不到 ips的情况! 版本原因吧   将boch版本换成2.4的问题就迎刃而解了~ 简单 ...

  3. hadoop 2.2.0集群安装详细步骤(简单配置,无HA)

    安装环境操作系统:CentOS 6.5 i586(32位)java环境:JDK 1.7.0.51hadoop版本:社区版本2.2.0,hadoop-2.2.0.tar.gz 安装准备设置集群的host ...

  4. TCP关闭连接(为什么会能Time_wait,Close_wait?)

    版权声明:本文由胡文斌原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/102 来源:腾云阁 https://www.qclo ...

  5. 【BZOJ2595】[Wc2008]游览计划 斯坦纳树

    [BZOJ2595][Wc2008]游览计划 Description Input 第一行有两个整数,N和 M,描述方块的数目. 接下来 N行, 每行有 M 个非负整数, 如果该整数为 0, 则该方块为 ...

  6. Oracle正在执行和执行过的SQL语句

    1.正在执行的SQL select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT from v$session a, v$sqlarea b where a ...

  7. 【node】------module.exports&&exports之间的区别------【巷子】

    1.再讲module.exports 与exports之间的区别的时候我们先来回顾一下js里面的引用传递 001.引用传递 var arr = [10,20,30]; var newarr = arr ...

  8. 解决“The remote certificate is invalid according to the validation procedure”问题

    在用HttpClient发起https请求时,遭遇了“The remote certificate is invalid according to the validation procedure”异 ...

  9. 点击劫持漏洞解决( Clickjacking: X-Frame-Options header missing)

    点击劫持漏洞 X-Frame-Options HTTP 响应头, 可以指示浏览器是否应该加载一个 iframe 中的页面. 网站可以通过设置 X-Frame-Options 阻止站点内的页面被其他页面 ...

  10. CMDB经验分享之 – 剖析CMDB的设计过程

    作为IT管理的核心,CMDB逐渐成为系统管理项目实施的热点.在很多的案例中,由于忽视了CMDB的因素,ITIL的深入应用受到了极大的挑战.同时,由于CMDB是IT管理信息的集中,CMDB也是一个重要的 ...