padding和margin属性及应用注意点

本文介绍了CSS中的padding和margin属性的基本用法,如何让块级元素水平居中,以及如何处理嵌套元素的塌陷问题。重点讲述了当内外边距同时存在时,如何调整样式以避免布局问题。
摘要由CSDN通过智能技术生成

 用途:默认的盒子内容紧贴盒子边缘

padding属性就是指让让盒子里面的内容与边框产生距离。

padding属性及注意点

padding基本用法

    <style>
        div {
            width: 200px;
            height: 400px;
            padding-left: 20px;
        }
    </style>
属性 作用
padding-left左内边距
padding-right右内边距
padding-top上内边距
padding-bottom下內边距
内边距的复合型写法:
padding:5px; 
/* 1个值,代表上下左右都有5像素内边距; */
padding:5px 10px; 
/* 2个值,代表上下内边距是5像素 左右内边距是10像素; */
padding:5px 10px 20px; 
/* 3个值,代表上内边距5像素 左右内边距10像素下内边距20像素: */
padding:5px 10px 20px 30px; 
/* 4个值,上是5像素 右10像素 下20像素 左是30像素顺时针 */

padding 注意点:

再给盒子指定padding值后影响了实际盒子的大小。

也就是说:内容和边框有了距离撑开了盒子大小。

加padding不会撑开盒子的情况:

盒子本身没有指定width/height的属性

解决方案:

为了保障盒子的大小和效果图一致,就要让width/height减去多出来的内边距大小。

例如:

在上述例子中为让盒子保持200px的高和宽就要

    div {
        width: 160px;
        height: 160px;
        padding: 20px;
    }

margin的运用及注意点

运用margin让块级盒子水平居中

1,盒子必须制定了就宽度

2,盒子的左右外边距都指定为auto

常见写法(以下三种都可以):

(行内元素或者行内块元素给父级添加text-align:center)

        .nav {
            width: 200px;
            height: 400px;
            margin: auto;
            /* margin: 0 auto;
            margin-left: auto;
            margin-right: auto; */
        }

嵌套元素塌陷问题

当我们想要实现子盒子相对于父盒子有边距时,

        .father {
            width: 300px;
            height: 300px;
            background-color: paleturquoise;
            margin-top: 400px;
        }
        .son {
            width: 20px;
            height: 55px;
            background-color: papayawhip;
            margin-top: 300px;
        }

运行代码后发现并没有实现想要的效果,原因是两个嵌套关系的块级元素,父子元素同时有上边距时。父元素会塌陷较大的外边距值(比较父子元素的外边距值,谁的大就塌陷那个大的外边距值)

解决方案有三种:

  1. 为父元素定义一个上边框
  2. 为父元素定义一个内边距
  3. 为父元素添加overflow:hidden;
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值