CSS中的margin与padding

这篇具有很好参考价值的文章主要介绍了CSS中的margin与padding。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

 一、margin

1.概念及作用

2.基本语法

3.margin的用法

二、padding

1.介绍

2.基本语法及要求

3. 用法

4.内边距和元素宽度


讲这些之前,先看一张图,便于理解

CSS中的margin与padding,CSS,css,前端

 一、margin

1.概念及作用

CSS margin 属性用于在任何定义的边框之外,为元素周围创建空间。

通过 CSS,您可以完全控制外边距。有一些属性可用于设置元素每侧(上、右、下和左)的外边距。

2.基本语法

CSS 拥有用于为元素的每一侧指定外边距的属性:

margin-top

margin-right

margin-bottom

margin-left

所有外边距属性都可以设置以下值:

  • auto - 浏览器来计算外边距
  • length - 以 px、pt、cm 等单位指定外边距
  • % - 指定以包含元素宽度的百分比计的外边距
  • inherit - 指定应从父元素继承外边距

提示:允许负值

3.margin的用法

为了缩减代码,可以在一个属性中指定所有外边距属性。

margin 属性是以下各外边距属性的简写属性:

  • margin-top
  • margin-right
  • margin-bottom
  • margin-left

工作原理是这样的:

① 如果 margin 属性有四个值:

margin: 25px 50px 75px 100px;
  • 上外边距是 25px
  • 右外边距是 50px
  • 下外边距是 75px
  • 左外边距是 100px

 ② 如果 margin 属性设置三个值:

margin: 25px 50px 75px;
  • 上外边距是 25px
  • 右和左外边距是 50px
  • 下外边距是 75px 

③ 如果 margin 属性设置两个值:

  • margin: 25px 50px;
    • 上和下外边距是 25px
    • 右和左外边距是 50px

 ④ 如果 margin 属性设置了一个值:

margin: 25px;
  • 所有四个外边距都是 25px

⑤  auto

可以将 margin 属性设置为 auto,以使元素在其容器中水平居中。

然后,该元素将占据指定的宽度,并且剩余空间将在左右边界之间平均分配。

inherit

可以使子元素的margin属性继承父元素的margin属性。

二、padding

1.介绍

CSS padding 属性用于在任何定义的边界内的元素内容周围生成空间。

通过 CSS,您可以完全控制内边距(填充)。有一些属性可以为元素的每一侧(上、右、下和左侧)设置内边距。

2.基本语法及要求

CSS 拥有用于为元素的每一侧指定内边距的属性:

padding-top

padding-right

padding-bottom

padding-left

所有内边距属性都可以设置以下值:

  • length - 以 px、pt、cm 等单位指定内边距
  • % - 指定以包含元素宽度的百分比计的内边距
  • inherit - 指定应从父元素继承内边距

提示:不允许负值

3. 用法

为了缩减代码,可以在一个属性中指定所有内边距属性。

padding 属性是以下各内边距属性的简写属性:

  • padding-top
  • padding-right
  • padding-bottom
  • padding-left

工作原理是这样的:

① 如果 padding 属性有四个值:

padding: 25px 50px 75px 100px;
  • 上内边距是 25px
  • 右内边距是 50px
  • 下内边距是 75px
  • 左内边距是 100px

 ② 如果 padding 属性设置了三个值:

padding: 25px 50px 75px;
  • 上内边距是 25px
  • 右和左内边距是 50px
  • 下内边距是 75px

③ 如果 padding 属性设置了两个值:

padding: 25px 50px;
  • 上和下内边距是 25px
  • 右和左内边距是 50px

④ 如果 padding 属性设置了一个值:

padding: 25px;
  • 所有四个内边距都是 25px
4.内边距和元素宽度

CSS width 属性指定元素内容区域的宽度。内容区域是元素(盒模型)的内边距、边框和外边距内的部分。

盒子模型是指:外边距(margin)+ border(边框) + 内边距(padding)+ content(内容)

因此,如果元素拥有指定的宽度,则添加到该元素的内边距会添加到元素的总宽度中。这通常是不希望的结果。

例如:

div {
  width: 300px;
  padding: 25px;
}

在这里,<div> 元素的宽度为 300px。但是,<div> 元素的实际宽度将是 350px(300px + 左内边距 25px + 右内边距 25px)

box-sizing:border-box属性,padding和border的值就不会在影响元素的宽高,相当于把padding和border的值都算在content里

若要将宽度保持为 300px,无论填充量如何,那么可以使用 box-sizing 属性。这将导致元素保持其宽度。如果增加内边距,则可用的内容空间会减少。文章来源地址https://www.toymoban.com/news/detail-677098.html

div {
  width: 300px;
  padding: 25px;
  box-sizing: border-box;
}

到了这里,关于CSS中的margin与padding的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSS中如何实现元素之间的间距(Margin)合并效果?

    前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而又亲切的学习平台。在这个

    2024年02月10日
    浏览(26)
  • uniapp css使用margin的时候导致出现垂直滚动条问题

    最开始不知道是怎么回事,页面明明还没有到达底部,怎么就出现垂直滚动条了。这里的原因就是最外层或者比较外层的view使用了margin就会出现这样的情况。换成padding不会。这是最简单的原因,你可以试一下下面的结构,必然触发,触发条件非常的简单。 大致结构如下:

    2024年02月11日
    浏览(42)
  • CSS查缺补漏之《如何优雅解决margin垂直方向塌陷与合并问题?》

    一:父子元素之间margin垂直方向塌陷问题 在处理margin垂直方向问题时,经常会遇到在给子元素设置margin时,导致效果出现在了父元素上;如下代码所示: 代码原义是想实现三方面: ① 将box1的margin-top调为50px,使其与父元素之间形成空隙; ② 将box2的margin-top调为20px,使其与

    2024年02月10日
    浏览(48)
  • 〖大前端 - 基础入门三大核心之CSS篇⑱〗- CSS中的背景

    说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专栏\\\"加入社区获取 所有 付费专栏的内容之外, 还可以通过加入 星荐官共赢计划 加入私域社区。 当前子专栏 基础入门

    2024年02月01日
    浏览(46)
  • CSS - 你遇到过子元素设置margin-top,影响父元素的情况吗

    难度级别:初级及以上                                 提问概率:60%  例如在一个div盒子元素内,需要设置一个标题,我们用一个p标签做为这个标题元素。根据UI设计要求,标题元素需要距离父div元素20px,理所当然想到的就是为标题元素设置margin-top为20px,

    2024年04月08日
    浏览(29)
  • CSS 图片加载提前占位 padding-top、padding-bottom

    今天聊一个图片加载提前占位的一个问题 🤔,内容比较适合初学者。 在响应式页面当中,图片加载之前是不知道图片高度的,加载成功图片完全撑开。如果不做提前占位会把下面的内容挤下去,页面出现抖动,就像下面效果一样: 假如图片是自适应的,宽度为屏幕宽度的

    2024年02月08日
    浏览(28)
  • android——jetpack Compose布局居中,margin,padding,文字居中

    需要注意\\\"Arrangement\\\"和\\\"Alignment\\\"的区别 直接在控件中进行居中展示 Text控件中的modifier属性中有两个padding,第一个padding就属于margin,第二个就是对应原来写法的内padding,需要margin的话需要写在最前面 在 Text 控件中有对应的宽高背景,文字需要居中,有对应的TextAlign属性使用,但是属性

    2024年02月16日
    浏览(48)
  • js和jquery获取屏幕宽高以及加margin和padding等边距的宽高

    Javascript: JQuery div的宽高:

    2024年01月20日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包