Tôi đang gặp sự cố với -webkit-transition
trong Safari. Các chuyển tiếp này hoạt động tốt trong Chrome, FF và IE10 (sử dụng thuộc tính chuyển tiếp không có tiền tố).Chuyển đổi chiều rộng css Safari không hoạt động với các phép đo đơn vị khác nhau
Trong trang web của tôi, có 3 bảng có thể xem được. Cái chính mở theo mặc định và 2 cái khác được thu gọn ở bên phải của cửa sổ hiển thị một mảnh nội dung của chúng. Khi một bảng được thu gọn được bấm, một lớp bổ sung sẽ được thêm vào nó thông qua JS và nó chuyển tiếp thành 100% chiều rộng.
CSS:
.panel-1{
width: 100%;
}
.panel-2{
width: 8rem;
position: absolute;
top: 0;
right: 0;
overflow: hidden;
z-index: 500;
transition: all 0.5s;
-webkit-transition: all 0.5s;
}
.panel-2:hover{
width: 10rem;
}
.panel-2.panel-open{
width: 100%;
}
.panel-3{
width: 4rem;
position: absolute;
top: 0;
right: 0;
overflow: hidden;
z-index: 501;
transition: all 0.5s;
-webkit-transition: all 0.5s;
}
.panel-3:hover{
width: 6rem;
}
.panel-3.panel-open{
width: 100%;
}
Vấn đề có vẻ là với sự khác biệt của các đơn vị đo lường. Chuyển tiếp di chuột hoạt động như dự định (rem
đến rem
), tuy nhiên việc chuyển đổi chiều rộng (rem
thành %
) trên "bảng điều khiển mở" sẽ bỏ qua quá trình chuyển đổi và chỉ mở nhanh. Nếu tôi chuyển chiều rộng mặc định thành phần trăm thay vì rem
thì quá trình chuyển đổi sẽ hoạt động trở lại. Tôi không thể làm điều này tuy nhiên vì nó là một trang web chất lỏng và bảng điều khiển chiều rộng sụp đổ cần phải được tĩnh và không tương đối.
Tôi đã cố gắng thêm min-width
vào %
, nhưng điều đó không có tác dụng. Bất kỳ lời khuyên nào về điều này sẽ được đánh giá cao.
vui lòng cung cấp ví dụ trong đây hoặc jsfiddle. –
Quan hệ giữa '.panel-1',' .panel-2' và '.panel-3' là gì? Vui lòng cung cấp html hoặc jsFiddle đang hoạt động. LE: Tôi vừa mới chú ý đến ngày của câu hỏi này. Sergey, tôi tự hỏi liệu nó có đáng để chỉnh sửa nó và đưa nó trở lại. BigRedEd có lẽ đã quên anh ta có một tài khoản SE ngay bây giờ. –