250x250
Rainbow๐ŸŒˆCoder
My dev Note๐Ÿ“’
Rainbow๐ŸŒˆCoder
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (411)
    • ๊ณต์ง€์‚ฌํ•ญ (0)
    • Debugger (10)
      • Visual Studio Debugger (1)
      • Chrome DevTools (3)
      • Visual Studio Code Debugger (4)
      • eclipse (1)
      • intelliJ (1)
    • OOP (2)
      • OOP (2)
    • TypeScript (54)
      • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ TypeScript (54)
    • Javascript (87)
      • Javascript (45)
      • Node.js (19)
      • React (5)
      • FE ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ค์ • (3)
      • React์™€ Node ๊ฐ™์ด ๋•Œ๋ ค์žก๊ธฐ (6)
      • next.js (2)
      • pixi.js (7)
    • ๋งˆํฌ์—… (23)
      • Html & Css (23)
    • C# (80)
      • C# (12)
      • ์ด๊ฒƒ์ด C#์ด๋‹ค (68)
    • C++ (30)
      • c++ (27)
      • win api (3)
    • Unity (18)
      • Unity(๊ธฐ์ดˆ) (8)
      • Unity(C#์ค‘๊ธ‰) (5)
      • ์œ ๋‹ˆํ‹ฐ ํฌํ†ค(๋„คํŠธ์›Œํฌ) (4)
      • unity c# MyCode (1)
    • Java & Spring (29)
      • Java (11)
      • ์Šคํ”„๋ง (8)
      • Java Algorithm (9)
      • Javs Data Structures (1)
    • ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (15)
      • ์ž๋ฃŒ๊ตฌ์กฐ (5)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (10)
    • ํ˜•์ƒ๊ด€๋ฆฌ (15)
      • Git (11)
      • ์†Œ์ŠคํŠธ๋ฆฌ (3)
    • ๊ทธ๋ž˜ํ”ฝ์Šค (7)
      • WebGl (7)
    • AWS (3)
      • aws (3)
    • ๋ฆฌ๋ˆ…์Šค (5)
      • ๋ฆฌ๋ˆ…์Šค (5)
    • ์ฑ… ๋ฆฌ๋ทฐ (13)
      • ํด๋ฆฐ์ฝ”๋“œ(์ฑ…๋ฆฌ๋ทฐ) (3)
      • ์œ ์ง€๋ณด์ˆ˜๊ฐ€๋Šฅํ•œ์ฝ”๋”ฉ์˜๊ธฐ์ˆ C#ํŽธ(์ฑ…๋ฆฌ๋ทฐ) (1)
      • ๋ฆฌํŒฉํ† ๋ง(์ž๋ฐ”์Šคํฌ๋ฆฝํŠธํŒ) (9)
    • Server (2)
      • ๊ฒŒ์ž„ ์„œ๋ฒ„(๋„คํŠธ์›Œํฌ, ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ,OS) (2)
    • ์„ค๊ณ„, ์•„ํ‚คํ…์ณ (4)
    • ํŒŒ์ด์ฌ (5)
    • ๋””์ž์ธํŒจํ„ด (2)
    • mocha (2)
    • Jest (1)
    • Spine (1)
    • ์ธ๊ณต์ง€๋Šฅ (1)
      • ํ˜ผ์ž๊ณต๋ถ€ํ•˜๋Š”๋จธ์‹ ๋Ÿฌ๋‹+๋”ฅ๋Ÿฌ๋‹ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์œ„์ž„
  • ใ…ฃใ„ท
  • ์ปดํฌ์ง€์…˜
  • MySQL

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
Rainbow๐ŸŒˆCoder

My dev Note๐Ÿ“’

[HTML & CSS][DOM] CSSStyleDeclaration ์•Œ์•„๋ณด๊ธฐ
๋งˆํฌ์—…/Html & Css

[HTML & CSS][DOM] CSSStyleDeclaration ์•Œ์•„๋ณด๊ธฐ

2022. 12. 23. 14:27
728x90

https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration

์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ (ํ•™์Šต ๋‚ด์šฉ)

 

[2022.05.19] DOM - ๋…ธ๋“œ CSS ์Šคํƒ€์ผ(CSSStyleDeclaration), ํด๋ž˜์Šค ์ถ”๊ฐ€/์‚ญ์ œ ํ•˜๊ธฐ(className, classList)

๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ(DOM)์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์กฐ์ž‘ํ•˜์—ฌ ๋…ธ๋“œ์˜ CSS style๊ณผ class๋ฅผ ์ถ”๊ฐ€/์‚ญ์ œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ DOM์„ ์กฐ์ž‘ํ•˜์—ฌ ๋…ธ๋“œ์— style์„ ๋„ฃ์–ด๋ณผ ๊ฒƒ์ด๋‹ค.๋จผ์ €, ulํƒœ๊ทธ์— ์Šคํƒ€์ผ์„ ๋„ฃ์–ด๋ณด

velog.io

 

CSSStyleDeclaration ์‰ฝ๊ฒŒ ๋งํ•ด, ๋…ธ๋“œ css ์Šคํƒ€์ผ!

HTMLElement ๊ฐ์ฒด์˜ style ํ”„๋กœํผํ‹ฐ์— ์˜ํ•ด์„œ ์ฐธ์กฐ๋œ๋‹ค.

 

์•„๋ž˜์™€ ๊ฐ™์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ DOM์„ ์กฐ์ž‘ํ•˜์—ฌ ๋…ธ๋“œ์— style์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.

const menu = document.querySelector('.menu-list');
menu.style.backgroundColor = 'skyblue';
menu.style.width = '200px';

์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

menu.style['backgroundColor'] = 'orange';
menu.style['width'] = '200px';
<div class="menu-container">
  <ul class="menu-list">
    <li>menu1</li>
    <li>menu2</li>
    <li>menu3</li>
  </ul>
</div>
<div class="contents-container">
  <p class="title">ํ…์ŠคํŠธ1</p>
  <p class="content">ํ…์ŠคํŠธ2</p>
</div>

๋จผ์ €, ulํƒœ๊ทธ์— ์Šคํƒ€์ผ์„ ๋„ฃ๊ธฐ.

.style์ด๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด css์˜ ์Šคํƒ€์ผ ์†์„ฑ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๊ฐœ์ธ ์‹ค์Šต

 

<h1 class="title">PIXI STUDY</h1>
	<script src="./cssStyleDeclaration.js" defer></script>
const title = document.querySelector('.title');
title.style.backgroundColor = 'skyblue';
title.style.width = '200px'; //js์—์„œ ์ง์ ‘์ ์ธ style ์ œ์–ด ๋ฐฉ๋ฒ•(1) .์œผ๋กœ ์†์„ฑ ์ ‘๊ทผ
title.style['width'] = '200px';//js์—์„œ ์ง์ ‘์ ์ธ style ์ œ์–ด ๋ฐฉ๋ฒ•(2) ๋ฐฐ์—ด๋ช…์œผ๋กœ ์ ‘๊ทผ
title.style['font-size'] = '35px';

ํƒœ๊ทธ์— style ์ฐ์€ ๊ฒƒ์ด ๋ฐ”๋กœ

cssStyleDeclaration ์ด๋‹ค.

์ˆซ์ž ์ธ๋ฑ์Šค ํ‚ค์— ์ ํ˜€์žˆ๋Š” ๊ฐ’๋“ค์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ ์šฉํ•œ ์†์„ฑ๋“ค

๊ฐœ๋ฐœ์ž๊ฐ€ ์ง€์ •ํ•ด์ค€ ์†์„ฑ๋“ค์ด ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์—ด์ •๋ณด์— ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค!

title.style.cssText

title.style.length

์ถœ๋ ฅ 3

title.style.getPropertyValue('width') 

์ถœ๋ ฅ '200px'

title.style.getPropertyPriority('width') === 'important'

์ถœ๋ ฅ false

title.style.item(0)
title.style.setProperty('background-color', 'pink') //๊ฐ’๋ณ€๊ฒฝ

๊ธ€์Ž„... ์œ„์˜ ์ฝ”๋“œ๋Š” ๊ตฌ๊ธ€๋ง ํ•ด๋ณด๋‹ˆ๊นŒ ํฌ๋กฌ์—์„œ๋Š” ์ž˜ ๋จน์ง€ ์•Š์•˜๋‹ค. 

title.style['fontSize'] = '20px' <- ์ด๊ฑฐ๋Š” ์ž˜ ๋จน์—ˆ๋Š”๋ฐ,

์—ฌ๊ธฐ์„œ ์†์„ฑ๊ฐ’ ์ฐพ์•„์„œ ๋ฐฐ์—ด์— ๋ฐ•๋Š” ํ˜•์‹์ด ์ง๊ด€์ ์ธ ๋“ฏ

menu.style.removeProperty('width') //์†์„ฑ ์ œ๊ฑฐ

์Šคํƒ€์ผ ๊ด€๋ จ ์—ฌ๋Ÿฌ ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ์ด๋‚˜ ์Šคํƒ€์ผ ์ •๋ณด๋ฅผ ํ™•์ธ
1. CSSStyleDeclaration.cssText : ์ ์šฉํ•œ css๋ฅผ ํ…์ŠคํŠธ๋กœ ํ™•์ธ
2. CSSStyleDeclaration.length : ์ ์šฉํ•œ css์˜ ๊ฐœ์ˆ˜(๊ธธ์ด)๊ฐ€ ๋ฐ˜ํ™˜
3. CSSStyleDeclaration.getPropertyPriority('priority') : ()์•ˆ์— ๋„ฃ์€ ์Šคํƒ€์ผ์˜ ์ค‘์š”๋„๋ฅผ ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฐ˜ํ™˜ ๊ฐ’์€ Boolean ํƒ€์ž…
4. CSSStyleDeclaration.getPropertyValue(key) : ์Šคํƒ€์ผ ํ‚ค ๊ฐ’์„ ๋„ฃ์œผ๋ฉด ํ•ด๋‹นํ•˜๋Š” value๊ฐ’
5. CSSStyleDeclaration.item(index) : ์ ์šฉ๋œ ์Šคํƒ€์ผ์˜ index๋ฅผ ๋„ฃ์œผ๋ฉด ํ•ด๋‹นํ•˜๋Š” key๊ฐ’์ด ๋ฐ˜ํ™˜
6. CSSStyleDeclaration.removeProperty('style name') : ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์Šคํƒ€์ผ์˜ ์ด๋ฆ„(key)๋ฅผ ๋„ฃ์œผ๋ฉด ํ•ด๋‹น ์Šคํƒ€์ผ์ด ์ œ๊ฑฐ
7. CSSStyleDeclaration.setProperty('์ ์šฉํ•  ์Šคํƒ€์ผ ์ด๋ฆ„', '์ ์šฉํ•  ๊ฐ’', '์˜ต์…˜( important/undefined/"" ') : ์Šคํƒ€์ผ์„ ์ˆ˜์ •ํ•  ๋•Œ ์‚ฌ์šฉ. ํ˜„์žฌ ์ ์šฉ๋˜์–ด ์žˆ์ง€ ์•Š๋Š” ์Šคํƒ€์ผ์„ ์ž‘์„ฑํ•˜๋ฉด ์ถ”๊ฐ€. ์˜ต์…˜ ๊ฐ’์œผ๋กœ ์ค‘์š”๋„๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ์ƒ๋žต ๊ฐ€๋Šฅ

 

ํด๋ž˜์Šค ์ถ”๊ฐ€/์ œ๊ฑฐ/ํ† ๊ธ€ํ•˜๊ธฐ

ํƒœ๊ทธ ๋ณ€์ˆ˜์— ์ง์ ‘์ ์œผ๋กœ ์“ธ ์ˆ˜ ์žˆ๋Š” ์†์„ฑ๋“ค

title.classList

title.className

title.classList.contains

classList ๋ฉ”์„œ๋“œ

Element.classList.add : ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
Element.classList.remove : ํด๋ž˜์Šค๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค.
Element.classList.toggle(String [, force]) : ํด๋ž˜์Šค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์‚ญ์ œํ•˜๊ณ  ์—†๋Š” ๊ฒฝ์šฐ ์ถ”๊ฐ€ํ•œ๋‹ค. ๋‘๋ฒˆ์งธ ์ธ์ž๋ฅผ ๋„ฃ๋Š” ๊ฒฝ์šฐ ๋‘๋ฒˆ์งธ ์ธ์ž๊ฐ€ true์ผ ๋•Œ๋งŒ ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๊ณ  false๋ฉด ์ œ๊ฑฐํ•œ๋‹ค.
Element.classList.item(Number) : DOMTokenList์˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ž˜์Šค ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
Element.classList.contains(String) : ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  true๋˜๋Š” false๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
Element.classList.replace(old class, new class) : ํด๋ž˜์Šค๋ฅผ ๋ณ€๊ฒฝ(์žฌ์„ค์ •)ํ•œ๋‹ค.

 

๊ฐ€๋ น css ์— ์•„๋ž˜์™€ ๊ฐ™์€ ์Šคํƒ€์ผ์ด ์žˆ๋‹ค๊ณ  ์น˜์ž.

.title {
	font-weight: bold;
}
.pink-border {
	border: 2px solid rgb(255, 0, 200);
  }
.small-title {
	margin: 15px;
}

 

title.classList.remove('pink-border')

 

 

 

728x90

'๋งˆํฌ์—… > Html & Css' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

16์ง„์ˆ˜ ์ปฌ๋Ÿฌ์ฝ”๋“œ  (0) 2023.01.15
[CSS] ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ด๋ฏธ์ง€, margin-auto  (0) 2023.01.15
[HTML][Canvas] ํƒœ๊ทธ Canvas ์•Œ์•„๋ณด๊ธฐ  (0) 2022.12.23
[Css][๋ฐ˜์‘ํ˜• ์›น] flex ์ด์šฉํ•˜์—ฌ div ๋ฐ•์Šค๋ฅผ ์›ํ•˜๋Š” ์œ„์น˜๋กœ ๋‚ด๋ฆฌ๊ธฐ  (0) 2022.12.08
[HTML ์ขŒํ‘œ] x, y, ox, oy, Height, width  (0) 2022.08.26
    '๋งˆํฌ์—…/Html & Css' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • 16์ง„์ˆ˜ ์ปฌ๋Ÿฌ์ฝ”๋“œ
    • [CSS] ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ด๋ฏธ์ง€, margin-auto
    • [HTML][Canvas] ํƒœ๊ทธ Canvas ์•Œ์•„๋ณด๊ธฐ
    • [Css][๋ฐ˜์‘ํ˜• ์›น] flex ์ด์šฉํ•˜์—ฌ div ๋ฐ•์Šค๋ฅผ ์›ํ•˜๋Š” ์œ„์น˜๋กœ ๋‚ด๋ฆฌ๊ธฐ
    Rainbow๐ŸŒˆCoder
    Rainbow๐ŸŒˆCoder
    ๋ชฐ๋ผ๋„ ๊ฒฐ๊ตญ์€ ์•„๋Š” ๊ฐœ๋ฐœ์ž, ๊ทธ๋Ÿฐ ์‚ฌ๋žŒ์ด ๋˜๊ธฐ ์œ„ํ•œ ๋งค์ผ์˜ ํ•œ๊ฑธ์Œ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”