欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

在CSS網格中使用mask-image時防止出現方形邊緣

錢艷冰1年前8瀏覽0評論

起亞奧拉!我正試圖顯示一些用svg掩蓋的漂亮的英雄圖像,以創建漂亮而有趣的形狀。圖像在一個12列的網格元素中,標題和一些副本在前7列,圖像在后6列。我用的是NextJS和Tailwind搭配Sanity.io,供參考。

我的問題是,當SVG遮罩超出圖像所在的元素時,它顯然會裁剪出一條硬的直線邊緣。我可能用了錯誤的方法,但是我希望圖像的大小受到SVG和它們所在的元素的約束,這樣SVG的形狀就不會被父元素剪切。

下面是一些示例代碼:

<div className='grid grid-cols-12 p-4 bg-emerald-50'>
                <div className='col-span-7'> 
                    <h1 className='font-bold text-8xl text-cyan-500'>{about.title}</h1>
                    <div className='py-4 prose'>
                        <PortableText value={about.desc} />
                    </div>
                </div>
                <div className='relative col-span-5 m-1 clip-image'>
                    <Image src={urlFor(about.hero_image).url()} height={500} width={500} />
                </div>
            </div>

剪輯圖像是:

.clip-image {
    mask-image: url('../public/hero.svg');
    mask-size: cover;
    mask-repeat: no-repeat;
    mask-position: center;
  }

就像我說的,我認為我可能以錯誤的方式處理這個問題——我認為我必須將圖像的大小限制在它所在的元素的大小之內(或者只是選擇一個不同的圖像/SVG,這樣設置mask-size: 100%就不會剪切掉人臉)——但是任何其他的建議都將是非常感謝的!