JSFiddle - React, Tailwind, and code Playground

by Liu ChangFeng

HTML

<h1>
  父元素与子元素的上边距折叠示例
</h1>
<div class="demo demo1">
  <div class="parent" style="margin-top:30px;">
    <div class="child" style="margin-top:40px;">父元素与子元素的上边距折叠示例</div>
  </div>
</div>
<h1>
  兄弟元素间边距折叠
</h1>
<div class="demo demo2">
  <div class="list">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
  </div>
</div>
<h1>
  父元素与子元素的下边距折叠示例
</h1>
<div class="demo demo3">
  <div class="parent" style="margin-bottom:30px;">
    <div class="child" style="margin-bottom:40px;">父元素与子元素的下边距折叠示例</div>
  </div>
</div>
<h1>
  空元素边距折叠
</h1>
<div class="main-wrapper">
  <div class="p"></div>
  <div class="sep"></div>
  <div class="p"></div>
</div>
<script type="text/javascript" src="http://mark-rolich.github.io/RulersGuides.js/Event.js"></script>
<script type="text/javascript" src="http://mark-rolich.github.io/RulersGuides.js/Dragdrop.js"></script>
<script type="text/javascript" src="http://mark-rolich.github.io/RulersGuides.js/RulersGuides.js"></script>

SCSS

body{
  padding-top: 32px!important;
  padding-left: 42px!important;
}

h1{
  font-size:18px;
  margin:0;
  padding:0;
  line-height:1.2em;
  &:before{
    content: '\00b7';
    font-size:40px;
    vertical-align:middle;
  }
}

.demo{
  padding:5px;
  margin-bottom:30px;
}

//----------------------------------------------------------

.demo1 {
  &:before {
    content: '我是前面的内容';
    display: block;
    background: #AAA;
  }
  .parent {
    border: solid 2px #F00;
    padding:10px;
    border-top:none;
    padding-top:0px;
  }
  .child {
    border: solid 2px #00F;
  }
}

//----------------------------------------------------------

.demo2{
  .list{
    > div{
      background-color:#AAA;
      margin:20px 0px;
      height:20px;
    }
  }
}

//----------------------------------------------------------

.demo3 {
  &:after {
    content: '我是后面的内容';
    display: block;
    background: #AAA;
  }
  .parent {
    border: solid 2px #F00;
    border-bottom:none;
    padding:10px;
    padding-bottom:0;
  }
  .child {
    border: solid 2px #00F;
  }
}

//-----------------------------------------------------------

.main-wrapper {
  .p{
    background-color:#CFC;
    height: 30px;
  }

  .sep{
    margin-top:40px;
    margin-bottom:20px;
    //overflow:hidden;  // 建立 BFC
  }
}

JavaScript

var evt = new Event();
var dragdrop = new Dragdrop(evt);
var rg = new RulersGuides(evt, dragdrop);