我从来没有使用过css动画,所以我只想知道,这是‘最好’的方式动画?在这种情况下,我的“最佳”包括高效和语义地使用html和css。
值得注意的是,我打算添加额外的功能,例如手动来回滚动。这个设置可以用javascript进行扩展吗?还是这里有些东西太动情了?
基本功能是,推特从右向左滚动。当你把你的鼠标放在一个,滚动停止和推特扩大,时间张贴出现。
JSFiddle可以看到它的作用
<span id="controller">
<span id="ticker">
<span id="tweet">test </span>
<span id="tweet">
<img src="http://goo.gl/NpDXFs"></img>
<div id="text">
<span id="username">@Something</span>
<span id="extra_info">3m</span>
<div id="content">content</div>
</div>
</span>
</span>
</span>#controller {
background-color: blue;
display: inline-block;
position: absolute;
width: 100%;
}
#controller:hover #ticker {
-webkit-animation-play-state: paused
}
#ticker {
-webkit-animation: move_eye 6s linear 0s infinite normal;
}
@-webkit-keyframes move_eye {
from {
margin-left:110%;
}
to {
margin-left:-50%;
}
90% {
}
}
#text{
display: inline-block;
}
#tweet {
box-sizing: border-box;
background-color: white;
display: inline-block;
position: relative;
border-radius:5px;
margin: 0px 1px;
padding: 0px 3px;
}
#tweet:hover {
font-size: 120%;
}
#tweet:hover #extra_info {
display: inline-block;
}
#tweet:hover img {
width: 40px;
height: 40px;
}
#extra_info {
display: none;
}
img{
width: 30px;
height: 30px;
}发布于 2014-05-05 01:46:18
class而不是id。<div>不能在<span>里面<img>是一个自闭标签.不需要</img>,尽管您需要用/>结束它overflow:hidden来约束滑块。这样你就不会在底部有那么可怕的滚动条了。transform而不是margin。据我所知,新的CSS3属性是硬件加速的(或者仅仅是3D的),因此它们更流畅。transform的S值相对于元素本身而不是父元素。当100% margin (顶部或底部)等于父容器时,100% transform是元素的高度( y)和宽度( x)。这是非常有用的,特别是当滑块比容器长时。太长了,无法列出我所做的事情,下面是代码:
HTML:
<div id="controller">
<div id="ticker">
<div class="tweet">
<img src="http://goo.gl/NpDXFs" />
<div class="text">
<span class="username">@Something</span>
<span class="extra_info">3m</span>
<div class="content">content</div>
</div>
</div>
</div>
</div>CSS:
#controller {
box-sizing: border-box;
background-color: #06C;
position: absolute;
width: 100%;
overflow:hidden;
}
#controller:hover #ticker {
-webkit-animation-play-state: paused
}
#ticker {
white-space: nowrap;
-webkit-animation: move_eye 6s linear 0s infinite normal;
}
@-webkit-keyframes move_eye {
from {
-webkit-transform: translate(100%,0)
}
to {
-webkit-transform: translate(-100%,0)
}
90% {
}
}
.text {
display:inline-block;
}
.tweet {
box-sizing: border-box;
background-color: #EEE;
display: inline-block;
border-radius:5px;
padding: 5px 10px;;
vertical-align: top;
margin: 5px 2px;
height: 100%;
}
.tweet:hover .extra_info {
display: inline;
}
.extra_info {
display: none;
}
img {
display:inline-block;
height: 30px;
}https://codereview.stackexchange.com/questions/48932
复制相似问题