>  기사  >  웹 프론트엔드  >  `Element.style`이 인라인 및 마스터 스타일시트 스타일에 대해 서로 다른 값을 반환하는 이유는 무엇입니까?

`Element.style`이 인라인 및 마스터 스타일시트 스타일에 대해 서로 다른 값을 반환하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-10 21:28:02818검색

Why Does `Element.style` Return Different Values for Inline and Master Stylesheet Styles?

마스터 스타일시트의 표시 스타일 검색 불일치

JavaScript의 Element.style 속성을 통해 요소의 스타일에 액세스할 때 잠재적인 차이점을 알아두는 것이 중요합니다. 스타일이 선언된 방식에 따라 동작합니다.

설명된 시나리오에서 초기 display:none 스타일이 DIV 요소에 인라인으로 설정되었습니다. 그러나 초기 스타일이 마스터 스타일시트로 이동되면 요소가 숨겨졌습니다. 흥미롭게도 요소의 style.display 속성에 액세스하면 빈 문자열이 반환되었지만 인라인 스타일을 통해 액세스한 동일한 속성에서는 "없음"이 반환되었습니다.

이 동작은 선언된 스타일 간의 차이로 인해 발생합니다. 그리고 계산 스타일. 선언된 스타일은 인라인이나 스타일시트를 통해 요소에 명시적으로 할당된 스타일입니다. 반면에 계산된 스타일은 상속된 스타일과 계단식 스타일을 포함한 모든 관련 요소를 고려하여 요소의 최종 렌더링된 스타일을 나타냅니다.

Element.style에 액세스하면 선언된 스타일만 가져옵니다. 요소에 적용된 실제 스타일을 반영하는 계산된 스타일을 얻으려면 window.getCompulatedStyle() 메서드를 사용해야 합니다. 이 메소드는 상속, 계단식 배열 및 브라우저 기본값의 영향을 받는 속성을 포함하여 요소 스타일의 포괄적인 표현을 제공합니다.

getCompulatedStyle()을 사용하면 요소의 표시 스타일을 안정적으로 검색할 수 있습니다. 처음에는 마스터 스타일시트를 통해 숨겨져 있습니다.

const element = document.getElementById('myDiv');
const display = getComputedStyle(element).getPropertyValue('display');
// display will now return 'none' or 'block', as appropriate

이 수정된 접근 방식을 사용하면 스타일이 어떤지에 관계없이 요소의 정확한 계산 스타일에 액세스할 수 있습니다. 선언했습니다.

위 내용은 `Element.style`이 인라인 및 마스터 스타일시트 스타일에 대해 서로 다른 값을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.