0

当下面的代码在这个小提琴中运行时,元素“.title-wrap”和“.bg-wrap”并排出现。谁能告诉我如何做到这一点,所以“.bg-wrap”会自动占用整个“.wrap”,而css更改最少。

html:

<div class="wrap selected">
       <div class="title-wrap"></div>  
       <div class="bg-wrap"></div>
</div>        

CSS:

.selected .title-wrap{
    position:initial !important;
    text-align: center;
    height:29.42px;
    animation:titleAnimation .2s;
        -webkit-animation:titleAnimation .2s;
         -webkit-animation-fill-mode: forwards;
}

@-webkit-keyframes titleAnimation 
{
from {left:85px;top:5px}
to {left:25px;top:5px}
}

.wrap .title-wrap{
    width:202px;
    display:block;
    position:absolute;
    top:5px;
    left:85px;
    background:black;
}


.selected .bg-wrap{
    background:green;
    height:700px;
    width:100%;
    animation:bgAnimation .2s;
        -webkit-animation:bgAnimation .2s; 
         -webkit-animation-fill-mode: forwards;
}

@-webkit-keyframes bgAnimation
{
from {left:85px;top:35px;}
to {left:205px;top:0px;}
}

.wrap .bg-wrap{
    display:block;
    position:absolute;
    top:35px;
    left:85px;  
}
4

1 回答 1

0

对你想要完成的事情并不积极,但我认为我有解决方案。我还清理了您的代码,现在它已经缩小并且更易于阅读。我还更新了跨浏览器使用。这是更新后的 JSFiddle,其中包含必要的修复:http: //jsfiddle.net/mLh7r/34/

HTML:

<div class="wrap selected">
    <div class="title-wrap titleAnimation"></div>
    <div class="bg-wrap bgAnimation"></div>
</div>

CSS:

@-webkit-keyframes titleAnimation {from{left:85px;top:5px}to{left:25px;top:5px}}
@-moz-keyframes titleAnimation {from{left:85px;top:5px}to{left:25px;top:5px}}
@keyframes titleAnimation {from{left:85px;top:5px}to{left:25px;top:5px}}

@-webkit-keyframes bgAnimation {from{left:85px;top:35px;}to{left:0px;top:0px;}}
@-moz-keyframes bgAnimation {from{left:85px;top:35px;}to{left:0px;top:0px;}}
@keyframes bgAnimation {from{left:85px;top:35px;}to{left:0px;top:0px;}}

.titleAnimation {
    -webkit-animation: titleAnimation ease-in 1s;
    -moz-animation: titleAnimation ease-in 1s;
    animation: titleAnimation ease-in 1s;

    -webkit-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    animation-fill-mode: forwards;    
}
.bgAnimation {
    -webkit-animation: bgAnimation ease-in 1s;
    -moz-animation: bgAnimation ease-in 1s;
    animation: bgAnimation ease-in 1s;

    -webkit-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    animation-fill-mode: forwards;    
}
.wrap .title-wrap, .wrap .bg-wrap {
    position: absolute;
    display: block;
    left: 85px;
}
.title-wrap {
    position:absolute !important;
    text-align: center;
    height:29.42px;
}
.bg-wrap {
    height:700px;
    width:100%;
    background:green;
    z-index: -1;
}
.wrap .title-wrap {
    width:202px;
    top:5px;
    background:black;
}
.wrap .bg-wrap {
    top:35px;
}
于 2013-10-15T02:21:55.150 回答