찾다
웹 프론트엔드CSS 튜토리얼CSS `:before` 및 `:after` 의사 요소가 `` 요소와 작동하지 않는 이유는 무엇입니까?

Why Don't CSS `:before` and `:after` Pseudo-elements Work with `` Elements?

의사 요소 및 이미지 요소: 호환성 딜레마

CSS 영역에서는 :before 및 :after와 같은 의사 요소가 널리 사용됩니다. 웹페이지 요소의 시각적 모양을 향상시키는 데 사용됩니다. 그러나 이미지 요소(CSS `:before` 및 `:after` 의사 요소가 `` 요소와 작동하지 않는 이유는 무엇입니까?)의 경우 이러한 의사 요소는 공백을 그리는 것처럼 보이며 질문을 제기합니다. 왜 img 요소와 작동하지 않습니까?

기술적 설명

그 이유는 CSS 사양 자체에 있습니다. 공식 문서에는 "이 사양은 교체된 요소(예: HTML의 IMG)와 ::before 및 ::after의 상호 작용을 완전히 정의하지 않습니다."라고 명시되어 있습니다. 즉, 이미지와 같은 대체 요소에 적용될 때 의사 요소의 동작은 현재 표준에서 완전히 지정되지 않습니다. 이러한 모호함으로 인해 브라우저 불일치 및 지원 부족의 여지가 남습니다.

현재 브라우저 지원

이러한 불특정 동작의 결과로 Chrome 및 Firefox와 같은 주요 브라우저는 지원하지 않기로 결정했습니다. img 요소로 의사 요소를 지원합니다. 즉, 이미지에 :before 또는 :after를 포함하도록 CSS를 꼼꼼하게 작성하더라도 효과가 표시되지 않습니다.

가능한 해결 방법

그 동안에는 현재 의사 요소가 img 요소와 함께 작동하도록 하는 공식적인 방법은 없습니다. 몇 가지 해결 방법이 있습니다. 탐색:

  • 이미지를 컨테이너 요소로 감싸기: 이미지를
    또는 요소를 선택하고 이미지 자체 대신 의사 요소를 컨테이너에 적용합니다.
  • CSS 필터 사용: 의사 요소와 유사한 시각적 효과를 얻으려면 상자 그림자 또는 밝기와 같은 CSS 필터를 사용하세요.
  • 미래 전망

    CSS 사양에 따르면 대체 요소와 의사 요소 상호 작용에 대한 전체 정의는 향후 사양에 설명될 것입니다. 이로 인해 img 요소를 사용하여 :before 및 :after를 향후 지원할 수 있는 가능성이 열릴 수 있습니다. 그러나 그때까지 이러한 해결 방법은 이미지에 대해 유사한 기능을 찾을 때 가장 실용적인 접근 방식으로 남아 있습니다.

위 내용은 CSS `:before` 및 `:after` 의사 요소가 `` 요소와 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
스크린 독자를 탈취시킵니다. 액세스 가능한 양식 및 모범 사례스크린 독자를 탈취시킵니다. 액세스 가능한 양식 및 모범 사례Mar 08, 2025 am 09:45 AM

이것은 우리가 양식 접근성에 대해 한 작은 시리즈의 세 번째 게시물입니다. 두 번째 게시물을 놓친 경우 "사용자 초점 관리 : Focus-Visible"을 확인하십시오. ~ 안에

WordPress 블록 및 요소에 상자 그림자를 추가합니다WordPress 블록 및 요소에 상자 그림자를 추가합니다Mar 09, 2025 pm 12:53 PM

CSS Box-Shadow 및 개요 속성은 주제를 얻었습니다. 실제 테마에서 어떻게 작동하는지에 대한 몇 가지 예와 이러한 스타일을 WordPress 블록 및 요소에 적용 해야하는 옵션을 보자.

첫 번째 맞춤형 전환을 만듭니다첫 번째 맞춤형 전환을 만듭니다Mar 15, 2025 am 11:08 AM

Svelte Transition API는 맞춤형 전환을 포함하여 문서를 입력하거나 떠날 때 구성 요소를 애니메이션하는 방법을 제공합니다.

GraphQL 캐싱 작업GraphQL 캐싱 작업Mar 19, 2025 am 09:36 AM

최근에 GraphQL 작업을 시작했거나 장단점을 검토 한 경우 "GraphQL이 캐싱을 지원하지 않음"또는

고급스럽고 멋진 커스텀 CSS 스크롤 바 : 쇼케이스고급스럽고 멋진 커스텀 CSS 스크롤 바 : 쇼케이스Mar 10, 2025 am 11:37 AM

이 기사에서 우리는 스크롤 바의 세계로 뛰어들 것입니다. 너무 화려하게 들리지는 않지만 잘 설계된 페이지가 손을 잡고 있습니다.

쇼, 말하지 마십시오쇼, 말하지 마십시오Mar 16, 2025 am 11:49 AM

웹 사이트의 컨텐츠 프레젠테이션을 설계하는 데 얼마나 많은 시간을 소비합니까? 새 블로그 게시물을 작성하거나 새 페이지를 만들 때

Redwood.js 및 동물 군을 사용하여 이더 리움 앱 구축Redwood.js 및 동물 군을 사용하여 이더 리움 앱 구축Mar 28, 2025 am 09:18 AM

최근 Bitcoin의 가격이 20k 달러가 넘는 USD가 최근에 등반되면서 최근 30k를 끊었으므로 Ethereum을 만드는 데 깊이 다이빙을 할 가치가 있다고 생각했습니다.

NPM 명령은 무엇입니까?NPM 명령은 무엇입니까?Mar 15, 2025 am 11:36 AM

NPM 명령은 서버 시작 또는 컴파일 코드와 같은 것들에 대한 일회성 또는 지속적으로 실행되는 프로세스로 다양한 작업을 실행합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.