> 웹 프론트엔드 > CSS 튜토리얼 > CSS `:after`가 이미지 및 입력과 같은 대체 요소에 콘텐츠를 추가하지 않는 이유는 무엇입니까?

CSS `:after`가 이미지 및 입력과 같은 대체 요소에 콘텐츠를 추가하지 않는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-16 05:04:09
원래의
910명이 탐색했습니다.

Why Doesn't CSS `:after` Add Content to Replaced Elements Like Images and Inputs?

CSS :after는 특정 요소에 콘텐츠를 추가하지 않음

CSS :after 속성은 문서 트리의 요소 뒤에 콘텐츠를 삽입하는 데 사용됩니다. . 그러나 단락(

) 및 표(

)와 같은 특정 요소에서만 작동하는 것으로 보이며 이미지() 및 양식 입력()과 같은 대체 요소에서는 작동하지 않는 것으로 보입니다. ).

:after 및 :before의 허용 여부를 결정하는 요소 속성?

:after 및 :before의 동작은 대체된 요소가 다르게 작동한다는 사실에 따라 결정됩니다. 대체된 요소는 이미지, 플러그인, 양식 요소 등 외부 리소스에 의해 모양과 크기가 정의된 요소입니다.

CSS 사양에 따르면 :before 및 :after는 대체되지 않은 요소에서만 작동합니다. 즉, 요소 ​​교체 전이나 후에 콘텐츠를 추가하는 데 사용할 수 없습니다.

Span의 예

다음 HTML을 고려하세요.

<span>Content of span</span>
로그인 후 복사

다음 CSS를 사용하면:

span:before {
  content: "Before";
}

span:after {
  content: "After";
}
로그인 후 복사

이 시나리오의 DOM은 다음과 같습니다. this:

<span>
  <before>Before</before>
  Content of span
  <after>After</after>
</span>
로그인 후 복사

이 구조는 :before 및 :after가 대체되지 않은 요소 앞뒤에 콘텐츠를 삽입하는 방법을 보여줍니다.

이미지 예외

그러나 이미지에 :after를 사용하면 동일한 결과가 나오지 않습니다. 결과:

<img src="image.png" />
로그인 후 복사
img:after {
  content: "After";
}
로그인 후 복사

이는 :after가 대체된 요소의 모양을 변경할 수 없기 때문입니다.

위 내용은 CSS `:after`가 이미지 및 입력과 같은 대체 요소에 콘텐츠를 추가하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿