CSS Masking là kỹ thuật cho phép bạn ẩn hoặc hiển thị một phần của phần tử bằng cách sử dụng các mặt nạ (mask). Với CSS Masking, bạn có thể tạo ra các hình dạng và hiệu ứng đặc biệt cho hình ảnh hoặc bất kỳ phần tử HTML nào, giúp tăng tính sáng tạo và thẩm mỹ cho giao diện web. Thuộc tính CSS Masking hoạt động với cả hình ảnh, gradient, hoặc SVG, giúp bạn linh hoạt tạo các hiệu ứng nổi bật.
Bài viết này là một phần trong chuỗi học CSS trên "codetuthub.com", cùng với các chủ đề như CSS Backgrounds, CSS Gradients, và CSS Clip-path.
1. Tổng quan về CSS Masking
CSS Masking sử dụng thuộc tính mask hoặc mask-image để xác định phần nào của phần tử sẽ hiển thị, phần nào sẽ ẩn đi. mask cho phép bạn kết hợp hình ảnh, gradient hoặc SVG để tạo mặt nạ (mask) cho phần tử. Mặt nạ này hoạt động bằng cách ẩn đi các phần tử bên ngoài khu vực được xác định.
Các thuộc tính chính của CSS Masking
mask-image: Xác định hình ảnh hoặc gradient sẽ được sử dụng làm mặt nạ.mask-position: Đặt vị trí của mask bên trong phần tử.mask-repeat: Xác định cách mask được lặp lại trong phần tử.mask-size: Điều chỉnh kích thước của mask.mask-origin: Xác định vị trí bắt đầu của mask bên trong phần tử.
2. Sử dụng mask-image với hình ảnh
mask-image cho phép bạn tạo mặt nạ từ một hình ảnh. Phần trắng trong ảnh mask sẽ hiển thị, còn phần đen sẽ bị ẩn đi.
Ví dụ về sử dụng mask-image
.masked-image {
width: 300px;
height: 200px;
mask-image: url('path-to-mask-image.png');
mask-size: cover;
}Trong ví dụ này, mask-image sử dụng hình ảnh để làm mặt nạ cho phần tử, giúp tạo ra hiệu ứng cắt hình theo hình dạng của ảnh mask.
3. Sử dụng mask-image với gradient
Bên cạnh hình ảnh, bạn có thể sử dụng gradient để tạo mask cho các phần tử, giúp tạo ra các hiệu ứng mờ dần hoặc chuyển màu.
Ví dụ sử dụng mask-image với gradient
.gradient-mask {
width: 300px;
height: 200px;
background: #3498db;
mask-image: linear-gradient(to right, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
}Trong ví dụ này, gradient mask sẽ làm cho phần tử mờ dần từ bên trái sang bên phải, tạo hiệu ứng chuyển màu đẹp mắt.
4. Sử dụng mask với SVG
SVG là một công cụ mạnh mẽ cho CSS Masking, cho phép bạn tạo các hình dạng mask phức tạp và độc đáo. Bạn có thể tạo SVG mask và áp dụng chúng cho phần tử để tạo ra các hình cắt đẹp mắt.
