์ด์ 6๊ฐ, 7๊ฐ์ ์ข ๋ ์๋๊ฐ์๊ฒ ์ข์ฐ์ธก ํต๋ฉ๋ด๋ฅผ ๊ตฌ์ฑํ๋๋ก ํ๊ฒ ์ต๋๋ค.
โ
src/components/RightQuickMenu.vue
<template>
<div class="right-quick-menu">
<div class="quick-card play-card">
<img
src="https://img.megagong.net/m/2025/0715_playground/bnr_right_gong1.png"
alt="์ด๋ฒคํธ ์ด๋ฏธ์ง"
/>
</div>
<div class="quick-card coupon-card">
<p class="badge">30% ํ ์ธ<br />์ฟ ํฐ ์ฆ์ </p>
<p class="main-text">e-๊ต์ฌ<br /><span class="blue">์ฒซ ๊ตฌ๋งค ์ด๋ฒคํธ</span></p>
<button class="detail-btn">์์ธํ ๋ณด๊ธฐ</button>
</div>
<div class="quick-card nextpass-card">
<p class="small">๋ชจ๋ ์ํ์์ ์ํ</p>
<p class="blue-bold">๊ณต๋ฌด์ ๋ฅ์คํธํจ์ค<br />๋ง์ถค ํ ์ธ ํํ</p>
<button class="tag-btn on">์ ยทํ์ง ๊ณต๋ฌด์</button>
<button class="tag-btn">ํฌ๋ง ์ธ๊ธฐ๊ฐ<br />(์ ์๋/์ฐจ์์)</button>
</div>
</div>
</template>
<script>
export default {
name: "RightQuickMenu",
};
</script>
<style lang="scss" scoped>
.right-quick-menu {
position: absolute;
top: 40px;
left: 50%;
margin-left: 630px;
display: flex;
flex-direction: column;
gap: 12px;
z-index: 99;
}
.quick-card {
width: 120px;
padding: 10px;
border-radius: 12px;
text-align: center;
font-size: 12px;
line-height: 1.4;
border: 1px solid #ddd;
background: #fff;
}
.play-card {
padding: 0;
border: 0;
}
.badge {
font-weight: bold;
color: #222;
}
.main-text {
margin: 4px 0;
}
.main-text .blue {
color: #0070f3;
font-weight: 700;
}
.detail-btn {
background: #fff;
border: 1px solid #ccc;
border-radius: 20px;
padding: 2px 8px;
font-size: 11px;
margin-top: 4px;
}
.nextpass-card .blue-bold {
color: #0070f3;
font-weight: 700;
margin: 4px 0;
}
.nextpass-card .tag-btn {
background-color: #eee;
border: none;
font-size: 11px;
border-radius: 3ch;
padding: 2px 6px;
margin-bottom: 4px;
&.on {
background: #0070f3;
color: #fff;
}
&:last-child {
margin-bottom: 0;
}
}
.sub-text {
font-size: 11px;
color: #666;
}
</style>
โ
src/components/LeftQuickMenu.vue
<template>
<div class="left-quickmenu">
<div>[ ์ข์ธก ์ฌ์ด๋ ๊ณ ์ ๋ฉ๋ด ]</div>
</div>
</template>
<style scoped>
.left-quickmenu {
position: absolute;
}
</style>
์ปจํ ์ธ ์์ญ ์ข์ฐ ๊ท ํ์ ์ํด์ ์ข์ธก ์ฌ์ด๋๋ฉ๋ด๋ฅผ ๋จผ์ position: absolute ๋ก ๋์ด์ค๋๋ค.
โ
src/assets/base.scss
*,
*::before,
*::after {
box-sizing: border-box;
}
๐ฏ ๋ค์ ๊ณผ์
์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํด๋ณด์ธ์!
RigthQuickMenu.vue
๋ด๋ถ.tab-btn
์ ํด๋์ค on์ด 3์ด์ ํ๋ฒ์ฉ ์๋์ ํ๋๊ฒ ํด๋ณด์ธ์.
๐ฌ ๋๊ธ
โป ๋ก๊ทธ์ธ ํ ๋๊ธ์ ์์ฑํ ์ ์์ต๋๋ค.