이 토론에서는 제공된 코드 조각이 목표를 달성하지 못하는 이유를 자세히 살펴보겠습니다. 원하는 결과를 얻은 다음 실행 가능한 솔루션을 탐색합니다.
문제 이해
원본 코드는 div와 :hover 의사 클래스. 그러나 접근 방식에는 몇 가지 문제가 있습니다.
동봉된 img 요소
: CSS 의사 요소는 div와 같은 다른 요소 내에 포함된 img 요소에 직접 추가할 수 없습니다.
위치 및 디스플레이- : 오버레이 요소가 실수로 display: none을 사용하고 있습니다. 불투명도 대신 숨기려면: 0; 또는 visible: hide;.
의사 요소로 오버레이 구현- 오버레이 효과를 적용하려면 별도의 div 대신 CSS 의사 요소를 사용하는 것이 더 실용적입니다. 의사 요소를 사용하면 연결된 요소에 원활하게 통합할 수 있으므로 이 시나리오에 이상적입니다.
img 래핑
: 앞서 언급한 것처럼 의사 요소는 다음을 수행할 수 있습니다. img 요소 자체에 직접 배치하면 안 됩니다. 따라서 상위 요소 내에 img를 래핑하는 것이 필요합니다.
상위 요소 위치 지정- : 상위 요소(이 경우 이미지)에 정의된 위치(일반적으로 상대 또는 절대)가 있는지 확인하세요. 오버레이에 대한 참조 지점 역할을 합니다.
:after 의사 요소 생성- : 다음에 :after 의사 요소를 추가합니다. 상위 요소(이미지)를 선택하고 오버레이 효과에 대해 원하는 대로 콘텐츠, 위치 및 배경색을 설정합니다.
전환- : 마우스 오버 시 오버레이가 나타나도록 하려면 전환 속성을 :after 의사 요소를 사용하여 시간에 따른 변화 방식을 제어합니다.
오버레이 트리거- : :hover 의사 클래스를 사용하여 :after 의사 요소의 불투명도 또는 가시성을 변경하여 오버레이 모양을 트리거합니다.
텍스트 오버레이-
마우스를 올리면 오버레이에 텍스트를 추가하려면 콘텐츠를 사용할 수 있습니다. 의사 요소의 속성을 지정하고 원하는 텍스트 콘텐츠를 제공합니다. attr(data-content)를 활용하면 상위 요소에 data-content 속성을 추가하여 각 이미지에 특정한 텍스트를 만들 수 있습니다.
결론
CSS만 사용하여 마우스 오버 시 이미지에 투명한 오버레이 효과를 적용하려면 CSS 상자 모델과 의사 요소의 강력한 기능에 대한 이해가 필요합니다. 이 기사에 설명된 기술을 구현하면 이미지에 대한 사용자 참여를 향상시키는 시각적으로 매력적인 대화형 오버레이를 만들 수 있습니다.
위 내용은 CSS를 사용하여 마우스 오버 시 이미지에 투명 오버레이를 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!