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>
我正在尝试创建一个特殊的盒子效果,但我在理解我应该如何从从右到左,而不是通常的从左到右。
这是一些代码:
.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>