CSS 过渡:让它从右到左,而不是从左到右

CSS Transition: Making it go from Right to Left, instead of Left to Right

我正在尝试创建一个特殊的盒子效果,但我在理解我应该如何从从右到左,而不是通常的从左到右。

这是一些代码:

.box {        
  display: block;
  margin: 3em;
  width: 360px;
  height: 420px;
  border: 1px solid #333;
  text-align: center;
}

.slice-mid {
  position: absolute;
  margin: 0;
  top: 370px;
  width: 0px;
  height: 140px;
  background-color: white;
  z-index: 2;
  visibility: hidden;
}

.box:hover .slice-mid {
  visibility: visible;
  width: 360px;
  transition: 1.3s ease-in-out;
}
<div class="box">
    <div class="bg-img"></div>
    <div class="slice-top"></div>
    <div class="slice-mid"></div>
    <div class="slice-bot"></div>
  </div>

我得到了一张背景图片,鼠标悬停在上面会出现三个方块以覆盖整个图片。它们必须来自不同的原点,奇数,所以说顶盒从左到右,中盒从右到左,底盒从左到右。你明白了。我的中间框有问题。

您需要将 .slice-mid 绝对定位在右侧。这样当它扩展时,它只能向左扩展。将 position:relative; 放在 .box 上,这样切片将根据其父元素定位。

.box {        
  display: block;
  margin: 3em;
  width: 360px;
  height: 420px;
  border: 1px solid #333;
  text-align: center;
  position:relative;
}

.slice-mid {
  position: absolute;
  margin: 0;
  top: 370px;
  width: 0px;
  right:0px;
  height: 140px;
  background-color: white;
  z-index: 2;
  visibility: hidden;
}

.box:hover .slice-mid {
  visibility: visible;
  width: 360px;
  transition: 1.3s ease-in-out;
}
<div class="box">
    <div class="bg-img"></div>
    <div class="slice-top"></div>
    <div class="slice-mid"></div>
    <div class="slice-bot"></div>
</div>