【发布时间】:2021-04-20 19:55:52
【问题描述】:
我目前正在使用 CRA 开发单页应用程序。我正在尝试创建一个位于应用程序顶部并包含叠加层的英雄图像。对于英雄图像,我使用的是背景图像。我遇到的问题是保持背景图像的整体响应能力。无论屏幕大小如何,我都希望用户能够看到整个背景图像。
以下链接显示了我试图达到的效果:https://www.youtube.com/watch?v=gfzWLbAbcCw&feature=youtu.be
我的 JSX 代码如下:
import React from "react";
import "./styles.scss";
export default function App() {
return (
<>
<div className="container">
<div className="container-background"> </div>
<div className="content">
<div style={{ textAlign: "center", paddingTop: 20 }}>Welcome</div>
</div>
</div>
</>
);
}
我的CSS代码如下:
body {
margin: 0;
padding: 0;
}
.container {
position: relative;
}
.container .container-background {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-size: cover;
background-repeat: no-repeat;
background-image: url('https://i.imgur.com/iyFtMNA.jpg');
opacity: .2;
height: 1200px;
}
.container .content {
position: relative;
z-index: 1;
}
对于我可以利用哪些 css 属性来实现我想要的效果,我遇到了很多困难。欢迎提出任何建议!
以下链接https://codesandbox.io/s/vigilant-wozniak-t8wmx?file=/src/styles.scss:0-391 包含用于调试的沙箱
【问题讨论】: