CSS——Margin(外边距)| 宽高属性

本文深入讲解CSS盒子模型的细节,包括如何实现盒子居中、清除默认内外边距、解决垂直外边距合并问题,以及宽度和高度的计算规则。探讨了块级元素与行内元素的差异,提供了实用的代码示例。

外边距实现盒子居中

  1. 必须是块级元素
  2. 盒子必须指定宽度(width)
  3. 给左右外边距都设置为auto就可使块级元素水平居中。
    如.header { width: 960px; margin: 0 auto; }

文字盒子居中图片和背景区别
1.文字水平居中是text-align: center
2.盒子水平居中 左右margin改为auto

        text-align: center; /*文字居中水平 */
        margin: 10px auto; /*盒子水平居中 左右margin改为auto就可以了*/

3.插入图片,比如产品展示类
4.背景图一般用于小图标背景或超大背景图片

        section img {
            width: 200px;/* 插入图片更改大小width和height */
            height: 210px;
            margin-top: 30px;/* 插入图片更改位置可以用margin或padding盒模型 */
            margin-left: 50px;/* 插入当图片也是一个盒子 */
        }
        aside {
            width: 400px;
            height: 400px;
            border: 1px solid purple;
            background: #fff url(images/sun.jpg) no-repeat;
            background-size: 200px 210px; /* 背景图片更改大小只能用background-size */
            background-position: 30px 50px; /* 背景图片更改位置用background-position */
        }

清除元素的默认内外边距

        *{
            margin: 0;
            padding: 0;
        }

行内元素只有左右外边距,没有上下外边距。尽量不要给行内元素指定上下的内外边距。

相邻块元素垂直外边距合并
当上下相邻的两个块元素相遇时,如果上面元素有下外边距margin-bottom,下面元素有上外边距margin-top,则他们之间的垂直间距不是margin-bottom与margin-top之和,而是两者中的较大者。这种现象被称为相邻块元素垂直外边距的合并,也称外边距塌陷)。

嵌套块元素垂直外边距的合并
对于两个嵌套关系的块元素,如果父元素没有上内边距及边框,则父元素的上外边距会与子元素的上外边距发生合并,合并后的外边距为两者中的较大者,即使父元素的上外边距为0,也会发生合并。
解决方案:

  1. 可以为父元素定义1像素的上边框或上内边距;
  2. 可以为父元素添加overflow: hidden

content宽度和高度
使用宽度属性width和高度属性height可以对盒子大小进行控制。width和height属性值可以为不同单位的数值或相对于父元素的百分比%,实际工作中最常用的是像素值。
大多数浏览器,如firefox、IE6及以上版本都采用了W3C规范,符合CSS规范的盒子模型总宽度和总高度的计算规则:

外盒尺寸计算(元素空间尺寸):
Element空间高度=content height + padding + border + margin
Element空间宽度=content width + padding + border + margin
内盒尺寸计算(元素实际大小):
Element Height=content height + padding + border (Height为内容高度)
Element Width=content width + padding + border (Width为内容宽度)

注意:

  1. 宽度属性Width和高度属性Height仅适用于块级元素,对行内元素无效(img标签)
  2. 计算盒子模型的总高度时,还应考虑上下两个盒子垂直外边距合并情况。
  3. 如果一个盒子和父亲一样宽,占满父亲的宽度,则padding不会影响本盒子大小。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值