fix: spoiler display when used as a block

This commit is contained in:
草师傅 2025-08-18 18:33:36 +08:00
parent 9e0afdad03
commit 65fb7cf638
Signed by: gb
GPG key ID: 43330A030E2D6478

View file

@ -1,9 +1,17 @@
---
const { tip = '' } = Astro.props
let divNeeded = false
const content = await Astro.slots.render('default')
if (content.includes('<p>')) {
divNeeded = true
}
---
<span class="spoiler" title={tip}>
<slot/>
</span>
{divNeeded ?
<div class="spoiler" title={tip} set:html={content}></div>
:
<span class="spoiler" title={tip} set:html={content}></span>
}
<style>
:global(.spoiler p) {
background-color: #252525;