css补充(二)两栏布局,margin塌陷,margin合并,BFC

一.两栏布局

  1. 原理:
    定位元素定位到那个位置上去,
    自适应元素将定位的位置让出来。
  2. eg:
<div class="right"></div>
<div class="left"></div>

.right{
    position:absolute;
    right:0;
    width:100px;
    height:100px;
    background-color:red;
}
.left{
    margin-right:100px;
    height:100px;
    background-color:black;
}

二.margin塌陷

  1. 现象:父子嵌套的元素,垂直方向的margin会粘合到一起,选最大的值。
    eg:就像父级没有了顶棚一样
content与wrapper距离浏览器顶端150px

样式

2.解决方法
(1)给上例中父级元素加个上边界
eg:border-top:1px solid red;
(2)*bfc---block format context---块级格式化上下文
即,改变渲染规则
那么,如何触发bfc原则?

  • position:absolute;
  • display:inline-block;
  • float:left/right;
  • overflow:hidden;
    给上例中父级元素添加这些 属性,触发了bfc原则,改变了父级盒子的渲染规则。

三.margin合并

  1. 现象:兄弟元素,垂直方向margin会合并到一起,选最大的值
    eg:demo1,demo2元素
demo1与demo2上下距离为200px
  1. 解决方法---bfc
    (1)修改html,包裹兄弟元素,从而改变渲染规则,触发bfc


    overflow:hidden

    (2)但不建议随意修改html框架改结构,直接修改两兄弟间的数值是最好的

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 4,559评论 5 15
  • relative:生成相对定位的元素,通过top,bottom,left,right的位置相对于其正常位置进行定位...
    zx9426阅读 975评论 0 2
  • 1. 在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 外边距合并:外...
    进击的阿群阅读 947评论 1 2
  • 亲爱的孙子: 爷爷终于又见到你了。这几天,爷爷天天看着你,抱着你,用童车推着你,把什么事儿都忘了。你奶奶问我,博客...
    二班班阅读 365评论 0 0