css 是否有其他方法可以在不使用绝对位置的情况下重叠项目?[关闭]

hjzp0vay  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(106)

**已关闭。**此问题需要debugging details。目前不接受回答。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答问题。
2天前关闭。
Improve this question
我正在处理我的作品集,其中包含背景图形,应该放在文本后面。现在一切看起来都很好,因为我使用绝对定位并从顶部定义精确的像素来定位所有内容。然而,我知道这是不好的做法,并且在响应方面不是最好的选择。
每当我尝试使用其他选项,如相对和弹性,项目不重叠了,文本被放置在背景图形。
我知道这是一个愚蠢的问题,但我到底应该如何使一个响应式布局与背景图形?
我尝试了flex和相对定位,但这不是我需要的结果。

8ljdwjyq

8ljdwjyq1#

如果你不知道你想要达到什么效果的话,你很难帮上忙,在html/css中有很多方法可以重叠一些东西,但是它们都有点不确定和不确定。大多数情况下,相对定位比绝对定位更好。不确定这是否会有帮助,但是这里有两个技巧,可能不是最佳实践,但是在紧要关头可以工作。

1. CSS Transfrom

如果你确切地知道你想要的东西如何重叠,你可以使用CSS转换来移动元素。

.box {
  width: 30px;
  height: 30px;
}

#A {
  background: blue;
}

#B {
  background: red;
  transform: translate(15px, -15px);
}

个字符

2.将元素放入大小为零的div中

如果你把你的背景放在一个高度和宽度都是0px的div中,那么它就会浮在其他元素后面。

main {
  width: 200px;
  overflow: hidden;
}

#no_size {
  width: 0px;
  height: 0px;
}

#background {
  width: 1000px;
  height: 1000px;
  background: orange;
}
<main>

<div id="no_size">
  <div id="background"></div>
</div>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>

</main>

的字符串

CSS布局很难,祝你好运!

kd3sttzy

kd3sttzy2#

这不是一个愚蠢的问题!创建一个具有背景图形的响应式布局,同时确保可以使用各种技术实现文本覆盖。以下是一些建议:
CSS Grid:使用CSS网格布局。您可以将项目放置在网格单元格中,并使用z索引对其进行分层,以确保文本覆盖背景图形。
职位性质:在一个有定义位置的父容器中使用相对或绝对定位而不是绝对定位。合并将其与z索引结合以控制堆叠顺序。
背景图片:为容器设置背景图像,并使用填充为文本创建空间而不影响背景。使用媒体查询根据屏幕大小调整填充以提高响应性。
覆盖技术:为背景图形创建一个单独的div,并使用z-index将其放置在文本后面。

.container {
  position: relative;
  /* Other styles for container */
}

.background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Set background image and other styles */
  background-image:url("");
  background-size:cover;
  background-position:center center;
}

.content {
  position: relative;
  z-index: 1;
  /* Other styles for content */
}

个字符
然后使用更高的z-index值定位文本元素,以确保它显示在顶部。

相关问题