2012-08-06 57 views
33

Tôi có bố cục trang web mà tôi đang làm việc trên đó có một khu vực nội dung chính và sau đó tại mỗi trong bốn góc của khu vực nội dung là một hình ảnh góc. Hiệu ứng tổng thể của là của một bàn làm mờ.Làm cách nào để xoay hình ảnh bằng cách sử dụng CSS?

Đây là mã cho góc trên bên trái của tôi:

.corner-top-left { width:96px ; 
height:96px ; 
background:url("images/corner.png") no-repeat ; 
position:absolute ; 
top:-5px ; 
left:-5px ; 
z-index:3000 ; 
} 

Thay vì làm cho bốn hình ảnh góc cá nhân, những gì tôi muốn làm (nếu có thể) là sử dụng hình ảnh ban đầu (corner.png) và xoay nó bằng cách sử dụng CSS.

Có cách nào tương thích với trình duyệt chéo để thực hiện việc này không?

Rất cám ơn!

+3

Một tìm kiếm google sẽ cho bạn câu trả lời của bạn: http: // câu trả lời .oreilly.com/topic/1004-how-to-rotate-an-image-with-css/ – xbonez

+3

Tôi đã tìm kiếm google trước tiên. Liên kết đó không hiển thị ở bất kỳ đâu trong 10 * trang đầu tiên * của kết quả mà tôi đã xem qua (cụm từ tìm kiếm là 'css xoay hình nền'). Vì nhiều ví dụ mà tôi đã làm * thấy không tương thích với trình duyệt, tôi đã đến đây. Thx cho liên kết mặc dù. – Cynthia

+0

Bạn nên sử dụng 4 hình ảnh khác nhau dưới dạng các biến đổi CSS sẽ không hoạt động trong IE 7 và IE 8. –

Trả lời

53

http://jsfiddle.net/tJkgP/2/

CSS để xoay 45 độ:

.desk 
{ 
    width: 50%; 
    height: 400px; 
    margin: 5em auto; 
    border: solid 1px #000; 
    overflow: visible; 
} 
.desk img 
{ 
    behavior:url(-ms-transform.htc); 
    /* Firefox */ 
    -moz-transform:rotate(45deg); 
    /* Safari and Chrome */ 
    -webkit-transform:rotate(45deg); 
    /* Opera */ 
    -o-transform:rotate(45deg); 
    /* IE9 */ 
    -ms-transform:rotate(45deg); 
    /* IE6,IE7 */ 
    filter: progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476); 
    /* IE8 */ 
    -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"; 

} 

IE6-8 CSS đến từ đây: CSS rotate property in IE

+0

Điều này sẽ hoạt động tốt với những hình ảnh không có các yếu tố trong suốt trong đó! Cảm ơn bạn :) Tôi làm cho sự khác biệt chỉ vì tôi đã kiểm tra các jfiddle trong IE8 và nó đã được chơi địa ngục w/bóng và minh bạch. Đó là IE cho bạn mặc dù. Cảm ơn một lần nữa! – Cynthia

+5

Đây chính là lý do tại sao CSS hút. Thiếu tiêu chuẩn là tiêu chuẩn. – janek37

+0

@ janek37 nó thiếu và rõ ràng trong trường hợp này không có tiêu chuẩn. Nó sẽ là tốt đẹp để có một tiêu chuẩn 'xoay (45deg),' như là một biểu ngữ cho tất cả các trình duyệt cụ thể những người thân. – 23inhouse

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