Tôi đang cố gắng sử dụng CSS để tạo một hình lăng trụ hình chữ nhật có các cạnh được bo tròn như trong hình bên dưới.
Cho đến nay tôi đã chỉ định bán kính đường viền trên và dưới. Vấn đề là tôi không biết làm thế nào để cho cạnh trái và cạnh phải của cạnh kia cong vào trong. Vì vậy, không nên có bất kỳ lỗ nào ở các góc. Có thuộc tính hoặc thủ thuật CSS nào mà tôi có thể sử dụng để thực hiện việc này không?
mã từ https://jsfiddle.net/jkantner/oqo73a2h/ :
.cube {
trên cùng: 100px;
trái: 100px;
position: relative;
kiểu biến đổi: bảo tồn-3d;
biến đổi: xoayX (30 độ) xoay Y (-45 độ);
}
.left, .right, .front, .top, .back, .bottom {
position: absolute;
}
.trái, .phải {
nền: #06a;
chiều rộng: 150px;
chiều cao: 150px;
}
.front, .back {
nền: #048;
chiều rộng: 300px;
chiều cao: 150px;
}
.top, .bottom {
nền: #08c;
bán kính đường viền: 30px;
chiều rộng: 300px;
chiều cao: 150px;
}
.đằng trước {
z-index: 2;
}
.đứng đầu {
nguồn gốc biến đổi: 0% 100%;
biến đổi: dịchY(-150px) RotaX(-90deg);
z-index: 2;
}
.bên trái {
nguồn gốc biến đổi: 100% 100%;
biến đổi: dịchX (-150px) xoayY (90deg);
z-index: 2;
}
.Phải {
nguồn gốc biến đổi: 0% 0%;
biến đổi: dịchX (300px) xoayY (-90deg);
}
.mặt sau {
biến đổi: dịchZ(150px);
}
.đáy {
nguồn gốc biến đổi: 0% 0%;
biến đổi: dịchY (150px) xoayX (90deg);
}
Nếu bạn chỉ định bán kính đường viền cho bên trái và bên phải cũng như mặt trước và mặt sau giống như bạn đã làm cho mặt trên và mặt dưới:
.trái, .phải {
nền: #06a;
bán kính đường viền: 30px;
chiều rộng: 150px;
chiều cao: 150px;
}
.front, .back {
nền: #048;
bán kính đường viền: 30px;
chiều rộng: 300px;
chiều cao: 150px;
}
Bạn sẽ nhận được một lăng kính góc thẳng góc tròn, như trong hình đây .
Tôi là một lập trình viên xuất sắc, rất giỏi!