2014-12-04 4 views
19

Also ich bin mit diesem kleinen Problem konfrontiert diesen Code auf iOS zu implementieren, weil ich nicht vertraut bin, wie iOS funktioniert. Ich habe diesen Kreis, den ich auf meiner Website verwende, und er funktioniert perfekt auf Browsern und Android-Geräten, aber wenn es um iOS geht, bricht es zusammen und alle Grades kommen in den Mittelpunkt. Ich werde froh sein, wenn jemand mir auf diesem helfen könnte aus ..Transform funktioniert nicht auf IOS

Die HTML

<div class='circle-container'> 
    <div class="center"> Center </div> 
    <div class="deg90">1</div> 
    <div class="deg315">2</div> 
    <div class="deg0">3</div> 
    <div class="deg110">4</div> 
    <div class="deg135">5</div> 
    <div class="deg180">6</div> 
    <div class="deg225">7</div> 
</div> 

Die CSS:

.circle-container { 
    position: relative; 
    width: 15em; 
    height: 14em; 
    padding: 2.8em; 
    /*2.8em = 2em*1.4 (2em = half the width of a link with img, 1.4 = sqrt(2))*/ 
    border: dashed 0px; 
    border-radius: 50%; 

} 
.circle-container > a { 
    display: block; 
    text-decoration: none; 
    position: absolute; 
    top: 50%; left: 50%; 
    width: 4em; height: 4em; 
    margin: -2em; 

    text-align: center; 
} 

.circle-container div { 
    display: block; 
    text-decoration: none; 
    position: absolute; 
    top: 50%; left: 50%; 
    width: 4em; height: 4em; 
    margin: -2em; 
    text-align: center; 
} 
.circle-container img { display: block; width: 100%; height:320px; position:absolute; margin-left:-25px; margin-top:15px;} 
.deg0 { transform: translate(5.2em); } /* 12em = half the width of the wrapper */ 
.deg45 { transform: rotate(45deg) translate(5.4em) rotate(-45deg); } 
.deg90 { transform: rotate(-90deg) translate(5em) rotate(90deg); } 
.deg110 { transform: rotate(45deg) translate(5em) rotate(-45deg); } 
.deg135 { transform: rotate(135deg) translate(5em) rotate(-135deg); } 
.deg180 { transform: translate(-5em); } 
.deg225 { transform: rotate(225deg) translate(5em) rotate(-225deg); } 
.deg315 { transform: rotate(315deg) translate(5em) rotate(-315deg); } 

Dank ..

+0

Geben Sie Ihren Code in Ihre Frage – Turnip

+0

Danke für die Hilfe, aber ich löste es auf eigene Faust. –

+0

Bitte umgehen Sie nicht die Code-Anforderungen, indem Sie Nicht-Code in Codeblöcke einfügen. ** Fügen Sie den Code in den Text Ihrer Frage ein ** und geben Sie einen Link an, wenn es Ihrer Frage hilft. – esqew

Antwort

2

das Problem gefunden, es war ein dummer. Ich habe -webkit, das für iOS unterstützt wird, nicht verwendet. Im Folgenden wird die gelöst JS Fiddle, wenn jemand es braucht ..

.circle-container { 
    position: relative; 
    width: 15em; 
    height: 14em; 
    padding: 2.8em; 
    /*2.8em = 2em*1.4 (2em = half the width of a link with img, 1.4 = sqrt(2))*/ 
    border: dashed 0px; 
    border-radius: 50%; 

} 
.circle-container > a { 
    display: block; 
    text-decoration: none; 
    position: absolute; 
    top: 50%; left: 50%; 
    width: 4em; height: 4em; 
    margin: -2em; 

    text-align: center; 
} 

.circle-container div { 
    display: block; 
    text-decoration: none; 
    position: absolute; 
    top: 50%; left: 50%; 
    width: 4em; height: 4em; 
    margin: -2em; 
    text-align: center; 
} 
.circle-container img { display: block; width: 100%; height:320px; position:absolute; margin-left:-25px; margin-top:15px;} 
.deg0 { 
    transform: translate(5.2em); 
    -webkit-transform: translate(5.2em); 
    -ms-transform: translate(5.2em); 
} /* 12em = half the width of the wrapper */ 
.deg45 { 
    transform: rotate(45deg) translate(5.4em) rotate(-45deg); 
    -webkit-transform: rotate(45deg) translate(5.4em) rotate(-45deg); 
    -ms-transform: rotate(45deg) translate(5.4em) rotate(-45deg); 
} 
.deg90 { 
    transform: rotate(-90deg) translate(5em) rotate(90deg); 
    -webkit-transform: rotate(-90deg) translate(5em) rotate(90deg); 
    -ms-transform: rotate(-90deg) translate(5em) rotate(90deg); 
} 
.deg110 { 
    transform: rotate(45deg) translate(5em) rotate(-45deg); 
    -webkit-transform: rotate(45deg) translate(5em) rotate(-45deg); 
    -ms-transform: rotate(45deg) translate(5em) rotate(-45deg); 
} 
.deg135 { 
    transform: rotate(135deg) translate(5em) rotate(-135deg); 
    -webkit-transform: rotate(135deg) translate(5em) rotate(-135deg); 
    -ms-transform: rotate(135deg) translate(5em) rotate(-135deg); 
} 
.deg180 { 
    transform: translate(-5em); 
    -webkit-transform: translate(-5em); 
    -ms-transform: translate(-5em); 
} 
.deg225 { 
    transform: rotate(225deg) translate(5em) rotate(-225deg); 
    -webkit-transform: rotate(225deg) translate(5em) rotate(-225deg); 
    -ms-transform: rotate(225deg) translate(5em) rotate(-225deg); 
} 
.deg315 { 
    transform: rotate(315deg) translate(5em) rotate(-315deg); 
    -webkit-transform: rotate(315deg) translate(5em) rotate(-315deg); 
    -ms-transform: rotate(315deg) translate(5em) rotate(-315deg); 
} 
+4

FYI es ist beste Praxis, die nicht vorfixierte Version zuletzt zu platzieren. Wenn dies nicht der Fall ist, verwendet Chrome zum Beispiel die Version "-webkit-", obwohl diese nicht mehr benötigt wird. Da Präfixe verwendet werden, wenn eine Eigenschaft noch experimentell ist, können die endgültige Version und die vorfixierte Version andere Ergebnisse liefern. – Turnip

+0

@ uʍopǝpısdn Fügt die '-moz-' und '-o-' notwendig hinzu? Sind sie für Firefox bzw. Oper? – IcyFlame

44

iOS safari erfordert noch Browser-Präfixe für transform

DUPLIZIEREN

.deg0 { 
    -webkit-transform: translate(5.2em); 
    transform: translate(5.2em); 
} 

Beispiel alle Ihre Transformationen und fügen -webkit- Präfix-Version vor

Working demo

+1

Danke für die Hilfe Kumpel .. –

+1

Sie schlagen mich auch es :) .Sie sollten Ihre Antwort als richtig markieren, wenn Sie erlaubt sind – Turnip

+1

Ja werde ich, danke .. –

2

Ein anderes mögliches Problem hier (wenn iOS scheint, eine Transformation zu ignorieren) ist ein Fehler in einigen Versionen von iOS, wo Rotationen, die ein exaktes Vielfaches von 90 Grad sind, ignoriert werden.

Die Lösung, die für mich funktionierte, war eine Transformation von 89,9 Grad stattdessen (89,9 Grad arbeitete wie erwartet; 90 Grad erzeugt überhaupt keine Rotation). Nicht ideal, aber in meinem Fall war der Unterschied nicht bemerkbar.