css外边距

css外边距

<!-- <span class="span1">lorem</span>
<span class="span2">lorem</span> -->
<!-- 垂直方向
    块元素
        兄弟: 二个都是正值:谁大听谁的
               一正一负:二者相加
               二者都是负数:看绝对值大的
        父子:出现的问题:外边距重叠问题=》父子元素的外边距开始位置重合在一起
              解决思路:使父子外边距开始位置不同 
            解决方法:
               1.给父元素设置边框=》问题:①.会撑开父元素;box-sizing:border-box
                                        ②.子元素的margin-top设置的距离是上边框离父元素上底边距离
               2.给父元素设置内边距=》问题:会撑开父元素:box-sizing:border-box
               3.给父元素开启bfc
                  bfc(Block Formatting Context,块级格式化环境),是css的隐形属性,将父元素开辟一个单独的空间,
                   开启bfc方法:
                       1.overflow的值非visible,但是副作用最小的是hidden  
                       2.设置浮动,后面会说
                       3.设置绝对定位
               4.在html里面添加一个空的table,影响到html结构
               5.给父元素设置伪元素::before(注:伪元素选择器是在父元素里面添加一个子元素)添加一个table
    行元素:在垂直方向可以设置外边距,但是没有效果
    行内块:二者正值:二者相加
  -->
  <!-- 水平方向:
        行元素&行内块元素:二者都是正值,一正一负:相加 ,注意行内块元素在默认情况有空白间隙-->
<!-- 兄弟 -->
<!-- <p>lorem1</p>
<p>lorem2</p>
<hr> -->
<!-- 父子 
  需求:1.子元素离父元素左边50px
        2.子元素离父元素顶边50px
    -->

水平距离
.fa {
width: 500px;
height: 500px;
background-color: pink;
}
.son {
/* 水平:200+20+20+20=260px<500px /
width: 200px;
/
width: auto; /
height: 200px;
margin:0 10px;
/
margin-left: auto;
margin-right: auto; /
padding: 0 10px;
/
padding: auto; /
border: 10px solid red;
background-color: aqua;
/
margin-top: auto;
margin-bottom: auto; /
}
/
盒子模型:content padding border margin /
/
水平布局:
width+padding+border+margin<父元素的width
1. width+padding+border+margin都设置了确定值
当小于父元素的width时,多余的部分给margin-right吸收
2.当width不设置或者设置为auto值时,多余的部分有宽度吸收
当margin-left=auto,多余的部分由margin-left吸收
当margin-right=auto,多余的部分由margin-right吸收
总结:当设置了auto就将多余的部分给它,注意能设置auto值的属性:width,margin-left,margin-right
3.有二个属性设置auto时
width与margin-left/width和margin-right同时设置auto值时,对于部分有width吸收,margin-left/margin-right没有值
margin-left和margin-right同时设置为auto时,多余部分平分给左右外边距=》块元素的水平居中
4.设置三个auto
width与margin同时设置auto时,多余部分由宽度吸收

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值