/* 定义一个容器 */
.container {
width: 300px;
height: 200px;
overflow: hidden;
position: relative;
}
/* 定义一个内容块 */
.content {
width: calc(100% + 20px);
height: 100%;
position: absolute;
left: -10px;
top: 0;
transition: transform 1s cubic-bezier(0.22, 0.61, 0.36, 1) 0s;
}
/* 鼠标移入容器时,内容向左平移 */
.container:hover .content {
transform: translateX(-50%);
}
/* 定义一个遮罩层 */
.mask {
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.3);
position: absolute;
top: 0;
left: 0;
z-index: 1;
opacity: 0;
transition: opacity 0.5s ease-in-out;
}
/* 鼠标移入容器时,遮罩层逐渐显示 */
.container:hover .mask {
opacity: 1;
}
/* 定义一个文本块 */
.text {
color: #fff;
font-size: 20px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 2;
opacity: 0;
transition: opacity 0.5s ease-in-out;
}
/* 鼠标移入容器时,文本块逐渐显示 */
.container:hover .text {
opacity: 1;
}可以看到,这段代码使用了CSS的transition和transform属性来实现内容向左平移的动画效果。通过设置遮罩层的透明度和文本块的opacity属性,并利用transition属性的变化,实现了逐渐显示的渐变效果。在实际应用中,可以根据需求调整代码中的细节来达到更好的效果。
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did222032