ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

HTML CSS

๋™์  Tabs

choi95 2021. 7. 7. 18:56

0

Tabs ๋™์  ์ƒ์„ฑ

์œ„์™€ ๊ฐ™์ด Tabs-Content๋ฅผ ๋งŒ๋“ค ๋•Œ ๊ฐ Tab์˜ ๋„ˆ๋น„๋Š” 200px๋กœ ์ผ์ •ํ•˜๊ณ  ๋ฐ•์Šค ๋‚ด์— ๋“ค์–ด๊ฐ€๋Š” Tab์€ ๊ฐ€๋ณ€์ ์ด๋‹ค.์ฆ‰, CSS ์ƒ์—์„œ Width์˜ ๊ฐ’์„ ์ •์ ์œผ๋กœ ์ฃผ๊ฒŒ ๋˜๋ฉด ์ •์ ์ธ Tabs๋ฅผ ๋งŒ๋“ค์ง€ ๋ชปํ•œ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๋ฅผ ๊ฑธ์ณ ์ „์ฒด ๊ฐ€๋กœ ๋„ˆ๋น„๊ฐ€ ๋ฐ›์•„ ์˜จ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ๊ฒฐ์ •๋˜๋Š” Tab์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

 

์‚ฌ์šฉ์ž ์ง€์ • ์†์„ฑ(CSS ๋ณ€์ˆ˜, ์ข…์† ๋ณ€์ˆ˜)

์‚ฌ์šฉ์ž ์ง€์ • ์†์„ฑ(CSS ๋ณ€์ˆ˜, ์ข…์† ๋ณ€์ˆ˜)์€ CSS ์ œ์ž‘์ž๊ฐ€ ์ •์˜ํ•˜๋Š” ๊ฐœ์ฒด๋กœ, ๋ฌธ์„œ ์ „๋ฐ˜์ ์œผ๋กœ ์žฌ์‚ฌ์šฉํ•  ์ž„์˜์˜ ๊ฐ’์„ ๋‹ด์Šต๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž ์ง€์ • ์†์„ฑ์€ ์ „์šฉ ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด ์ •์˜ํ•˜๊ณ ,(--main-color: black;) var() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
(color: var(--main-color);)
.tabs {
  --tab-width: 200;
  --tabs-length: 0;
  width: calc(var(--tab-width) * var(--tabs-length) * 1px);
  margin: 0 auto;
  box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 13px 19px 2px rgba(0, 0, 0, 0.14),
    0 5px 24px 4px rgba(0, 0, 0, 0.12);
  border-radius: 5px;
  overflow: hidden;
}

์‚ฌ์šฉ์ž ์ง€์ • ์†์„ฑ์„ ์ด์šฉํ•˜์—ฌ CSS ์ƒ์—์„œ Tab์˜ ์ „์ฒด ๋„ˆ๋น„(--tabs-length)๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™” ํ•ด์ฃผ๊ณ  ์‹ค์ œ ์›น ์ƒ์— ๋žœ๋”๋ง๋˜๋Š” ๋„ˆ๋น„ ๊ฐ’์€

calc() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ ์œผ๋กœ ๊ณ„์‚ฐํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค. 

 

setProperty()

CSSStyleDeclaration.setProperty() ๋ฐฉ๋ฒ• ์ธํ„ฐํŽ˜์ด์Šค๋Š” CSS ์Šคํƒ€์ผ ์„ ์–ธ ๊ฐ์ฒด์˜ ์†์„ฑ์— ๋Œ€ํ•œ ์ƒˆ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
$tabs.style.setProperty("--tabs-length", tabsData.length);
//tabsData๋Š” tab์˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ฐฐ์—ด ๋ณ€์ˆ˜์ด๋‹ค. ํ˜„์žฌ tab์˜ ์ •๋ณด๋Š” ์ด 3๊ฐœ์ด๋‹ค.

์ดํ›„์— JS์—์„œ CSS์˜ ๋™์  ๋ณ€์ˆ˜์ธ --tabs-length์˜ ๊ฐ’์„ ํ˜„์žฌ ๋ฐฐ์—ด ์ƒ์— ์ ์žฌ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜๋งŒํผ ์ดˆ๊ธฐํ™” ํ•ด์ฃผ์—ˆ๋‹ค.

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2025/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ