【问题标题】:How can I overlap two different SVGs? [duplicate]如何重叠两个不同的 SVG? [复制]
【发布时间】:2020-07-24 12:54:01
【问题描述】:

我正在尝试重叠两个以前是一个 SVG 的 SVG - 我只是分离了这些层,这样我就有了更多的控制权。

这是我的代码:

<Grid container direction="row" justify="center" style={{ height: '90vh', paddingTop: 80, backgroundImage:`url("/media/bg/bg-2.svg")`, backgroundSize:'cover'}}>
                    <Grid item sm={5} style={{ color: 'white', maxWidth: 500, paddingTop: 140 }}>
                        <h1 style={{ fontWeight: 700, color: '#E2A2A5' }}> Lorem Ipsum </h1>

                        <p style={{fontSize: 20}}>
                            Lorem Ipsum
                        </p>
                    </Grid>
                    <Grid item sm={6}> 
                        <img src={toAbsoluteUrl('/media/images/computer.svg')} alt="computer" />
                        <img src={toAbsoluteUrl('/media/images/book.svg')} alt="book" />                        
                    </Grid>
                </Grid>

How it looks

我的目标是让两个 SVG 像 this 一样叠放在一起

我知道这可能是 SCSS/CSS 问题,但不知道什么样的代码会给我想要的结果。

非常感谢所有帮助:)

【问题讨论】:

  • 与其将其拆分为两个 SVG,不如考虑使用 将事物分组为层

标签: javascript css reactjs svg


【解决方案1】:

您可以将这两个项目的容器设置为position: relative

然后将svgs设置为position: absolute

这样,您可以在 svg-s 上设置 z-index 以获得深度,这意味着您想要将哪个放在另一个之上。

对于定位,您可以使用 bottomtopleftright 将元素放置在某个位置您愿意,并且您可以更好地控制它们。

编辑:

position: relative 之所以重要,是因为position: absolute 的元素是从position: relative 的第一个父节点定位的。

【讨论】:

  • 建议只做一个绝对的,所以尺寸是一样的
  • 我会更新关于position: relative的答案。绝对位置的元素是从那里开始的第一个相对父级的位置。在这种情况下,这将是容器
猜你喜欢
  • 2016-03-27
  • 1970-01-01
  • 2018-09-17
  • 2016-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-20
  • 1970-01-01
相关资源
最近更新 更多