>웹 프론트엔드 >CSS 튜토리얼 >내 CSS `text-장식`이 중첩된 요소에서 예상대로 작동하지 않는 이유는 무엇입니까?

내 CSS `text-장식`이 중첩된 요소에서 예상대로 작동하지 않는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-14 13:03:16162검색

Why Doesn't My CSS `text-decoration` Work as Expected on Nested Elements?

CSS 텍스트 장식 문제 처리

CSS에서 텍스트 장식 속성은 텍스트 요소의 스타일을 지정하는 데 중요한 역할을 합니다. 그러나 텍스트 장식을 적용하면 항상 예상대로 작동하지 않을 수 있습니다. 이 기사에서는 CSS 텍스트 장식의 복잡성을 자세히 살펴보고 일반적인 문제에 대한 솔루션을 제공합니다.

문제

한 개발자는 인라인 CSS 규칙이 다음과 같은 혼란스러운 상황에 직면했습니다. 텍스트 장식은 중첩된 요소에 영향을 미치지 않는 것 같습니다. 그들은 다음 코드를 작성했습니다.

ul > li {
    text-decoration: none;
}
ul > li.u {
    text-decoration: underline;
}
ul > li > ul > li {
    text-decoration: none;
}
ul > li > ul > li.u {
    text-decoration: underline;
}

이 CSS는 "u" 클래스가 있는 li 요소에만 밑줄을 긋고 다른 모든 li 요소에는 장식 없이 남겨둘 것으로 예상되었습니다. 그러나 실제로는 모든 li 요소에 밑줄이 그어져 있었습니다.

해결책

문제는 텍스트 장식의 독특한 동작에 있습니다. 글꼴 가중치와 같은 다른 텍스트 스타일 속성과 달리, 텍스트 장식은 적용되는 요소뿐만 아니라 그 하위 요소에도 영향을 미칩니다.

CSS 2.1 사양에 따라 텍스트 장식은 상관없이 전체 요소에 걸쳐 그려집니다. 모든 하위 요소 중 하나입니다. 즉, 상위 요소에 텍스트 장식을 설정하면 자체적인 텍스트 장식 규칙이 있더라도 해당 하위 요소에 장식이 전파됩니다.

제공된 예에서 텍스트 장식: 없음; 장식이 첫 번째 선택기에서 이미 전파되고 있었기 때문에 두 번째 및 세 번째 선택기에 대한 규칙은 효과적이지 않았습니다.

결론

CSS 텍스트 장식의 이러한 특징을 이해하는 것이 필수적입니다. 예상치 못한 결과를 방지하기 위한 것입니다. 개발자는 가장 바깥쪽 요소에만 텍스트 장식을 적용하고 중첩된 요소에 대한 상속을 활용하여 CSS 텍스트 장식 규칙이 의도한 대로 작동하는지 확인할 수 있습니다.

위 내용은 내 CSS `text-장식`이 중첩된 요소에서 예상대로 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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