Tạo hiệu ứng hiển thị hình ảnh chỉ CSS với Biên giới trong suốt
Một Hiệu ứng chỉ hiển thị hình ảnh CSS có thể được giải quyết theo những cách khác nhau. Thật ra khá dễ dàng để viết mã một thiết kế trong đó hình ảnh nổi bật (bị tràn bởi) nền tảng vững chắc của nó -bạn chỉ đặt một hình ảnh trên một yếu tố nhỏ hơn với một nền tảng vững chắc.
Bạn có thể nhận được kết quả tương tự nếu bạn sử dụng viền trong suốt, nơi bạn giữ kích thước của phần tử nền giống nhau như của tiền cảnh và thêm các đường viền trong suốt để tạo một không gian trống cho tiền cảnh tràn vào.
Có Một số lợi thế trong việc sử dụng phương pháp sau. Vì đó là các đường viền trong suốt cung cấp diện tích cho tiền cảnh tràn vào, chúng ta có thể kiểm soát hướng tràn giữa biên giới trái, phải, trên và dưới. Ngoài ra, có cùng kích thước cho cả nền trước và nền sau làm cho việc di chuyển đồng thời cả hai yếu tố dễ dàng hơn trên trang.
Tóm lại, chúng ta sẽ xem làm thế nào để tạo hiệu ứng hiển thị hình ảnh chỉ CSS sử dụng một nền rắn nhỏ hơn với một hình ảnh nền trước có viền trong suốt. Bạn có thể kiểm tra bản demo cuối cùng phía dưới.
1. Tạo mã ban đầu
Thông thái HTML, chỉ một Trong CSS, chúng tôi sử dụng hai biến CSS, Chúng tôi cũng thêm Chúng tôi thêm một sản phẩm nào Các Chúng tôi thêm hình ảnh vào Các Trên ảnh chụp màn hình bên dưới bạn có thể thấy những gì chúng ta có cho đến nay ( Để thêm nền nhỏ hơn (trượt ra) phía sau hình ảnh, chúng ta sẽ sử dụng phần tử giả khác, Chúng tôi tạo một biến CSS khác, Các chiều rộng được tính như Các Chiều cao được tính như Với Một bộ lọc CSS của Đây là ảnh chụp màn hình của bản demo kết xuất cho đến nay (với Chúng tôi thêm Như chúng ta đã thêm Dưới đây, bạn có thể thấy bản demo cuối cùng. Nếu bạn hiển thị
--bgc
và --lờ mờ
cho màu nền và kích thước của .foo
container, tương ứng. Trong ví dụ này, tôi đã sử dụng cùng giá trị cho chiều rộng và chiều cao để có được một hộp hình vuông, tạo các biến riêng biệt cho chiều cao và chiều rộng nếu bạn muốn một hình chữ nhật.vị trí: tương đối
quy tắc để .foo
, để các yếu tố giả của nó, mà chúng ta sẽ sử dụng cho tiết lộ hình ảnh, có thể vị trí tuyệt đối (xem bên dưới), và do đó xếp chồng lên nhau. .foo --bgc: # FFCC03; --dim: 300px; chiều rộng: var (- mờ); chiều cao: var (- mờ); màu nền: var (- bgc); vị trí: tương đối;
Nội dung
bất động sản cho cả hai yếu tố giả, .foo :: trước
và .foo :: sau
, để làm cho chúng được kết xuất đúng. .foo :: trước, .foo :: sau nội dung: "; vị trí: tuyệt đối; trái: 0; top: 0;
.foo
yếu tố, hai yếu tố giả của nó, .foo :: trước
, .foo :: sau
, và của họ :bay lượn
lớp giả có được một quá độ
bất động sản răng se thêm một chuyển tiếp dễ dàng cho họ trong 500 mili giây (nửa giây). .foo, .foo: hover, .foo :: trước, .foo :: after, .foo: hover :: trước, .foo: hover :: after quá trình: biến đổi 500ms dễ dàng;
2. Thêm hình ảnh
.foo :: trước
yếu tố giả làm hình nền, và kích thước nó để bao gồm toàn bộ phần tử giả với chiều rộng
và Chiều cao
tính chất. Chúng tôi xếp nó ngay bên dưới .foo
thành phần sử dụng chỉ số z: -1
quy tắc. .foo :: trước chiều rộng: 100%; chiều cao: 100%; nền: url (camel.png) trung tâm / bìa; chỉ số z: -1;
trung tâm
từ khóa trung tâm hình ảnh, trong khi che
từ khóa chia tỷ lệ hình ảnh thành bao gồm toàn bộ yếu tố trong khi duy trì tỷ lệ khung hình của nó. chỉ số z
được xóa khỏi .foo :: trước
để nó có thể được nhìn thấy):3. Thêm nền trượt
.foo :: sau
.--b
, cho chiều rộng biên giới. Chúng tôi cung cấp ba đường viền trong suốt để ::sau
yếu tố giả: trên, bên phải và dưới cùng. .foo :: sau --b: 20px; chiều rộng: calc (100% - var (- b)); chiều cao: calc (100% - calc (var (- b) * 2)); viền: var (- b) rắn trong suốt; biên trái: không có; hộp bóng: inet 0 var (- dim) 0 var (- bgc); bộ lọc: độ sáng (.8); chỉ số z: -2;
calc (100% - var - b))
trả lại tổng chiều rộng của .foo
trừ tổng chiều rộng của các đường viền ngang của nó (chỉ đường viền phải, vì không có đường viền trái).calc (100% - calc (var (- b) * 2))
trả lại tổng chiều cao của .foo
trừ tổng chiều rộng của đường viền dọc của nó (viền trên và dưới).bóng hộp
tài sản, chúng tôi cũng thêm một bóng chèn ngang có kích thước giống như .foo
(đó là var (- mờ)
).độ sáng (.8)
làm tối màu nền một chút, và cuối cùng, chỉ số z: -2
quy tắc đặt ::sau
phần tử giả bên dưới ::trước
có chứa hình ảnh.chỉ số z
loại bỏ khỏi cả hai yếu tố giả để chúng có thể được nhìn thấy):4. Thêm biến đổi
biến đổi
bất động sản đến hai yếu tố giả, vì vậy khi người dùng di chuyển qua .foo
, cả hai yếu tố giả là di chuyển theo chiều ngang.quá độ
tài sản cho tất cả các yếu tố ở cuối Bước 1, chuyển động của hình ảnh và nền của nó là cả hoạt hình. .foo: hover :: trước, .foo: hover :: after Transform: translateX (100%);
Tiền thưởng: Ký quỹ tùy chọn
.foo
bên cạnh các yếu tố khác trên một trang và muốn các yếu tố khác này chuyển đi khi hình ảnh và nền của nó trượt ra thêm một lề phải có cùng chiều rộng với .foo
để .foo: di chuột
thành phần. .foo: hover lề-phải: var (- mờ);