Clip đường dẫn CSS
Khi tôi mới học CSS 1 vào những ngày trước, tôi đã mất nhiều thời gian hơn tôi mong đợi và tôi cũng phải vật lộn để ghi nhớ nó. Tôi không biết lý do chính xác, nhưng có lẽ vì tôi không sử dụng nó nhiều? Show
Trong bài viết này, tôi mong muốn cung cấp cho bạn một lời giải thích rõ ràng về cách thức hoạt động của 1 một cách chi tiết khi sử dụng nó và cách bạn có thể sử dụng nó ngay hôm nay trong các dự án phát triển web của mình. Bạn đã sẵn sàng chưa? Giới thiệuThuộc tính 1 tạo một vùng cắt trong đó nội dung bên trong nó hiển thị và nội dung bên ngoài nó không nhìn thấy được. Đây là một ví dụ cơ bản về hình tròn 1
Khi áp dụng 1, khu vực hiển thị chỉ là vòng tròn màu xanh lam. Bất cứ điều gì bên ngoài vòng tròn là vô hình. Đây là hình động hiển thị một đoạn cắt của vòng tròn trong ví dụ trướchệ tọa độTrước khi đi sâu vào chi tiết của 1, điều đáng nói là hệ tọa độ hoạt động như thế nào. Điểm gốc là góc trên cùng bên trái với trục x chỉ sang phải và trục y chỉ xuốngVới ý nghĩ đó, hãy lấy một ví dụ đơn giản để xem cách một phần tử được cắt bớt. Trong ví dụ, khu vực được cắt bớt là một hình tròn có kích thước 7 và tâm của nó nằm ở vị trí 8 (trên cùng bên trái)Lưu ý rằng chỉ khu vực được tô sáng (màu xanh đậm) mới hiển thị cho người dùng. Phần còn lại của vòng tròn được cắt bớt. Câu hỏi đặt ra là, làm thế nào chúng ta có thể hiển thị toàn bộ vòng tròn? Tâm của vòng tròn được đặt ở vị trí 7 từ bên trái và 7 từ trên xuống. Bây giờ bạn đã hiểu cách hoạt động của hệ tọa độ, tôi sẽ giải thích các giá trị có thể có cho thuộc tính 1Các giá trị .card { clip-path: inset(20px 20px 50px 20px); } 1đầu vàoGiá trị bên trong xác định một hình chữ nhật bên trong. Chúng ta có thể kiểm soát bốn cạnh, giống như chúng ta xử lý lề hoặc phần đệm. Trong ví dụ sau, thẻ có phần bên trong là 33 từ tất cả các cạnh (trên, phải, dưới và trái) 4Nếu bạn cần điều chỉnh phần bên trong từ một trong các cạnh, bạn có thể. Đây là một ví dụ khác
Phần tử có một hình nhỏ 34 từ phía dướiCâu hỏi là, chúng ta có thể có một hình tròn không? . Có thể nhờ từ khóa 35. Thêm từ khóa 36 có thể làm tròn các góc 3Không chỉ vậy, chúng ta có thể điều chỉnh bán kính cho từng bên một cách riêng biệt. Đây là một ví dụ với bán kính bằng 0 cho các góc trên cùng bên phải và dưới cùng bên trái 0Vòng trònĐể sử dụng giá trị 37, chúng ta cần bán kính và vị trí của nó. Đây là một ví dụ 2Bán kính của hình tròn là 38 và nó nằm ở vị trí 39 trên trục x và 39 trên trục yhình elipVới 01, chúng ta có thể đặt chiều rộng và chiều cao để tạo hình cắt hình bầu dục 7đa giácĐối với tôi, giá trị 02 là giá trị thú vị nhất. Chúng tôi có khả năng kiểm soát nhiều bộ giá trị trục x và trục y khác nhau 9Đây là một ví dụ sử dụng 02 để cắt một hình chữ nhật. Lưu ý cách tôi ánh xạ từng tập hợp điểm tới tọa độ của nó trên các trục 1Chúng ta cũng có thể vẽ các hình phức tạp với nhiều điểm bằng cách sử dụng giá trị 04Đường dẫnGiá trị 05 cho phép chúng tôi sử dụng đường dẫn SVG để cắt một khu vực cụ thể. Hiện tại, hỗ trợ trình duyệt không nhất quán. Để làm cho nó hoạt động trên các trình duyệt khác nhau, chúng tôi cần sử dụng một SVG nội tuyến, sau đó sử dụng 06 làm giá trị cho 1 6Trong CSS, chúng ta cần nối thêm đường dẫn bằng giá trị 06 40Bây giờ chúng ta đã xem qua lý thuyết về 1 và các giá trị có thể có của nó, đã đến lúc sử dụng nó trong thực tế và khám phá một số trường hợp sử dụng. Bạn đã sẵn sàng chưa?Trường hợp sử dụnghiệu ứng góc cạnhBằng cách này hay cách khác, bạn có thể đã thấy mô hình này trên web nơi một phần có nền hơi góc cạnh. Đó là trường hợp sử dụng hoàn hảo cho 1Bạn có thể đoán cách thực hiện hiệu ứng góc cạnh không? 41Trong một số trường hợp, có thể khó chịu khi chỉnh 8 số cho giá trị đa giác. Vì lý do đó, mình có một mẹo nhỏ dành cho các bạn đó là tùy vào trình duyệt để tạo ra hình dạng mà chúng ta muốn. Đầu tiên, chúng ta cần thêm như sau 42Sau đó, chúng ta cần kiểm tra phần đó của DevTools. Khi đã xong, hãy lưu ý rằng có một biểu tượng đa giác nhỏ ở phía bên trái của giá trị 02Sau khi nhấp vào biểu tượng đó, chúng tôi có thể chỉnh sửa đa giác trong trình duyệt. Đó không phải là điều tuyệt vời sao? Tạo góc tương ứng với chiều rộng khung nhìnChúng tôi cũng có thể sử dụng CSS 23 kết hợp với các đơn vị khung nhìn CSS để tạo góc tương ứng với chiều rộng của khung nhìn. Tôi đã biết về điều này từ bài báo tuyệt vời này của Kilian Valkhof 43Nhiều hiệu ứng góc cạnhTôi có một câu hỏi trong đầu về việc liệu chúng ta có muốn có nhiều phần góc cạnh không? Điều đầu tiên tôi nghĩ đến là chỉ cần thêm một 24 hoặc một 25. Thật không may, chúng sẽ bị cắt bớt, vì vậy ngay cả khi chúng tôi thêm một trong số chúng, nó sẽ không xuất hiện như mong đợiTrong trường hợp như vậy, giải pháp là sử dụng nhiều phần tử, với mỗi phần tử có một điểm cắt khác nhau. Đây là cách chúng ta có thể làm điều đó 44 45Chúng tôi có một phần tử giả có cùng kích thước và đường dẫn clip với phần tử khác. Sự khác biệt là nó được định vị bên dưới nó với 26 và 27. Tôi đã sử dụng giá trị 28 vì nó là kết quả của 29Hiển thị khi cuộnBằng cách sử dụng API IntersectionObserver, chúng tôi có thể hiển thị một số thành phần nhất định trên trang khi người dùng đang cuộn Giá trị chènGiá trị 1 nhiều nhất mà tôi thấy hữu ích cho hiệu ứng này là 71. Bạn có thể nghĩ về, tại sao? Lưu ý cách hình chữ nhật màu xanh có thể ẩn hoàn toàn bằng cách áp dụng 72. Có, giá trị làm cho nó ẩn đi là 39 bởi vì chúng tôi đang áp dụng một hình nhỏ từ bốn phía. Nói cách khác, hình nhỏ đang được áp dụng từ cạnh đến tâm của hình chữ nhậtTrong hình bên dưới, 71 đang được sử dụng để hiển thị hình ảnh trong khi người dùng đang cuộnĐoạn mã javascript bên dưới thêm lớp 75 vào mỗi hình ảnh trong chế độ xem. Cùng với đó, chúng ta có thể làm cho hình ảnh hiển thị bằng cách cuộn 46 47Nó không đơn giản sao? Thử nghiệm Không chỉ vậy, chúng ta còn có thể kiểm soát hướng của quá trình chuyển đổi tiết lộ. Để làm điều đó, chúng ta chỉ cần sử dụng một giá trị từ bốn phía. Ví dụ: nếu chúng tôi muốn chuyển đổi từ trên xuống dưới, giá trị dưới cùng phải được chuyển từ 76 sang 77. Đây là một hình ảnh giải thích điều đóVà đây là một bản demo tương tác Xem Hoạt hình bút - Đường dẫn clip - Inset của Ahmad Shadeed (@shadeed) trên CodePen Hiệu ứng di chuột và hoạt hìnhKhả năng tạo hiệu ứng di chuột và hoạt ảnh với 1 là vô tận. Xem xét ví dụ sauNhững gì chúng ta cần làm là thêm hiệu ứng di chuột có tỷ lệ từ một vị trí đã chỉ định. Trong trường hợp này, hãy sử dụng giá trị 37Để làm cho nó dễ dàng hơn và dễ bảo trì hơn, hãy sử dụng các biến CSS. Bằng cách đó, chúng tôi sẽ không sao chép toàn bộ 1. Chúng tôi sẽ chỉ thay đổi các biến CSS cần thiết 48Xem video dưới đây để biết nó hoạt động như thế nào Không những thế chúng ta có thể thay đổi vị trí của ảnh động rất dễ dàng. Tôi đã tạo bản trình diễn tương tác với khả năng thay đổi vị trí từ menu thả xuống Xem Hoạt hình bút - Đường dẫn clip của Ahmad Shadeed (@shadeed) trên CodePen Nếu bạn muốn tìm hiểu sâu hơn về các hiệu ứng hoạt hình, Mr. Adam Argyle đã tạo một thư viện hoạt hình CSS rất hữu ích dựa 100% vào đường dẫn clip CSS. Kiểm tra nó ra Hiệu ứng gợn sóngHiệu ứng gợn sóng đã trở nên phổ biến kể từ khi phát hành thiết kế Vật liệu. Với 1, chúng ta có thể dễ dàng tái tạo hiệu ứng này 49 0Xem Hiệu ứng gợn nút bút của Ahmad Shadeed (@shadeed) trên CodePen Thật tốt khi biết về .card { clip-path: inset(20px 20px 50px 20px); } 1Các khu vực vô hình không nhận được các sự kiện con trỏKhi một khu vực bị cắt bớt, mọi thứ bên ngoài khu vực đó sẽ không nhận được bất kỳ sự kiện con trỏ nào. Điều đó có nghĩa là người dùng không thể di chuột qua nó Bạn có thể sử dụng các giá trị tương đốiBạn có muốn tạo một 1 liên quan đến 94 không? . Sử dụng các giá trị 95 hoặc 96 cho 1 và bạn đã hoàn tất
clip là gìThuộc tính CSS clip-path tạo vùng cắt để đặt phần nào của phần tử sẽ được hiển thị . Các phần bên trong khu vực được hiển thị, trong khi các phần bên ngoài bị ẩn.
clip là gìThuộc tính clip-path cho phép bạn tạo các hình phức tạp trong CSS bằng cách cắt một phần tử thành hình cơ bản (hình tròn, hình elip, hình đa giác hoặc hình nhỏ) hoặc thành SVG . Có thể có hoạt ảnh và chuyển tiếp CSS với hai hoặc nhiều hình dạng đường dẫn clip có cùng số điểm. . CSS Animations and transitions are possible with two or more clip-path shapes with the same number of points.
có kẹp khôngThuộc tính clip-path giúp bạn có thể thực hiện bất kỳ hình dạng ưa thích nào mà bạn có trong đầu và trích xuất nó từ hình ảnh, div ,. Nội dung bên trong đường dẫn clip sẽ được hiển thị, trong khi nội dung bên ngoài sẽ bị ẩn.
Làm cách nào để sử dụng đường dẫn trong CSS?Có thể sử dụng đường dẫn() để sửa đổi giá trị của thuộc tính SVG d, thuộc tính này cũng có thể được đặt thành không có trong CSS của bạn . Biểu tượng "V" sẽ lật theo chiều dọc khi bạn di chuột qua nó, nếu d được hỗ trợ dưới dạng thuộc tính CSS. |