2012-08-06 12 views
33

मेरे पास एक साइट लेआउट है जिस पर मैं काम कर रहा हूं जिसमें मुख्य सामग्री क्षेत्र है और फिर सामग्री क्षेत्र के चार कोनों में से प्रत्येक पर कोने ग्राफ़िक बैठता है। समग्र प्रभाव एक डेस्क ब्लॉटर का है।सीएसएस का उपयोग कर छवि घुमाने के लिए क्रॉस ब्राउज़र तरीका?

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

चार अलग-अलग कोने छवियों बनाने के बजाय, मैं क्या करने के लिए (यदि संभव हो) मूल छवि का उपयोग करें चाहते हैं (corner.png:

यहाँ मेरी ऊपरी बाएं कोने के लिए कोड है) और सीएसएस का उपयोग करके इसे घुमाएं।

क्या ऐसा करने के लिए एक क्रॉस ब्राउज़र संगत तरीका है?

बहुत धन्यवाद!

+3

एक गूगल खोज आप अपने जवाब दिया होता: http: // जवाब .oreilly.com/topic/1004-how-to-rotate-an-image-with-css/ – xbonez

+3

मैंने पहले Google को खोजा था। उस लिंक को मैंने देखा कि परिणामों के पहले 10 * पृष्ठों * में कहीं भी नहीं दिखाया गया था (खोज शब्द 'सीएसएस घुमावदार पृष्ठभूमि छवि' था)। चूंकि मैंने देखा कि कई उदाहरण क्रॉस ब्राउज़र संगत नहीं थे, इसलिए मैं यहां आया था। हालांकि लिंक के लिए Thx। – Cynthia

+0

आप 4 अलग-अलग छवियों का बेहतर उपयोग करेंगे क्योंकि सीएसएस ट्रांसफॉर्म आईई 7 और आईई 8 में काम नहीं करेगा। –

उत्तर

53

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

सीएसएस 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 rotate property in IE

+0

यह उन छवियों के साथ बढ़िया काम करेगा जिनके पास कोई पारदर्शी तत्व नहीं है! धन्यवाद :) मैं केवल उस भेद को इसलिए बनाता हूं क्योंकि मैंने IE8 में jfiddle की जांच की थी और यह नरक w/छाया और पारदर्शिता खेल रहा था। हालांकि यह आपके लिए आईई है। एक बार फिर धन्यवाद! – Cynthia

+5

यही कारण है कि सीएसएस बेकार है। मानकों की कमी मानक है। – janek37

+0

@ janek37 इसकी कमी है और स्पष्ट रूप से इस मामले में कोई मानक नहीं है। एक मानक 'घुमाने (45deg) होना अच्छा होगा; 'सभी ब्राउज़र विशिष्ट लोगों के लिए बैनर के रूप में। – 23inhouse