DOM 요소의 CSS 스타일 속성값 설정하기
자바스크립트로 DOM 요소의 CSS 스타일 속성값을 설정(변경)하는 방법에 대해 알아봅니다.
자바스크립트로 특정 요소의 CSS 스타일 속성값을 설정하는 방법은 다양합니다.
- 인라인 스타일로 속성 값을 설정하기
- 외부나 내부 스타일 시트에서 정의된 CSS 규칙 변경하기
- 동적으로 내부나 외부 스타일 시트 변경하기
- 요소에 클래스 값 변경을 통한 스타일 값 설정하기
- ...
여기에서는 자바스크립트로 CSS 속성의 값을 설정할 때 가장 일반적으로 사용하는 방법인 '인라인 스타일로 속성 값을 설정하기'에 대해 다룹니다.
인라인 스타일
인라인 스타일은 CSS로 스타일을 적용할 요소 내에 style
속성을 이용해서 해당 요소에만 스타일을 적용하는 것을 말합니다.
인라인 스타일로 속성 값을 설정하기
인라인 스타일로 스타일 속성의 값을 설정하는 방법은 두 가지가 있습니다.
element.style.propertyName = value
setProperty()
이 두 가지 방법에 대해 알아보겠습니다.
element.style.propertyName = value
자바스크립트로 CSS 속성의 값을 설정할 때 가장 일반적으로 사용하는 방법입니다.
기본 개념
element.style.propertyName
은 해당 요소(element
)의 인라인 속성(propertyName
) 값을 설정합니다.
구문
매개변수
element |
인라인 스타일 값을 설정할 DOM 요소 객체입니다. |
---|---|
propertyName |
CSS 속성 이름입니다. 이 속성 이름은 하이픈(-)이 있을 경우에는 카멜 케이스(camelCase) 형식으로 작성해야 합니다. 예를 들어, 글자색을 지정하는 CSS의 color 속성은 element.style.color 로 지정하면 되지만 배경색을 지정하는 CSS의 background-color 는 element.style.backgroundColor 와 같이 카멜 케이스 형식으로 지정합니다. |
value |
속성에 할당할 CSS 값입니다. 이는 문자열로 지정되며, 속성에 맞는 유효한 CSS 값이어야 합니다. 예를 들어, "blue" , "16px" 등이 있습니다. |
예제
코드 부연설명
getElementById()
함수는 HTML 문서 내에서 주어진 문자열과 값이 일치하는 id
속성을 가진 요소 객체를 반환합니다.
setProperty()
setProperty()
함수는 스타일 객체(CSSStyleDeclaration
객체)에서 원하는 속성의 값을 설정하는 함수입니다.
구문
매개변수
element |
인라인 스타일 값을 설정할 DOM 요소 객체입니다. |
---|---|
propertyName |
값을 설정할 속성 이름(CSS 속성 이름)을 나타내는 문자열입니다.
예를 들어, background-color , font-size 같은 CSS 속성명을 그대로 사용합니다. |
value |
속성에 할당할 CSS 값입니다. 이는 문자열로 지정되며, 속성에 맞는 유효한 CSS 값이어야 합니다. 예를 들어, "blue" , "16px" 등이 있습니다. |
priority |
옵션.
우선순위를 부여하는 !important 선언을 설정할 수 있습니다.
값은 문자열로 지정하며, 값을 지정하지 않으면 빈 문자열( "" )이 기본값으로 지정됩니다.
|
예제
브라우저 호환성
속성과 메서드 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
element.style
|
1 | 12 | 1 | 3 |
setProperty()
|
1 | 12 | 1 | 6 |
명세서
명세서 사양 | |
---|---|
element.style
|
CSS Object Model (CSSOM) #dom-elementcssinlinestyle-style |
setProperty()
|
CSS Object Model (CSSOM) #dom-cssstyledeclaration-setproperty |