2016-08-17 4 views
0

Ist es möglich, A auf B, B auf C, C auf A mit CSS HTML und JavaScript zu tun?Ist es möglich, A auf B, B auf C, C auf A mit CSS HTML und JavaScript zu tun?

wie folgt aus:

enter image description here

+0

nein, Sie haben mindestens eine der aufzuspalten diese in zwei Teile/Schicht, wobei eine Schicht unterhalb des Stapels und die andere (die Hälfte) oben ist. Wie A am unteren Rand, dann B, dann C und dann eine Kopie von A, die teilweise maskiert ist, um nur den Bereich oben auf dem Stapel abzudecken. – Thomas

+0

Lol, du solltest deine Fragen konstruktiver machen. Ist das möglich? ..... ja in der Tat –

+0

Aber je nach dem konkreten Inhalt Ihrer Ebene * (nur Farbe oder Hintergrundbild) *, können Sie diese maskierte Kopie mit CSS und einem Pseudo-Element erstellen (': after') – Thomas

Antwort

2

In diesem Moment unterstützen nur Chrome verwandeln-style: preserve-3d auf der Pixelebene - statt auf der Elementebene. Da es auf der Pixelebene gemacht wird, können einige Teile des Elements vor einem anderen Element und einige im Hintergrund gerendert werden.

body { 
 
    transform-style: preserve-3d; 
 
} 
 

 
div { 
 
    width: 200px; 
 
    height: 100px; 
 
    line-height: 100px; 
 
    text-align: center; 
 
    position: absolute; 
 
    transform-style: preserve-3d; 
 
} 
 
.A { 
 
    background-color: tomato; 
 
    left: 50px; 
 
    top: 0px; 
 
    transform: rotateY(3deg); /* this does the trick */ 
 
} 
 

 
.B { 
 
    background-color: lightgreen; 
 
    left: 50px; 
 
    top: 0px; 
 
    transform: rotate(120deg); 
 
    transform-origin: center bottom; 
 
} 
 

 
.C { 
 
    background-color: lightblue; 
 
    left: 50px; 
 
    top: 0px; 
 
    transform: rotate(-120deg); 
 
    transform-origin: center bottom; 
 
}
<div class="A">Some fancy text</div> 
 
<div class="B">Some fancy text</div> 
 
<div class="C">Some fancy text</div>

Also, für den Moment, werden Sie beschränkt Tricks verwenden - im Grunde Rendering eines der Elemente als 2 verschiedene Elemente

1

du durch Einfärben intersecions von Formen achive können. Der Schlüssel hier ist overflow: hidden; in Haupt-Formen zu verwenden und mit position: relative; schneidendem Teil gesetzt Hier ist ein Ausschnitt:

.box1 { 
 
    width: 200px; 
 
    height: 200px; 
 
    background: red; 
 
    position: relative; 
 
    top: 40px; 
 
} 
 
.box2 { 
 
    width: 250px; 
 
    height: 250px; 
 
    background: navy; 
 
    border-radius: 0%; 
 
    position: absolute; 
 
    left: 75px; 
 
    top: 50px; 
 
    overflow: hidden; 
 
} 
 
.box3 { 
 
    width: 200px; 
 
    height: 200px; 
 
    background: black; 
 
    position: absolute; 
 
    left: 50px; 
 
    top: 150px; 
 
    overflow: hidden; 
 
} 
 

 
#top-left { 
 
    width: 150px; 
 
    height: 150px; 
 
    background: red; 
 
    position: relative; 
 
    left: -25px; 
 
} 
 

 
#top_right { 
 
    width: 150px; 
 
    height: 150px; 
 
    background: navy; 
 
    position: relative; 
 
    left: 50px; 
 
}
<div class="box1"> 
 
    <div class="box2"> 
 
    <div id="top-left"></div> 
 
    </div> 
 
    <div class="box3"> 
 
    <div id="top_right"></div> 
 
    </div> 
 
</div>

Verwandte Themen