>웹 프론트엔드 >CSS 튜토리얼 >마스터 스타일시트에 설정할 때 `myDiv.style.display`가 빈 문자열을 반환하는 이유는 무엇입니까?

마스터 스타일시트에 설정할 때 `myDiv.style.display`가 빈 문자열을 반환하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-11 10:57:02670검색

Why Does `myDiv.style.display` Return an Empty String When Set in a Master Stylesheet?

디스플레이 스타일에 대한 마스터 스타일시트 효과

HTML의 표시 스타일을 사용하여 콘텐츠를 표시할 때 인라인 및 마스터 스타일시트가 해당 동작에 어떤 영향을 미치는지 이해하는 것이 중요합니다. . 이 문서에서는 인라인으로 설정할 때와 달리 마스터 스타일시트에 설정할 때 myDiv.style.display가 빈 문자열을 반환하는 문제를 살펴봅니다.

디스플레이의 초기 상태

HTML 요소는 일반적으로 기본 표시 값(보통 "인라인")으로 시작합니다. 이를 재정의하기 위해 개발자는 인라인 스타일을 사용하는 경우가 많습니다.

<div>

그러나 유지 관리성을 높이려면 이러한 초기 스타일을 마스터 스타일시트에 설정하는 것이 좋습니다.

예기치 않은 동작

마스터 스타일시트에서 display:none을 설정하면 요소의 초기 상태가 숨겨진 상태로 유지됩니다. 그러나 JavaScript를 사용하여 myDiv.style.display에 액세스하면 처음에는 빈 문자열이 반환됩니다. 이는 "없음"을 반환하는 인라인 스타일과 다릅니다.

getCompulatedStyle을 사용하여 해결된 문제

이 문제에 대한 해결책은 요소의 CSS 속성에 직접 액세스한다는 점을 이해하는 데 있습니다. (예: element.style.display)는 인라인 스타일 설정을 검색합니다. 외부 스타일시트 또는 브라우저 기본값에 정의된 스타일에 액세스하려면 개발자는 getCompulatedStyle 메서드를 사용해야 합니다.

function getStyle(id, name) {
    var element = document.getElementById(id);
    return element.currentStyle
        ? element.currentStyle[name]
        : window.getComputedStyle
        ? window.getComputedStyle(element, null).getPropertyValue(name)
        : null;
}

var display = getStyle('myDiv', 'display');
alert(display); // prints 'none' or 'block' or 'inline' etc.

getCompulatedStyle을 활용하면 개발자는 마스터 스타일시트의 값을 포함하여 외부에서 설정된 값을 정확하게 검색할 수 있습니다.

위 내용은 마스터 스타일시트에 설정할 때 `myDiv.style.display`가 빈 문자열을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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