如何使用具有圓角背景的文字覆蓋圖像
P粉328911308
P粉328911308 2023-08-30 15:20:14
0
1
395

我需要在 HTML 中複製您在此圖片中看到的內容:

問題是文字覆蓋了 div 和背景圖像。如果外部 div 中沒有圖像並且沒有純色,我可以想像我可以相當輕鬆地使用一些帶有圓角的小 html 元素放置在正確的位置來完成此操作,但是背景圖像是什麼增加了複雜性。

到目前為止,我有這個...如你所見,我被困在兩個圓角上。誰能提出解決方案?請注意,它必須在所有現代瀏覽器中工作:

#outer { width:100%; height:400px; border-radius:20px; background-image:url(https://media.istockphoto.com/id/1323032473/es/vector/panal-abstracto-de-vector-azul-moderno-con-fondo-de-monitor-de-corazón-con- para-la.jpg?s=2048x2048&w=is&k=20&c=mXe4wSHc8kAcOXastbN9jhinrWGQX3vvJQUhDgvOcqA=); position:relative; } #innertext { display:inline; border-top-right-radius:20px; background-color:#fff; padding:5px 25px 0px 5px; font-size:40px; color:#000; position:absolute; bottom:0px; }
A test title
that is on two lines

P粉328911308
P粉328911308

全部回覆 (1)
P粉391677921

您需要將:before:after新增到.innertext元素

更新:

要有多行,只需添加一個flex-direction: column容器,每行都會有:after(右)角,並且只有第一個子元素將有:before(頂部)角

#outer { width: 100%; height: 400px; border-radius: 20px; background-image: url(https://media.istockphoto.com/id/1323032473/es/vector/panal-abstracto-de-vector-azul-moderno-con-fondo-de-monitor-de-coraz%C3%B3n-con-para-la.jpg?s=2048x2048&w=is&k=20&c=mXe4wSHc8kAcOXastbN9jhinrWGQX3vvJQUhDgvOcqA=); position: relative; } #inner-container { display: flex; flex-direction: column; align-items: flex-start; position: absolute; bottom: 0px; } .innertext { display: inline; position: relative; border-top-right-radius: 20px; background-color: #fff; padding: 5px 25px 0px 5px; font-size: 40px; color: #000; } .innertext:first-child::before, .innertext::after { content: ""; display: block; width: 40px; /* double the radius */ height: 40px; /* double the radius */ background-color: transparent; position: absolute; border-bottom-left-radius: 20px; box-shadow: 0 20px 0 0 #fff; /* this to create the inverted corner border radius area, if you desire to change the positon you can control it via the first two values 0 20px which represents the x & y */ } .innertext::before { top: -40px; left: 0; } .innertext::after { right: -40px; bottom: 0; } .innertext span { position: relative; z-index: 1; /* to overcome the overlapping with the text */ }
A test
A test with a second line
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!