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 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}> {divNeeded ?
<slot/> <div class="spoiler" title={tip} set:html={content}></div>
</span> :
<span class="spoiler" title={tip} set:html={content}></span>
}
<style> <style>
:global(.spoiler p) { :global(.spoiler p) {
background-color: #252525; background-color: #252525;