2012-08-06 8 views
33

私は主なコンテンツ領域を持っているサイトレイアウトを持っていますし、 のコンテンツエリアの四隅のそれぞれにコーナーグラフィックがあります。 全体の効果は、デスク・ブロッターの効果です。CSSを使用して画像を回転するクロスブラウザの方法ですか?

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

むしろ4つの個別のコーナー画像を作るよりも、私は、元の画像を使用している(可能であれば) をしたいと思っ(corner.png:ここ

は私の左上隅のコードです)、それを CSSを使用して回転させます。

これを行うにはクロスブラウザ対応の方法はありますか?

多くの感謝!

+3

をGoogle検索は、あなたの答え与えているだろうします。http://解答.oreilly.com/topic/1004-how-to-rotate-an-image-with-css/ – xbonez

+3

私はまずGoogleを検索しました。このリンクは、検索した結果の最初の10 *ページ*のどこにも表示されませんでした(検索用語は「css rotate background image」でした)。私が見た例の多くはクロスブラウザと互換性がないため、ここに来ました。しかしリンクのThx。 – Cynthia

+0

IE 7とIE 8ではCSS変換が機能しないので、4つの異なる画像を使用する方がよいでしょう。 –

答えて

53

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

45度回転するCSS:

.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はここから来た:CSS rotate property in IE

+0

透明な要素を持たない画像ではうまくいくでしょう!ありがとうございました:)私はIE8でjfiddleを確認しただけで、その区別をしています。それはあなたのためのIEです。再度、感謝します! – Cynthia

+5

これはCSSがうんざりする理由です。標準の欠如が標準です。 – janek37

+0

@ janek37この場合は欠落しており、明示的には基準がありません。すべてのブラウザ固有のバナーとして標準の 'rotate(45deg);を使うのはいいでしょう。 – 23inhouse

関連する問題