css-8. 盒模型

所有html元素都可以看成盒模型

组成

  • content 内容
  • padding 内边距
  • border 边框
  • margin 外边距

分类

css3中可以利用box-sizing定义盒子模型类型属性

  • content-box:标准盒模型
  • border-box:怪异盒模型(IE低版本会使用)
标准的盒模型
  • 设置width、height为内容content的宽高
  • 元素的宽度和高度:width|height+padding+border+margin
  • 大多情况下,默认margin不为0px,padding和border为0px(body默认情况下也有margin)
怪异盒模型(了解)
  • 设置width、height为content+padding+border的宽高
  • 元素的宽度和高度:width|height+margin

margin和padding

以margin说明设置方式:

  • 单值法:margin:10px 设置上下左右外边距为10px
  • 二值法:margin:10px 20px 设置上下外边距为10px,左右外边距为20px
  • 三值法:margin:10px 20px 30px 设置上边距10px,左右边距为20px,下边距为30px
  • 四值法:margin:10px 20px 30px 40px 设置上、右、下、左(顺时钟方向)外边距分别为10px、20px、30px、40px
  • 指定方向:margin-top、margin-left、…

设置时可以使用百分比表示:不管哪个方向,都是参照父级元素的宽度width设置

注意:在没有设置align时,margin-left优先级高于margin-right(默认左对齐)。

margin塌陷(针对块级元素)

  • 同级元素如果分别设置了上下外边距,两个盒子之间的上下外边距会发生合并。之间的距离取margin-bottom(上盒子)和margin-top(下盒子)的较大值
  • 存在嵌套关系的元素,父盒子在不设置padding、border、overflow的情况下,会发生上外边距传递(一直传递到body)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            width: 400px;
            height: 400px;
            background: pink;
        }
        /* 不止div,h1,p等块级元素也存在margin塌陷问题 */
        h1 {
            margin-top: 100px;
        }
        /* 而span为行内元素,设置margin-top和margin-bottom无效,不存在margin塌陷问题 */
        span {
            margin-top: 100px;
        }
        /* img为行内块元素,可以设置margin-top和margin-bottom,但不存在margin塌陷问题 */
        img {
            width: 200px;
            height: 200px;
            margin-top: 100px;
        }
    </style>
</head>

<body>
    <div class="container">
        <!-- <h1>HELLO WORLD</h1> -->
        <!-- <span>hello world</span> -->
        <img src="image/a.jpg" alt="">
    </div>
</body>
</html>

border

按方向设置:border-top、border-bottom、border-lefr、border-right

按属性设置:

  • border-style:设置边框线型:solid实线、dashed虚线
  • border-width:设置厚度
  • border-color:设置边框颜色

复合属性:border:style width color

注意
  • border至少需要设置两个方向,只设置一个方向等于没边框
  • border这个复合属性三个值都必须设置,否则没设置的值默认没有

背景色background设置到边框

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值