gpt4 book ai didi

css - 如何使一个div覆盖不同行中的另一个div

转载 作者:行者123 更新时间:2023-11-28 11:35:11 26 4
gpt4 key购买 nike

使用了

Bootstrap 框架和jQuery 库。

我在两个不同的中有多个div。当鼠标悬停时,我正在使用 jQuery 更改第一行的 div 高度。 z-index绝对位置 的使用打破了 Bootstrap 响应。

z-indexabsolute position.col-xs-* 结合使用可以提供有效的解决方案。然而,结果并不适合移动设备。

现状

div .site-box-id-01.site-row-id-01 的高度同时变化时间。

enter image description here enter image description here

期望的结果

我不想改变整个 row 的高度,我希望第一个 div 在高度改变后覆盖第二个。我应该如何在不中断响应的情况下在 Bootstrap 中实现它。


 $(function() {
console.log(">>> jQuery is ready");
$(".site-box-id-01").mouseenter(function() {
console.log(">>> mouse enter");
$(this).stop(true, false).animate({
height: "500px"
}, {
duration: 100
});
}).mouseleave(function() {
console.log(">>> mouse leave");
$(this).stop(true, false).animate({
height: "300px"
}, {
duration: 100
});
});
});
.site-box {
width: 300px;
height: 300px;
border: 1px solid black;
background-color: white;
}

.row {
border: 1px dashed black;
height: 301px;
/* fix row height*/
}

.site-row-id-01 {
background-color: blanchedalmond;
}

.site-row-id-02 {
background-color: azure;
}

.site-box-id-01 {
position: absolute;
z-index: 1;
}
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title>Moving Box</title>

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
<!-- jQuery -->
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>



</head>

<body>
<div class="container-fluid">
<div class="row" id="site-row-id-01">
<div class="col-sm-4">
<div class="site-box site-box-id-01">Test Box 01</div>
</div>
<div class="col-sm-4">
<div class="site-box site-box-id-01">Test Box 02</div>
</div>
<div class="col-sm-4">
<div class="site-box site-box-id-01">Test Box 03</div>
</div>
</div>
<div class="row row-class-02" id="site-row-id-02">
<div class="col-sm-4">
<div class="site-box site-box-id-02">Test Box 04</div>
</div>
<div class="col-sm-4">
<div class="site-box site-box-id-02">Test Box 05</div>
</div>
<div class="col-sm-4">
<div class="site-box site-box-id-02">Test Box 06</div>
</div>
</div>
</div>

</body>

</html>

最佳答案

CSS 的一些更改:

.site-box {
width: 300px;
height: 300px;
border: 1px solid black;
background-color: white;
}
.row {
border: 1px dashed black;
height: 301px;
}
#site-row-id-01 {
background-color: blanchedalmond;
}
#site-row-id-02 {
background-color: azure;
}

#site-box-id-01 {
position:absolute;
z-index: 10;
}

绝对定位元素不会将其余内容向下推。此外,z-index 属性使其位于第二行的顶部。

参见 Example A .


否则,在需要多个 div 的情况下,使用 jQuery .hover() 定位元素:

$(function() {
$(".site-box").hover(function() {
$(this).css('z-index', '1000');
$(this).stop(true, false).animate({
height: "500px"
}, {
duration: 100
});

}, function(){
$(this).css('z-index', '0');
$(this).stop(true, false).animate({
height: "300px"
}, {
duration: 100
});
});
});

CSS 也有一些变化,参见 Example B .


如果将 width: 300px;.site-box 更改为 width: 100% 并使用 .col-sm -4 .col-xs-12 它将看起来像您为手机请求的那样(调整浏览器大小以查看效果)。

参见 Example C .

关于css - 如何使一个div覆盖不同行中的另一个div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29246796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com