2012-11-13 25 views
6

Đây là hình ảnh của ảnh xem thử cốc:Safari với render inline-khối thu nhỏ lại bởi scaleX

enter image description here

Preview hiển thị những gì div khác chứa, nhưng thu nhỏ lại bằng 0,2. Để mô phỏng đường cong bề mặt của cốc, tôi đã sử dụng một kỹ thuật trong đó các khối xem trước có chiều rộng = chiều rộng ban đầu * 0,2 và chúng được thu nhỏ bằng cách chuyển đổi scaleX, 0,6, 0,8, 1, 0,8. 0,6.

Nó hoạt động tốt (Tôi không thể sử dụng html5 canvas vì tính tương thích của trình duyệt chéo, đó là yêu cầu), nhưng, như bạn có thể thấy trên ảnh đính kèm (ảnh trên cùng là chrome, dưới từ safari), safari ám ánh sáng không mong muốn dòng. Không có gì giúp - định vị tuyệt đối, đặt một khối trên khác để che giấu đường sáng đó. Đó là vấn đề cụ thể đối với safari, có thể bởi vì sau khi transformX gờ của khối được chống răng cưa, và vì scaleX, mép gờ bên trở nên sáng hơn. Các trình duyệt khác không làm điều đó.

Có ai có ý tưởng làm thế nào tôi có thể sửa lỗi này để hiển thị mà không có các dòng đó trong safari không?

+1

Một minh họa là tốt, nhưng bạn có thể tạo ra một jsfiddle với đánh dấu CSS của bạn để chúng tôi có thể tái tạo điều này trong các trình duyệt khác nhau không? – Anson

Trả lời

0

Hãy thử sử dụng background-size thay vì transform: scale.

+0

Tôi không nghĩ rằng nó sẽ giải quyết được vấn đề của tôi - toàn bộ khu vực có nội dung phải có kích thước tương ứng, không chỉ nền. Có lẽ nó không rõ ràng ở hình ảnh này, nhưng, những khung hình có thể được lấp đầy với các đối tượng như văn bản hoặc hình ảnh, và nếu tôi sẽ bắt đầu sử dụng kích thước nền trên mọi đối tượng, và rescalling văn bản bằng tay với kích thước phông chữ, tôi thực hiện mess không thể quản lý .. thats nó lý do tại sao nó phải được thực hiện theo quy mô trên container mẹ. –

+0

Bạn hoàn toàn đúng, nó có lẽ sẽ chỉ là một giải pháp nếu bạn không cần văn bản. Một giải pháp có thể (nhưng phức tạp) có thể là hiển thị văn bản và hình ảnh trên canvas, xuất dưới dạng dữ liệu: URI mà bạn đặt làm hình nền. – Henrik

+0

vì vậy mabye đó là giải pháp. Sử dụng những gì tôi có bây giờ là tương thích ngược với IE8 và triển khai một bản xem trước mới trên canvas HTML5 cho các trình duyệt hiện đại bao gồm safari –

Các vấn đề liên quan