사이트 3차 수정
This commit is contained in:
+44
-13
@@ -198,25 +198,25 @@ onMounted(() => {
|
||||
<circle class="dot-end" cx="940" cy="80" r="5" />
|
||||
|
||||
<!-- 라벨 (연도 + 값) -->
|
||||
<text class="lbl" x="60" y="344" text-anchor="middle" style="transition-delay: 0.25s">
|
||||
<text class="lbl" x="60" y="330" text-anchor="middle" style="transition-delay: 0.25s">
|
||||
<tspan class="lbl-year" x="60">2023년</tspan>
|
||||
<tspan class="lbl-val" x="60" dy="20">창립</tspan>
|
||||
<tspan class="lbl-val" x="60" dy="38">창립</tspan>
|
||||
</text>
|
||||
<text class="lbl" x="280" y="314" text-anchor="middle" style="transition-delay: 0.65s">
|
||||
<text class="lbl" x="280" y="300" text-anchor="middle" style="transition-delay: 0.65s">
|
||||
<tspan class="lbl-year" x="280">2024년</tspan>
|
||||
<tspan class="lbl-val" x="280" dy="20">55억</tspan>
|
||||
<tspan class="lbl-val" x="280" dy="38">55억</tspan>
|
||||
</text>
|
||||
<text class="lbl" x="500" y="261" text-anchor="middle" style="transition-delay: 1.05s">
|
||||
<text class="lbl" x="500" y="231" text-anchor="middle" style="transition-delay: 1.05s">
|
||||
<tspan class="lbl-year" x="500">2026년 목표</tspan>
|
||||
<tspan class="lbl-val" x="500" dy="20">150억(e)</tspan>
|
||||
<tspan class="lbl-val" x="500" dy="38">150억(e)</tspan>
|
||||
</text>
|
||||
<text class="lbl" x="730" y="186" text-anchor="middle" style="transition-delay: 1.45s">
|
||||
<text class="lbl" x="730" y="150" text-anchor="middle" style="transition-delay: 1.45s">
|
||||
<tspan class="lbl-year" x="730">2027년 목표</tspan>
|
||||
<tspan class="lbl-val" x="730" dy="20">300억</tspan>
|
||||
<tspan class="lbl-val" x="730" dy="38">300억</tspan>
|
||||
</text>
|
||||
<text class="lbl" x="940" y="36" text-anchor="end" style="transition-delay: 1.85s">
|
||||
<text class="lbl" x="940" y="22" text-anchor="end" style="transition-delay: 1.85s">
|
||||
<tspan class="lbl-year" x="940">2028년 목표</tspan>
|
||||
<tspan class="lbl-val lbl-val--hl" x="940" dy="20">1000억+</tspan>
|
||||
<tspan class="lbl-val lbl-val--hl" x="940" dy="38">1000억+</tspan>
|
||||
</text>
|
||||
</svg>
|
||||
</div>
|
||||
@@ -276,7 +276,7 @@ onMounted(() => {
|
||||
<hr class="panel-divider" >
|
||||
<div v-reveal="{ delay: 80 }" class="promise-body">
|
||||
<p>ITAB은 Level 제도를 운영중이며,<br ><strong>연차가 아닌 실력으로 승진합니다.</strong></p>
|
||||
<p>업계 3~4년차 수준의 역량을 1년 안에 얻어갈 수 있도록<br >밀도있고 효율적으로 업무를 진행하게 됩니다.</p>
|
||||
<p>업계 3~4년차 수준의 역량을 1년 안에 얻어갈 수 있도록 <br class="br-pc" >밀도있고 효율적으로 업무를 진행하게 됩니다.</p>
|
||||
<p class="promise-emph">물경력? 그런건 우리 사전에 없습니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -659,13 +659,13 @@ onMounted(() => {
|
||||
|
||||
.chart-svg .lbl-val {
|
||||
fill: #ffffff;
|
||||
font-size: 19px;
|
||||
font-size: 38px; /* 19px 대비 2배 */
|
||||
font-weight: 800;
|
||||
letter-spacing: -0.02em;
|
||||
}
|
||||
|
||||
.chart-svg .lbl-val--hl {
|
||||
font-size: 21px;
|
||||
font-size: 42px; /* 21px 대비 2배 */
|
||||
}
|
||||
|
||||
/* 모션 최소화 선호 시 모든 차트 전환 제거 */
|
||||
@@ -838,6 +838,12 @@ onMounted(() => {
|
||||
align-items: flex-start;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
/* 모바일: 문장 중간 강제 줄바꿈 제거 → 자연스럽게 이어 흐르도록
|
||||
(br 앞 공백이 남아 단어가 붙지 않음) */
|
||||
.br-pc {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* ── 둘째 — 커리어 성장(회색 섹션) ── */
|
||||
@@ -1043,6 +1049,9 @@ onMounted(() => {
|
||||
font-weight: 700;
|
||||
color: #1b1f27;
|
||||
line-height: 1.45;
|
||||
/* 한글이 글자 단위로 끊기지 않고 어절(공백) 단위로만 줄바꿈되도록 */
|
||||
word-break: keep-all;
|
||||
text-wrap: balance; /* 여러 줄일 때 줄 길이를 고르게 분배 */
|
||||
}
|
||||
|
||||
.wi-sub {
|
||||
@@ -1050,6 +1059,8 @@ onMounted(() => {
|
||||
font-size: clamp(0.75rem, 1.2vw, 0.875rem); /* 12~14px */
|
||||
color: #8a909c;
|
||||
line-height: 1.45;
|
||||
word-break: keep-all;
|
||||
text-wrap: balance;
|
||||
}
|
||||
|
||||
/* 좁은 화면 — 배지/그리드 열 축소 */
|
||||
@@ -1057,6 +1068,26 @@ onMounted(() => {
|
||||
.welfare-grid {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
|
||||
/* 버블 배지 — 좁은 화면에서 원이 작아져 제목이 줄바꿈되던 문제 해결:
|
||||
간격·안쪽 여백을 줄여 원을 키우고, 제목 폰트를 줄여 한 줄로 유지 */
|
||||
.welfare-badges {
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.wbadge {
|
||||
padding: 0.25rem;
|
||||
gap: 0.25rem;
|
||||
}
|
||||
|
||||
.wbadge strong {
|
||||
font-size: 0.8125rem; /* 13px — 한 줄에 맞춤 */
|
||||
white-space: nowrap; /* 제목 줄바꿈 방지 */
|
||||
}
|
||||
|
||||
.wbadge span {
|
||||
font-size: 0.6875rem; /* 11px */
|
||||
}
|
||||
}
|
||||
|
||||
/* ===================== 마무리 CTA ===================== */
|
||||
|
||||
+187
-17
@@ -131,6 +131,17 @@ const history: HistoryItem[] = [
|
||||
{ year: '2025', text: '한국 소비자 평가 대상 2연속 수상', img: imgBrand },
|
||||
]
|
||||
|
||||
// 모바일용 — 같은 년도끼리 묶어 "년도(헤더) + 항목 리스트" 형태로 표시 (등장 순서 유지)
|
||||
const historyGroups = computed(() => {
|
||||
const groups: { year: string; items: HistoryItem[] }[] = []
|
||||
for (const item of history) {
|
||||
const last = groups[groups.length - 1]
|
||||
if (last && last.year === item.year) last.items.push(item)
|
||||
else groups.push({ year: item.year, items: [item] })
|
||||
}
|
||||
return groups
|
||||
})
|
||||
|
||||
// 구성원 카드 — PEOPLE 섹션 비활성화로 함께 주석 처리 (재활성화 시 아래 + 템플릿 주석 해제)
|
||||
// interface PeopleCard {
|
||||
// label: string
|
||||
@@ -289,7 +300,8 @@ const history: HistoryItem[] = [
|
||||
<div class="gcard-title">주요 연혁 내역</div>
|
||||
<!-- 슬로건 — 연혁 카드에 메시지 부여 -->
|
||||
<p class="history-slogan">끊임없는 도전으로 써내려간 성장의 기록</p>
|
||||
<ul class="timeline">
|
||||
<!-- 데스크톱: 행마다 년도 + 내용 -->
|
||||
<ul class="timeline timeline-flat">
|
||||
<li v-for="(item, i) in history" :key="i" v-reveal="{ delay: 200 + i * 90 }">
|
||||
<!-- 같은 년도가 연속되면 시각적으로 묶어 표기 -->
|
||||
<span class="t-year">{{ item.year }}</span>
|
||||
@@ -300,6 +312,24 @@ const history: HistoryItem[] = [
|
||||
<span v-else-if="item.label" class="t-label">{{ item.label }}</span>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- 모바일: 년도 헤더 하나로 묶고 그 아래 항목 리스트 나열 -->
|
||||
<ul class="timeline-grouped">
|
||||
<li
|
||||
v-for="(g, gi) in historyGroups"
|
||||
:key="g.year"
|
||||
v-reveal="{ delay: 200 + gi * 90 }"
|
||||
class="tg-group"
|
||||
>
|
||||
<span class="tg-year">{{ g.year }}</span>
|
||||
<ul class="tg-items">
|
||||
<li v-for="(item, i) in g.items" :key="i" class="tg-item">
|
||||
<span class="t-text">{{ item.text }}</span>
|
||||
<img v-if="item.img" :src="item.img" class="t-flag" :alt="`${item.text} 이미지`" >
|
||||
<span v-else-if="item.label" class="t-label">{{ item.label }}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -730,11 +760,14 @@ const history: HistoryItem[] = [
|
||||
}
|
||||
|
||||
.growth-head h2 {
|
||||
font-size: clamp(1.75rem, 4.2vw, 3.125rem); /* 28~50px */
|
||||
font-size: clamp(1.625rem, 4vw, 3.125rem); /* 26~50px — 좁은 화면 시작값 살짝 축소 */
|
||||
font-weight: 800;
|
||||
letter-spacing: -0.025em;
|
||||
line-height: 1.32;
|
||||
color: var(--ink);
|
||||
/* 한글이 글자 단위로 끊기지 않고 어절(공백) 단위로만 줄바꿈되도록 */
|
||||
word-break: keep-all;
|
||||
text-wrap: balance; /* 여러 줄일 때 줄 길이를 고르게 분배 */
|
||||
}
|
||||
|
||||
/* 세로 스택 — 상단 행(매출+연혁) → 하단 행(지표 3개) */
|
||||
@@ -794,23 +827,25 @@ const history: HistoryItem[] = [
|
||||
);
|
||||
}
|
||||
|
||||
/* 좌→우로 커지는 구체 크기 */
|
||||
.revenue-card .orb-1 {
|
||||
width: clamp(6rem, 11vw, 9rem);
|
||||
/* 2026년으로 올수록 점점 더 커지는 구체 크기 (크기 차이를 뚜렷하게)
|
||||
※ .orb-cluster를 함께 명시해 .stat-card .stat-orb(동일 폭 일괄 지정)보다
|
||||
특이도를 높여 구체별 폭이 확실히 적용되도록 함 */
|
||||
.revenue-card .orb-cluster .orb-1 {
|
||||
width: clamp(4.75rem, 8.5vw, 7rem);
|
||||
opacity: 0.5; /* 가장 옅게 */
|
||||
}
|
||||
|
||||
.revenue-card .orb-2 {
|
||||
.revenue-card .orb-cluster .orb-2 {
|
||||
width: clamp(7.5rem, 14vw, 11.5rem);
|
||||
opacity: 0.74;
|
||||
margin-left: clamp(-2.75rem, -4.5vw, -3.75rem); /* 앞 구체와 겹침 */
|
||||
margin-left: clamp(-2.5rem, -4vw, -3.25rem); /* 앞 구체와 겹침 */
|
||||
}
|
||||
|
||||
/* 마지막 구체 — 가장 크고 기존 단일 구체와 동일한 불투명도(opacity 미지정 = 1)
|
||||
DOM 순서상 뒤에 있어 위에 그려지며 가장 진하게 앞으로 옴 */
|
||||
.revenue-card .orb-3 {
|
||||
width: clamp(9.5rem, 17vw, 14rem);
|
||||
margin-left: clamp(-3.25rem, -5.5vw, -4.5rem);
|
||||
.revenue-card .orb-cluster .orb-3 {
|
||||
width: clamp(11.5rem, 21vw, 17.5rem);
|
||||
margin-left: clamp(-3.5rem, -6vw, -5rem);
|
||||
}
|
||||
|
||||
/* 구체 내부 텍스트 라벨 — 연도(상단) + 큰 숫자 */
|
||||
@@ -827,20 +862,32 @@ const history: HistoryItem[] = [
|
||||
|
||||
.revenue-card .orb-year {
|
||||
font-weight: 700;
|
||||
font-size: clamp(0.8125rem, 1.3vw, 1.0625rem); /* 13~17px */
|
||||
letter-spacing: -0.01em;
|
||||
margin-bottom: 0.25em;
|
||||
}
|
||||
|
||||
/* 연도 텍스트도 구체 크기에 맞춰 2026년으로 갈수록 점점 더 크게 */
|
||||
.revenue-card .orb-1 .orb-year {
|
||||
font-size: clamp(0.6875rem, 1.1vw, 0.875rem); /* 11~14px */
|
||||
}
|
||||
|
||||
.revenue-card .orb-2 .orb-year {
|
||||
font-size: clamp(0.8125rem, 1.3vw, 1.0625rem); /* 13~17px */
|
||||
}
|
||||
|
||||
.revenue-card .orb-3 .orb-year {
|
||||
font-size: clamp(0.9375rem, 1.6vw, 1.25rem); /* 15~20px */
|
||||
}
|
||||
|
||||
.revenue-card .orb-value {
|
||||
font-weight: 800;
|
||||
letter-spacing: -0.03em;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* 숫자 크기도 구체 크기에 맞춰 좌→우로 확대 */
|
||||
/* 숫자 크기도 구체 크기에 맞춰 2026년으로 갈수록 점점 더 크게 확대 */
|
||||
.revenue-card .orb-1 .orb-value {
|
||||
font-size: clamp(1.375rem, 2.6vw, 2.125rem); /* 22~34px */
|
||||
font-size: clamp(1.125rem, 2.1vw, 1.625rem); /* 18~26px */
|
||||
}
|
||||
|
||||
.revenue-card .orb-2 .orb-value {
|
||||
@@ -848,7 +895,7 @@ const history: HistoryItem[] = [
|
||||
}
|
||||
|
||||
.revenue-card .orb-3 .orb-value {
|
||||
font-size: clamp(2.25rem, 4.6vw, 3.5rem); /* 36~56px */
|
||||
font-size: clamp(2.625rem, 5.4vw, 4.25rem); /* 42~68px */
|
||||
}
|
||||
|
||||
/* 단위(억) — 숫자보다 작게 */
|
||||
@@ -1017,8 +1064,8 @@ const history: HistoryItem[] = [
|
||||
flex: none;
|
||||
margin-left: auto; /* 우측 끝단으로 밀착 */
|
||||
align-self: center;
|
||||
width: clamp(2.625rem, 3.9vw, 3.375rem); /* 42~54px — 가로/세로 동일 (직전 대비 75%) */
|
||||
height: clamp(2.625rem, 3.9vw, 3.375rem);
|
||||
width: clamp(1.8375rem, 2.73vw, 2.3625rem); /* 약 29~38px — 직전 대비 70% 축소 */
|
||||
height: clamp(1.8375rem, 2.73vw, 2.3625rem);
|
||||
border-radius: 0.25rem; /* 4px — 사각 이미지 모서리 살짝 둥글게 */
|
||||
object-fit: contain; /* 박스 안에서 비율 유지하며 맞춤(왜곡 없음) */
|
||||
}
|
||||
@@ -1034,7 +1081,79 @@ const history: HistoryItem[] = [
|
||||
font-weight: 700;
|
||||
font-size: clamp(1.25rem, 2vw, 1.625rem); /* 20~26px */
|
||||
letter-spacing: 0.04em;
|
||||
color: var(--brand); /* 브랜드 컬러 */
|
||||
color: var(--ink); /* 검은색 */
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
/* ===== 모바일 연혁 — 년도 묶음 형태 (기본 숨김, 모바일에서만 표시) ===== */
|
||||
.timeline-grouped {
|
||||
display: none; /* 데스크톱에서는 .timeline-flat 사용 */
|
||||
list-style: none;
|
||||
margin-top: clamp(1.25rem, 2.5vw, 1.875rem);
|
||||
}
|
||||
|
||||
/* 년도 그룹 — 상단 구분선 + 상하 여백 */
|
||||
.timeline-grouped .tg-group {
|
||||
padding: 0.875rem 0; /* 14px */
|
||||
border-top: 0.0625rem solid rgba(40, 50, 70, 0.1);
|
||||
}
|
||||
|
||||
.timeline-grouped .tg-group:first-child {
|
||||
border-top: 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
/* 년도 헤더 — 그룹당 한 번만 표기 */
|
||||
.timeline-grouped .tg-year {
|
||||
display: block;
|
||||
font-family: var(--font-display);
|
||||
font-size: 1.125rem; /* 18px */
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.02em;
|
||||
color: var(--brand);
|
||||
margin-bottom: 0.625rem; /* 10px — 헤더↔리스트 간격 */
|
||||
}
|
||||
|
||||
/* 그룹 내 항목 리스트 */
|
||||
.timeline-grouped .tg-items {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.625rem; /* 10px */
|
||||
}
|
||||
|
||||
.timeline-grouped .tg-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.75rem; /* 12px */
|
||||
}
|
||||
|
||||
.timeline-grouped .tg-item .t-text {
|
||||
flex: 1; /* 텍스트가 남는 폭 차지 → 이미지/배지는 우측 끝 */
|
||||
font-size: 0.9375rem; /* 15px */
|
||||
color: var(--ink);
|
||||
font-weight: 500;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
/* 그룹 항목의 우측 이미지/배지 — 데스크톱 timeline과 동일 규칙 */
|
||||
.timeline-grouped .t-flag {
|
||||
flex: none;
|
||||
margin-left: auto;
|
||||
width: clamp(1.8375rem, 2.73vw, 2.3625rem);
|
||||
height: clamp(1.8375rem, 2.73vw, 2.3625rem);
|
||||
border-radius: 0.25rem;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.timeline-grouped .t-label {
|
||||
flex: none;
|
||||
margin-left: auto;
|
||||
font-family: var(--font-display);
|
||||
font-weight: 700;
|
||||
font-size: 1.25rem; /* 20px */
|
||||
letter-spacing: 0.04em;
|
||||
color: var(--ink);
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
@@ -1180,6 +1299,19 @@ const history: HistoryItem[] = [
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
/* 세로로 쌓일 때 두 카드 모두 콘텐츠 높이를 갖도록.
|
||||
history-card의 flex:1 1 0(=flex-basis 0)이 세로 스택에서 높이 0으로
|
||||
눌려 연혁 표가 보이지 않던 문제를 해결한다. */
|
||||
.revenue-card,
|
||||
.history-card {
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
|
||||
/* 연혁 타임라인 — 세로 스택에서는 균등 채움(flex:1) 대신 콘텐츠 높이 사용 */
|
||||
.timeline {
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
|
||||
.brand-bento {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
@@ -1213,6 +1345,44 @@ const history: HistoryItem[] = [
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
/* 연혁: 모바일에서는 행별 년도(평면) 대신 년도 묶음 형태로 전환 */
|
||||
.timeline-flat {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.timeline-grouped {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* 연 매출 성장률 구체 — 모바일에서는 3개 크기 차이를 줄이고(1 : 1.29 : 1.57)
|
||||
전체적으로 축소해 카드 안에 균형 있게 배치 */
|
||||
.revenue-card .orb-cluster .orb-1 {
|
||||
width: 5.25rem; /* 84px */
|
||||
}
|
||||
|
||||
.revenue-card .orb-cluster .orb-2 {
|
||||
width: 6.75rem; /* 108px */
|
||||
margin-left: -1.5rem;
|
||||
}
|
||||
|
||||
.revenue-card .orb-cluster .orb-3 {
|
||||
width: 8.25rem; /* 132px */
|
||||
margin-left: -1.75rem;
|
||||
}
|
||||
|
||||
/* 구체 내부 숫자도 작아진 구체 크기에 맞춰 축소 */
|
||||
.revenue-card .orb-1 .orb-value {
|
||||
font-size: 1.125rem; /* 18px */
|
||||
}
|
||||
|
||||
.revenue-card .orb-2 .orb-value {
|
||||
font-size: 1.5rem; /* 24px */
|
||||
}
|
||||
|
||||
.revenue-card .orb-3 .orb-value {
|
||||
font-size: 2rem; /* 32px */
|
||||
}
|
||||
|
||||
.people-cols {
|
||||
grid-template-columns: 1fr;
|
||||
gap: clamp(2.5rem, 8vw, 4rem);
|
||||
|
||||
Reference in New Issue
Block a user