का उपयोग करके एक बॉक्स फ्लैप ओपन इफेक्ट बनाना, मैंने संक्रमणों का उपयोग करके इस प्रभाव को बनाने की कोशिश की। ऐसा लगता है कि आप एक बॉक्स खोल रहे हैं।केवल सीएसएस
- जिस क्रम में बॉक्स बंद कर देता है के रूप में जिसमें यह खोलता ही है:
2 समस्याएं हैं। क्या इसके खोलने के विपरीत क्रम में बॉक्स को बंद करने के लिए वैसे भी है ताकि बॉक्स उसी स्थिति में वापस जा सके जब यह बंद हो गया था?
- लाल और नीले रंग के फ्लैप्स की वजह से संक्रमण के दौरान हरे और पीले रंग के फ्लैप्स के सिरों को छुपाया जाता है, इसलिए यह 3 डी नहीं दिखता है। क्या कोई तरीका है कि मैं 3 डी तरीके से सभी फ्लैप्स दिखा सकता हूं?
अगर समाधान शुद्ध सीएसएस में था मैं पसंद करेंगे, कोई जावास्क्रिप्ट करें।
#box {
position: relative;
top: 170px;
left: 170px;
width: 300px;
height: 300px;
border: 1px solid black;
perspective: 800px;
}
#flap1, #flap2, #flap3, #flap4 {
position: absolute;
}
#flap1 {
background-color: red;
width: 150px;
height: 300px;
z-index: 1;
transform-origin: 0 0;
transition: transform 1s;
}
#flap2 {
left: 150px;
background-color: blue;
width: 150px;
height: 300px;
z-index: 1;
transform-origin: 100% 0;
transition: transform 1s ease 0.3s;
}
#flap3 {
background-color: green;
width: 300px;
height: 150px;
transform-origin: 0 0;
transition: transform 1s ease 0.6s;
}
#flap4 {
background-color: yellow;
top: 150px;
width: 300px;
height: 150px;
transform-origin: 0 100%;
transition: transform 1s ease 0.9s;
}
#box:hover #flap1{
transform: rotateY(-170deg);
}
#box:hover #flap2{
transform: rotateY(170deg);
}
#box:hover #flap3{
transform: rotateX(170deg);
}
#box:hover #flap4{
transform: rotateX(-170deg);
}
<html>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="box">
<div id="flap1"></div>
<div id="flap2"></div>
<div id="flap3"></div>
<div id="flap4"></div>
</div>
</body>
</html>
1. मुझे लगता है कि आप नहीं कर सकते। बस एक और कक्षा या कुछ जोड़ें। 2।आप सीएसएस 3 ['परिप्रेक्ष्य'] का उपयोग कर सकते हैं (http://www.w3schools.com/cssref/css3_pr_perspective.asp) –