html轮播出现的问题,纯html+css的轮播图问题

html:

1

2

3

css:

.slide{

width: 200px;

height: 80px;

position: relative;

margin: 0 auto;

overflow: hidden;

background-color: #f00;

}

.slide-content{

width: 100%;

height: 100%;

position: absolute;

right: -100%;

top: 0;

animation: slider-out 0.5s linear;

}

.slide-content:target{

right: 0%;

animation: slider-in 0.5s linear;

}

@keyframes slider-out{

from{

right: 0%;

}

to{

right: -100%;

}

}

@keyframes slider-in{

from{

right: 100%;

}

to{

right: 0%;

}

}

#slide1{

background-color: #f00;

}

#slide2{

background-color: #0f0;

}

#slide3{

background-color: #00f;

}

.btns{

position: absolute;

left: 0;

bottom: 0;

z-index: 100;

}

.btn{

float: left;

margin-left: 10px;

display: block;

text-align: center;

text-decoration: none;

width: 20px;

line-height: 20px;

opacity: 0.6;

color: #fff;

background-color: #b7b7b7;

}

想达到的效果是点击按钮后,对应的slide块由左往右滑动出现。

调试发现:

单击按钮后,所点按钮对应的slide块的显示效果没有按预期地变化,但其right属性和预期是一样的,与显示效果不符?

按钮部分会很奇怪地跑到右边去,我的理解是按钮明明是position:absolute的,应该基于父元素div.slide定位,为什么会和它兄弟元素一起移动所以理解不能~

将 slide-content元素的属性改为 right:100%后,完美运行,为什么?测试了一下animation配合@keyframes的动画,即使0%时的属性与元素本身属性不符,动画也会正常按流程运行,只是有个突变的效果,为什么此处行不通?

请各位指教!谢谢~!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值