我有一个容器div
,内部有几个较小的div
:s,所有容器都带有float:left;
。如果我将鼠标悬停在较小的div
:s之一上,则height
和width
应该增加,并且应该覆盖其他div
:s,而不移动它们。
HTML:
<div id="boxcontainer">
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</div>
CSS:
.box {
float:left;
position: relative;
width:150px;
height:150px;
margin:5px;
background-color: yellow;
}
#boxcontainer {
position: relative;
width:500px;
height:auto;
}
.box:hover {
z-index:100;
width:300px;
height:auto;
}
我该如何实现?
z-index仅适用于定位的元素 ((位置:绝对,位置:相对,或位置:固定)。
而不是向左浮动尝试位置绝对值。
我已经在每个盒子周围添加了一个容器,并将每个元素完全放置在其中。这样,您可以根据需要添加任意数量的框并保持相同的类。
HTML
<div id="boxcontainer">
<div class="box">
<div class="Inside"></div>
</div>
<div class="box">
<div class="Inside"></div>
</div>
<div class="box">
<div class="Inside"></div>
</div>
</div>
CSS
#boxcontainer{
position: relative;
width:500px;
height:500px;
}
.box{
position:relative;
float:left;
width:150px;
height:150px;
margin:5px;
}
.Inside{
background:green;
position:absolute;
top:0;
left:0;
width:150px;
height:150px;
transition:all 0.5s ease-in-out;
-webkit-transition:all 0.2s ease-in-out;
}
.Inside:hover{
z-index:100;
width:250px;
height:250px;
background:#666666;
}
实时演示:http://jsfiddle.net/hKL4f/1/
我认为做您想要的事的最简单方法是使用CSS变换。
.box:hover {
transform: scale(2, 2);
}
这样,您就可以在悬停时更改元素的尺寸,而不会影响周围文档流中的任何其他元素。
如果您希望框以不同的方式扩展(即,向右和向下而不是向所有方向扩展),则可以设置transform-origin属性(默认为50%50%)。
尝试一下...有些有用
.box{
float:left;
postion: fixed;
width:150px;
height:150px ;
margin:5px;
background-color: yellow;
}
#boxcontainer{
postion: fixed;
width:500px;
height:auto;
}
.box:hover{
z-index:1;
width:260px;
height:160px;
position:absolute;
}
当我将鼠标悬停在项目上时,我在项目中遇到了相同的问题,该框会更改其宽度和高度,但也会影响其他框,因此要解决此问题,最好的方法是使用以下transform
属性
.box:hover {
transform: scale(1.2 , 1.2); // This increses the dimmensions of the box and overlay
to others boxes without disturbing others
}