CSS 转换 属性 不使用转换
CSS transition Property not working with Transform
我一直在尝试在我的 div 盒子上获得一些过渡效果。但它不起作用
.box{
height: 200px;
width: 400px;
display: flex;
justify-content: center;
align-items: center;
background-color: blueviolet;
margin: 20px;
border-radius: 20px;
transform: translateX(200%);
transition: transform 1s ease-in-out;
}
.box.show{
transform: translateX(0);
}
我知道我没有使用按钮来添加 class。我只是手动添加并保存。但它确实有效。
这是完整的代码 link
过渡是动画。
你可以看看here
你需要用一个动作来“调用”它
box {
width: 100px;
height: 100px;
background: red;
transition: width 2s;
}
.box:hover {
width: 300px;
}
或者您可以使用事件
将其添加到JavaScript
包括显示 class 在盒子上的即时效果将不会显示任何动画。如果您使用 setInterval
(出于演示目的),您会看到动画有效。
//Toggle the class every second
setInterval(function(){
document.getElementById('box').classList.toggle('show');
}, 1000);
.box{
padding: 15px;
height: 60px;
width: 200px;
display: flex;
justify-content: center;
align-items: center;
background-color: blueviolet;
margin: 20px;
border-radius: 20px;
transform: translateX(10%);
transition: transform 1s ease-in-out;
font-family: sans-serif;
}
.box.show{
transform: translateX(0);
}
<!-- will animate since the show class is added after the initial render -->
<div id="box" class="box">I'm a box with show class added after initial render </div>
<!-- Will not animate, the show class will determine it's initial transform -->
<div class="box show">I'm a box with show already added </div>
你必须使用 transition 和一些像 :hover,:focus 这样的活跃的尝试玩转:
.box:hover{
transform: translateX(0);}
我一直在尝试在我的 div 盒子上获得一些过渡效果。但它不起作用
.box{
height: 200px;
width: 400px;
display: flex;
justify-content: center;
align-items: center;
background-color: blueviolet;
margin: 20px;
border-radius: 20px;
transform: translateX(200%);
transition: transform 1s ease-in-out;
}
.box.show{
transform: translateX(0);
}
我知道我没有使用按钮来添加 class。我只是手动添加并保存。但它确实有效。 这是完整的代码 link
过渡是动画。 你可以看看here
你需要用一个动作来“调用”它
box {
width: 100px;
height: 100px;
background: red;
transition: width 2s;
}
.box:hover {
width: 300px;
}
或者您可以使用事件
将其添加到JavaScript包括显示 class 在盒子上的即时效果将不会显示任何动画。如果您使用 setInterval
(出于演示目的),您会看到动画有效。
//Toggle the class every second
setInterval(function(){
document.getElementById('box').classList.toggle('show');
}, 1000);
.box{
padding: 15px;
height: 60px;
width: 200px;
display: flex;
justify-content: center;
align-items: center;
background-color: blueviolet;
margin: 20px;
border-radius: 20px;
transform: translateX(10%);
transition: transform 1s ease-in-out;
font-family: sans-serif;
}
.box.show{
transform: translateX(0);
}
<!-- will animate since the show class is added after the initial render -->
<div id="box" class="box">I'm a box with show class added after initial render </div>
<!-- Will not animate, the show class will determine it's initial transform -->
<div class="box show">I'm a box with show already added </div>
你必须使用 transition 和一些像 :hover,:focus 这样的活跃的尝试玩转:
.box:hover{
transform: translateX(0);}