Bí quyết là tạo angled content mask và sau đó điền vào vùng có mặt nạ với kiểu dáng mong muốn, trong trường hợp này là độ dốc nền. Nội dung sẽ được cắt bớt thành hình dạng của mặt nạ.
Mặt nạ chỉ đơn giản là một vật chứa có overflow:hidden
. Nếu một chuyển đổi CSS3 được áp dụng cho vùng chứa (ví dụ, xoay hoặc hoạt động nghiêng), mặt nạ sẽ có hình dạng xoay hoặc nghiêng, và nội dung sẽ được cắt bớt thành hình dạng này. Một cặp mặt nạ lồng nhau, mặt nạ bên ngoài bị lệch và mặt trong bị lệch, tạo ra một mặt nạ hình thang với 2 cạnh góc cạnh. Skewing chỉ mặt nạ bên trong tạo ra một hình thang với 1 cạnh góc cạnh.
Both masks skewed Inner mask skewed
_________________ _________________
/ \ | \
/clipped content \ | clipped content \
/_____________________\ |__________________\
demo JSFiddle:
HTML
<div class="main">
<div class="outer-mask">
<div class="inner-mask">
<div class="content">Styled content goes here</div>
</div>
</div>
</div>
CSS
.main {
position: relative;
}
.outer-mask {
position: absolute;
left: 95px;
top: 45px;
width: 390px;
height: 110px;
overflow: hidden;
-webkit-transform: skew(20deg, 0deg);
-ms-transform: skew(20deg, 0deg);
-o-transform: skew(20deg, 0deg);
transform: skew(20deg, 0deg);
}
.inner-mask {
position: absolute;
left: -45px;
top: 0px;
width: 390px;
height: 110px;
overflow: hidden;
-webkit-transform: skew(-40deg, 0deg);
-ms-transform: skew(-40deg, 0deg);
-o-transform: skew(-40deg, 0deg);
transform: skew(-40deg, 0deg);
}
Nguồn
2013-03-19 14:02:49
Bạn có thể hiển thị bản vẽ ** của những gì bạn đang cố gắng đạt được không? –