홈페이지 » 코딩 » 투명 테두리가있는 CSS 전용 이미지 공개 효과 만들기

    투명 테두리가있는 CSS 전용 이미지 공개 효과 만들기

    에이 CSS 전용 이미지 공개 효과 다른 방법으로 해결할 수 있습니다. 실제로 코드를 작성하는 것은 매우 쉽습니다. 이미지가 돋보인다. (에 의해 오버플로됩니다) 그 단색 배경 -방금 이미지를 배치하다 단색 배경의 작은 요소 위로.

    사용하면 동일한 결과를 얻을 수 있습니다. 투명 테두리, 너 어디서 배경 요소의 크기 포어 그라운드로 사용하고 투명 테두리를 추가하여 빈 공간을 만든다. 전경이 넘치도록.

    있다 후자의 방법을 사용할 때의 이점. 전경이 넘쳐나는 영역을 제공하는 투명 테두리이기 때문에 오버 플로우의 방향 제어 왼쪽, 오른쪽, 위쪽 및 아래쪽 테두리 사이. 또한 전경과 배경에 동일한 크기를 가짐 두 요소를 동시에 이동하는 것이 더 쉽습니다. 페이지 전체.

    간단히 말해, 우리는 어떻게 CSS 전용 이미지 공개 효과 만들기 ~을 사용하여 더 작고 단단한 배경 ~와 투명한 테두리가있는 전경 이미지. 체크 아웃 할 수 있습니다. 최종 데모 이하.

    1. 초기 코드 만들기

    HTML 방식, 오직 하나

    필요하다:

     

    CSS에서는 두 개의 CSS 변수, --bgc--어둑한배경색 그리고 치수 ~의 .푸 컨테이너. 이 예에서는 같은 가치 너비와 높이가 사각형 모양의 상자를 만들려면 별도의 변수들 직사각형을 원한다면 높이와 너비가 필요합니다..

    우리는 또한 직위 : 상대적 ~에 통치하다 .푸, 그래서 우리가 사용하려고하는 의사 요소가 이미지 공개, 될 수있다. 절대 위치 (아래 참조), 따라서 서로 겹쳐서.

     .foo --bgc : # FFCC03; --dim : 300px; 너비 : var (- dim); 높이 : var (- dim); 배경색 : var (- bgc); 위치 : 상대적;  

    우리 빈을 추가하십시오. 함유량 재산 두 의사 요소 모두에게, .foo :: before.foo :: after, 제대로 렌더링되도록하기.

     .foo :: before, .foo :: after content : "; 위치 : 절대, 왼쪽 : 0, 위쪽 : 0; 

    그만큼 .푸 요소, 두 개의 의사 요소, .foo :: before, .foo :: after, 그리고 그들의 : 마우스 오버 가상 클래스 도착 전이 재산 그럴거야. 편함 전환을 추가하다. 500 밀리 초 동안 (0.5 초).

     .foo, .foo : hover, .foo :: before, .foo :: after, .foo : hover :: before, .foo : hover :: after 전환 : 변환 500ms 용이함;  

    2. 이미지를 추가하십시오.

    우리는 이미지를 .foo :: before 의사 요소 배경 이미지로, 과 전체 의사 요소를 감싸는 크기 와 더불어 신장 속성. 우리 바로 아래에 쌓아 놓으십시오. .푸 요소 ~을 사용하여 Z- 색인 : -1 규칙.

     .foo :: before width : 100 %; 높이 : 100 %; 배경 : url (camel.png) 센터 / 커버; z- 색인 : -1;  

    그만큼 센터 예어 이미지를 중심에 두다., 동안 덮개 키워드가 이미지 크기를 전체 요소를 덮다. 가로 세로 비율을 유지하면서.

    아래의 스크린 샷 당신은 우리가 지금까지 가지고있는 것을 볼 수 있습니다 (Z- 색인 님이에서 삭제되었습니다. .foo :: before 그래서 그것은 볼 수 있습니다) :

    3. 슬라이드 아웃 배경 추가

    추가하려면 이미지 뒤에 작은 (슬라이드 아웃) 배경, 다른 의사 요소를 사용합니다., .foo :: after.

    다른 CSS 변수를 만듭니다., --비, 그 테두리 너비. 우리는 준다. 세 개의 투명 테두리 ~로 ::후 의사 요소 : 위, 아래, 오른쪽.

     .foo :: after --b : 20px; 너비 : calc (100 % - var (- b)); 높이 : calc (100 % - calc (var (- b) * 2)); border : var (-b) 단색 투명; border-left : none; 상자 그림자 : inset 0 var (- dim) 0 var (- bgc); 필터 : 밝기 (.8); z- 지수 : -2;  

    그만큼 다음과 같이 계산됩니다. calc (100 % - var - b)) 돌아 오는 총 너비 .푸 수평 경계의 전체 폭을 뺀 값 (왼쪽 테두리가 없으므로 오른쪽 테두리 만).

    그만큼 신장 다음과 같이 계산됩니다. calc (100 % - calc (var (-b) * 2)) 돌아 오는 총 높이 .푸 수직 경계의 전체 폭을 뺀 값 (상단 및 하단 테두리).

    와 더불어 상자 그림자 재산, 우리도 수평 삽입 그림자를 추가한다. 같은 크기의 .푸 (이것은 var (- dim)).

    CSS 필터 밝기 (.8) 배경색을 어둡게한다. 조금, 마침내 Z 지수 : -2 규칙 장소 ::후 밑에 의사 요소 ::전에 이미지가 포함 된.

    여기에 데모 스크린 샷 지금까지 렌더링 된 Z- 색인 두 가상 요소에서 제거하여 볼 수 있음).

    4. 변환 추가

    우리 더하기 변환 재산 두 의사 요소에 연결되므로 사용자가 마우스 오버하면 .푸, 두 유사 요소는 수평으로 움직였다..

    우리로 이미 전이 모든 요소에 대한 속성 1 단계가 끝나면 이미지의 움직임과 배경이 두 애니메이션.

     .foo : hover :: before, .foo : hover :: after 변형 : translateX (100 %);  

    아래에서 최종 데모.

    보너스 : 선택 마진

    표시하는 경우 .푸 다른 요소들 옆에 페이지에서 다른 요소를 떠나다 이미지와 배경이 슬라이드 아웃되면 너비와 같은 너비의 오른쪽 여백을 더한다. .푸 ~로 .foo : 마우스 오버 요소.

     .foo : hover margin-right : var (- dim);