浅谈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. 第四篇:GPU 并行编程的存储系统架构

    前言 在用 CUDA 对 GPU 进行并行编程的过程中,除了需要对线程架构要有深刻的认识外,也需要对存储系统架构有深入的了解. 这两个部分是 GPU 编程中最为基础,也是最为重要的部分,需要花时间去理 ...

  2. 盒子模型 W3C中和IE中盒子的总宽度分别是什么

    W3C盒模型 总宽度 = margin-left + border-left + padding-left + width + padding-right + border-right + margi ...

  3. Android 手机随音乐振动

    想到做一个Android软件可以在播放音乐的同时手机在音量或者音调高的时候振动一下. 等我熟练Android的时候试试...

  4. C#实现两个时间相减的方法

    脚本之家看到的,关于两个时间差值的获取 http://www.jb51.net/article/60177.htm using System; using System.Collections.Gen ...

  5. win8.1rtm专业版无法安装net3.5还有iis

    win8.1rtm专业版无法安装net3.5还有iis错误代码:0x800F0906 已解决:dism.exe /online /enable-feature /featurename:NetFX3 ...

  6. c++11实现异步定时器

    c++11提供了丰富的时间和线程操作函数,比如 std::this_thread::sleep, std::chrono::seconds等.可以利用这些来很方便的实现一个定时器.     定时器要求 ...

  7. java中生成流水号的一个例子(使用BerkeleyDB)

    package com.jiaoyiping.berkeleydb; import com.sleepycat.je.*; import com.sleepycat.utilint.StringUti ...

  8. 【BZOJ2453】维护队列/【BZOJ2120】数颜色 分块

    [BZOJ2453]维护队列 Description 你小时候玩过弹珠吗? 小朋友A有一些弹珠,A喜欢把它们排成队列,从左到右编号为1到N.为了整个队列鲜艳美观,小朋友想知道某一段连续弹珠中,不同颜色 ...

  9. Visual Studio 2017正式版离线安装方法

    Visual Studio 2017 RTM正式版离线安装及介绍. 首先至官网下载:https://www.visualstudio.com/zh-hans/downloads/ VS 2017 正式 ...

  10. 浙江工业大学校赛 XiaoWei的战斗力

    XiaoWei的战斗力 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...