Tôi đã tự hỏi liệu có thể áp dụng một nền CSS3 đơn lẻ cho nhiều phần tử hay không. Nói cách khác, gradient kéo dài qua phần tử cha nhưng chỉ hiển thị bên trong các phần tử con.Độ dốc CSS trên nhiều phần tử
Sau khi tìm kiếm, tôi thấy chủ đề này: Applying gradient over multiple views
Đây chính là vấn đề của tôi, mặc dù tôi cần nó như CSS/HTML
mã.
Để hình dung được vấn đề, tôi đã thực hiện hai hình ảnh:
Đây là thiết lập cơ bản. Hai <div>
s cần một nền gradient nằm bên trong phần tử <div>
lớn hơn.
Như bạn có thể thấy, các gradient trong hình ảnh thứ hai perfecly mất dần từ yếu tố A đến yếu tố B. Hiệu ứng này có thể dễ dàng thực hiện được trong hầu hết các chương trình chỉnh sửa ảnh, vì vậy tôi chỉ có thể sử dụng một hình ảnh thích hợp để có được hiệu quả mong muốn.
Tuy nhiên, vì hình ảnh có lẽ không phải là cách tốt nhất để giải quyết vấn đề này, tôi hy vọng sẽ tìm thấy câu trả lời ở đây về cách thực hiện điều này chỉ với CSS
. Tôi đã sử dụng gradient trước đây, nhưng tôi vẫn chưa tìm được giải pháp cho vấn đề này.
Mọi trợ giúp đều được đánh giá cao.
EDIT (06/01/15 13:30 GMT + 1): Các yếu tố A và B sẽ có thể có các góc tròn. Độ dốc bao trùm ban đầu được cho là radial-gradient
, nhưng không nhất thiết phải như vậy. Có thể vấn đề thực sự không thể giải quyết được.
Làm thế nào phức tạp là những đứa trẻ hình dạng bạn đang xem xét? Trong ví dụ trên, bạn có thể giả mạo nó bằng cách làm cho cả hai hình dạng con một và thêm thanh giữa. – xdhmoore
Một ý tưởng khác: Nó sẽ là một chút lập dị, nhưng bạn có thể tính toán các gradient cần thiết với js và áp dụng chúng theo cách thủ công, dựa trên vị trí của mỗi phần tử con. Đặc biệt là nếu bạn đang suy nghĩ một gradient dọc hoặc ngang. – xdhmoore
Làm cách nào để đặt độ dốc làm nền và sử dụng mặt nạ cắt CSS để tạo hình chữ nhật? – tsg