Suosittu suunnittelutekniikka on luoda paperiarkille näyttävä sisältösäiliö ja pinota muut paperiarkit sen alle lisäämällä kerrostettu tai kolmiulotteinen tyyli. Voimme luoda tämän vaikutuksen käyttämällä suoraan ylöspäin CSS: ää, mutta voimme harkita useita pinottuja paperimalleja. Toimitamme katkelmia erityisesti neljälle.
Pystysuora paperipino pohjassa
Ajatuksena on, että sisältösäiliömme on ylin paperiarkki ja sen alle pinotaan lisää arkkia siten, että niiden reunat näkyvät ylemmän arkin alaosassa.
Katso Code Pen -kynän pinotun paperitehosteen - pystysuora CSS-Tricks (@ css-tricks) avulla.
.paper ( background: #fff; box-shadow: /* The top layer shadow */ 0 1px 1px rgba(0,0,0,0.15), /* The second layer */ 0 10px 0 -5px #eee, /* The second layer shadow */ 0 10px 1px -4px rgba(0,0,0,0.15), /* The third layer */ 0 20px 0 -10px #eee, /* The third layer shadow */ 0 20px 1px -9px rgba(0,0,0,0.15); /* Padding for demo purposes */ padding: 30px; )
Pystysuora paperipino päälle
Tämä on sama käsite kuin viimeinen, mutta paperipino paljastuu astian yläosassa pohjan sijasta. Ainoa ero tässä on, että olemme sijoittaneet box-shadow
ominaisuuden uudelleen .paper
elementille negatiivisten numeroiden avulla.
Katso CSS-Tricksin (@ css-tricks) kynän pinottu paperitehoste - pystysuora yläosa CodePenistä.
.paper ( background: #fff; box-shadow: /* The top layer shadow */ 0 -1px 1px rgba(0,0,0,0.15), /* The second layer */ 0 -10px 0 -5px #eee, /* The second layer shadow */ 0 -10px 1px -4px rgba(0,0,0,0.15), /* The third layer */ 0 -20px 0 -10px #eee, /* The third layer shadow */ 0 -20px 1px -9px rgba(0,0,0,0.15); /* Padding for demo purposes */ padding: 30px; )
Diagonaalinen paperipino
Tämä on hiukan erilainen menetelmä, jossa käytämme ::before
ja ::after
pseudoelementtejä ylimääräisten paperiarkkien luomiseen box-shadow
aikaisemmissa esimerkeissä käytetyn tekniikan sijaan .
Katso Code Pen -kynän pinotun paperitehosteen - diagonaali CSS-Tricks (@ css-tricks).
/* Diagonal stacked paper effect */ .paper ( background-color: #fff; /* Need position to allow stacking of pseudo-elements */ position: relative; /* Padding for demo purposes */ padding: 30px; ) .paper, .paper::before, .paper::after ( /* Add shadow to distinguish sheets from one another */ box-shadow: 2px 1px 1px rgba(0,0,0,0.15); ) .paper::before, .paper::after ( content: ""; position: absolute; width: 100%; height: 100%; background-color: #eee; ) /* Second sheet of paper */ .paper::before ( left: 7px; top: 5px; z-index: -1; ) /* Third sheet of paper */ .paper::after ( left: 12px; top: 10px; z-index: -2; )
Järjestämätön paperipino
Voimme porrastaa paperiarvot tarkoituksellisen sotkuisen ilmeen luomiseksi käyttämällä samanlaista tekniikkaa pseudoelementeillä kuin viimeinen esimerkki, vaikka transform
ominaisuutta käytettäisiin kiertämään alla olevia paperiarkkia. Tässä esimerkissä oletetaan, että käytetään Autoprefixer-sovellusta tai että etuliitteitä käytetään transform
ominaisuudelle, jossa selaintuki voi heikentyä.
Katso Kynän pinottu paperitehoste - Messy by CSS-Tricks (@ css-tricks) CodePenissä.
.paper ( background: #fff; padding: 30px; position: relative; ) .paper, .paper::before, .paper::after ( /* Styles to distinguish sheets from one another */ box-shadow: 1px 1px 1px rgba(0,0,0,0.25); border: 1px solid #bbb; ) .paper::before, .paper::after ( content: ""; position: absolute; height: 95%; width: 99%; background-color: #eee; ) .paper::before ( right: 15px; top: 0; transform: rotate(-1deg); z-index: -1; ) .paper::after ( top: 5px; right: -5px; transform: rotate(1deg); z-index: -2; )