使用css获取Sibling html元素以占用整个父容器

时间:2013-10-14 22:14:14

标签: css html formatting siblings

当以下代码在此fiddle中运行时,元素" .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;  
}

1 个答案:

答案 0 :(得分: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;
}