盒子模型及布局和外边距重叠问题

  盒子模型的组成
           1.content (内容)元素存放内容的区域
           2.padding:(内边距)设置元素内容与边框之间的距离
           3.border:(边框) 设置元素边框
           4.margin:(外边距) 外边距设置元素与元素之间的距离
           
 盒子模型的分类
    大概常见的两种:
      分类:
         1.w3c标准盒子模型(标准盒子);水平方向;border-left/right +padding-left/right+width
         垂直方向:border-top/bottom +padding-top/bottom+height
         2.IE标准盒子模型(怪异盒子)水平方向width=border-left/right +padding-left/right+content(内容)
         3.设置盒子阴影
        border-shadow:x y blur      blur:代表模糊程度只有正值越大越模糊,单位px;
 盒子模型中关于外边距重叠问题
 父元素子元素边距重叠问题
    产生原因:垂直方向;父子元素外边距重叠,所以给子元素设置的外边距会传递给父元素。
    解决办法:1.给父元素设置一个边框(原理给父元素设置边框把内容与外边距隔开了)
            方法2.设置内边距 (1,2都会出现将父元素扩大,解决:添加属性box-sizing:border—box 设置为边框盒)
            方法3.设置overflow的值非visible,常用hidden
            方法4.给父元素通过::before 添加一个table元素,必须要写content属性
            方法5.最好用,设置一个clearfix使用伪元素选择器进行设置在他之前添加一个table
            ![在解决这里插入图片描述](https://img-blog.csdnimg.cn/0dd7593064994d469b4e2b951df1b2cc.png)
## 父子布局
 父子元素水平布局
        父元内容盒的水平宽度-margin-left++border-left+padding-left+width+margn-right+border-right+padding-right
        子元素水平方向的属性值的和<父元素的内容盒的宽度
        1.所有属性都是确定值,多余的部分给margin-right吸收
        2.有一个属性值设置为auto值时 多余的部分给设置值为auto属性的吸收掉
        3.有两个属性值设置为auto:
        margin-left、margin-right:多余部分二者平分,常实现效果;块元素在包含块(父元素)中水平居中
        width/margin-left/margin-right:如果width和后面任意一个同时为auto属性时,优先把多余部分分配给width
        4.有三个属性设置为auto;多余部分全部给width吸收
    
       5. 父子元素垂直方向:margin-top、margin-bottom、height都没有auto值所以怎么设置的数值就怎么显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值