0

HTML 看起来像这样

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Oppgave 5</title>
<style type="text/css">

</style>
</head>
<body>
    <div id="animWrap">
        <div id="boks"></div>
    </div>
</body>
</html>

我想做的是使ID为“boks”的div扩展并“吃掉”整个div“animWrap”。

所以我的CSS如下:

    body{
    margin: 0px;
}

#animWrap{
    height: 600px;
    width: 960px;
    background-color: rgb(145, 75, 75);
    margin: auto;
    position: relative;
}

#boks{
    width: 250px;
    height: 175px;
    top: 200px;
    left: 380px;
    background-color: rgb(180, 100, 100);
    position: absolute;
    transition: all 5s linear 0s;
}

#animWrap:hover #boks {
    height: 400px;
    width: 580px;
}

我注意到的是它只向右和向下扩展。可能是因为它没有正确居中。有没有办法只用html和css从中间向各个方向扩展它?

4

2 回答 2

0

当然,你可以这样做,但你必须应用一个技巧。只计算剩余空间。在这种情况下,我认为整个 div 覆盖的空间是 960 像素,而#bok 在悬停时得到 580 像素,因此左侧的空间 = 190 像素,右侧的空间 = 190 像素。现在您可以像这样应用悬停 css:

#animWrap:hover #boks {
    height: 400px;
    width: 580px;
    left:190px;
} 

这将完成技巧并在中心对齐动画。它在我的工作。快乐编码!干杯!!

于 2013-09-16T14:14:20.427 回答
0

如果您将#boks宽度和高度分别设置为100%,并注释掉它的topleft值,它应该填充整个父级div

#boks{
    width: 100%;
    height: 100%;
    background-color: rgb(180, 100, 100);
    position: absolute;
    transition: all 5s linear 0s;
}
于 2013-09-16T14:14:31.183 回答