gpt4 book ai didi

html - 如何强制此 div 跨越视口(viewport)的高度?

转载 作者:太空宇宙 更新时间:2023-11-04 14:22:48 25 4
gpt4 key购买 nike

jsFiddle显示问题。我没有设法阻止 div0 div 与其兄弟 div1 的顶部边距“折叠”。 (下面的 HTML。)

我希望 div0 垂直跨越<​​em>整个视口(viewport),并且其中的红色 rect 与左上角齐平视口(viewport)。 (div1 的位置及其内容完全符合要求,不应以任何方式更改。)

我试图通过在 div0div1 周围放置边框来禁用边距折叠,但是,正如 jsFiddle 所示,这没有任何区别。

这是相关的 HTML:

<!doctype html>
<body>
<div id="div0">
<svg id="svg0" width="50px" height="50px">
<g>
<rect x="0px" y="0px"
width="50px" height="50px" style="fill:red;"></rect>
</g>
</svg>
</div>

<div id="div1">
<div id="div2">
<svg id="svg1" width="100px" height="100px"></svg>
</div>
</div>

最佳答案

这里有一个解决方案。我添加了一个 .wrapper 类,带有一个 absolute position,以包含元素并保持文档的 flex 。我还在你的 div0 id 中添加了 overflow: hidden 以防止红色的 svg rect 流出包含div.

这是更新的 >>>JSFiddle<<<

HTML:

<div class="wrapper">
<div id="div0">
<svg id="svg0" width="50px" height="50px">
<g>
<rect x="0" y="0" width="50px" height="50px"></rect>
</g>
</svg>
</div>
<div id="div1">
<div id="div2">
<svg id="svg1" width="100px" height="100px"></svg>
</div>
</div>
</div>

CSS:

body {
margin: 0;
padding: 0;
}
.wrapper {
position: relative;
width: 100%;
height: 100%;
border: 1px solid blue;
}
#div0 {
position: absolute;
top: 0;
left: 0;
width: 30%;
height: 100%;
background-color: yellow;
border: 1px solid blue;
overflow: hidden;
}
#div1 {
margin-top: 20px;
border: 1px solid green;
background: lightgray;
min-height: 27px;
display: -webkit-flex;
display: flex;
}
#div2 {
background: black;
margin: 0px auto;
}
rect {
fill: red;
}

关于html - 如何强制此 div 跨越视口(viewport)的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19781135/

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