CSSで吹き出しを作る https://lpeg.info/html/css_bubble.html Vueコンポーネント+TailwindCSSでの書き方 したむきの枠線つき吹き出し <template> <div class="speech-balloon relative inline-block rounded-3xl border border-gray-2 py-xxs px-m bg-white text-black text-center text-base" @click="$emit('click')" > {{ text }} </div> </template> <script lang="ts"> import { Vue, Component, Prop } from 'vue-property-decorator' /** * 吹き出し */ @Component export default class SpeechBalloon extends Vue { @Prop({ required: true, type: String }) readonly text!: string } </script> <style scoped> .speech-balloon:before { @apply absolute; @apply z-20; content: ''; top: 100%; left: 50%; margin-left: calc(0px - theme('spacing.s')); border: theme('spacing.s') solid transparent; border-top: theme('spacing.s') solid theme('colors.white'); } /* 下に載せる三角アイコン */ .speech-balloon:after { @apply absolute; @apply z-10; content: ''; top: 100%; left: 50%; margin-left: calc(0px - theme('spacing.s') - 2px); border: calc(theme('spacing.s') + 2px) solid transparent; border-top: calc(theme('spacing.s') + 1px) solid theme('colors.gray.2'); } </style>