<!-- vue -->
<div id="review_box" @mouseover="rollStop()" @mouseout="rollStart(60)">
    <ul id="comment1">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
    </ul>
    <ul id="comment2"></ul>
</div>

div {
    height: 100px; /* 必须 */
    overflow: hidden;/* 必须 */
}

//vue data
data (){
    return {
        timer: null,
    }
},
mounted() {
      this.roll(60);
},
beforeDestroy() {
      if (this.timer) clearInterval(this.timer);
},
//vue methods
roll(t) {
    var ul1 = document.getElementById("comment1");
    var ul2 = document.getElementById("comment2");
    var ulbox = document.getElementById("review_box");
    ul2.innerHTML = ul1.innerHTML;
    ulbox.scrollTop = 0;
    this.rollStart(t);
},
rollStart(t) {
    var ul1 = document.getElementById("comment1");
    var ul2 = document.getElementById("comment2");
    var ulbox = document.getElementById("review_box");
    this.rollStop();
    this.timer = setInterval(()=>{
        // 当滚动高度大于列表内容高度时恢复为0
        if (ulbox.scrollTop >= ul1.scrollHeight) {
            ulbox.scrollTop = 0;
        } else {
            ulbox.scrollTop++;
        }
    }, t);
},
rollStop(){
    clearInterval(this.timer);
},










**  定义before-after选择器  **/
.before-after-common {
  bottom: 100%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  z-index:1;
}
div.mini-table{
  background-color:#ebf5fd;
  /*overflow:hidden; 可以避免外边距合并但影响箭头显示*/
  position:relative;
  padding:0.5px 0px; /** avoid 外边距合并 **/
  &:before{
    .before-after-common;
    right: 22%;
    border-bottom-color: #ddd;
    border-width: 8px;
    
  }
  &:after{
    .before-after-common;
    right: 265;
    border-bottom-color: #ebf5fd;
    border-width: 7px; 
  }
}










<div class="demo">
    <div class="out"></div>
    <div class="in"></div>
</div>

.demo{
    width:200px;
    height:200px;
    border:2px solid #f30;
    position:relative;
}

.out,.in{
        position:absolute;
        width:0;
        height:0px;
        }

out{
        border:20px solid transparent;
        border-bottom-color:#f30;  /*这里的颜色一定要跟上面demo边框颜色一样*/
        top:-40px;
        left:20%;
        }

.in{
        border:18px solid transparent;
        border-bottom-color:#fff;/*这里的颜色一定要跟demo背景颜色一样*/
        top:-35px;
        left:21%;
        }