Slik animerer du strekk med CSS
Dekorert grenser kan pryde ethvert element på siden, men CSS-grenser er begrensede når det gjelder stil. Utviklere møter ofte løsninger som CSS-gradientgrenser, SVG-grenser, flere grenser og mer for å etterligne og oppgradere utseendet på boksgrenser og dets animasjoner.
I dag ser vi på en enklere hack for stiplede grenser: strekket grenseanimasjon. Den animerte stiplede grensen vil bli opprettet ved hjelp av bare omriss
og box-shadow
, etterlater ingen oppstyr om fallbacks siden omriss
støttes fra IE8 og framover. På den måten kan brukeren fortsatt se grensene i motsetning til når SVG eller gradient brukes. Med dette kan du også lage bicolored bindestreker. La oss ta en titt.
Opprette grensene
Vi vil først lage grensene. For dette vil vi bruke en stiplede disposisjon og en bokseskygge.
.bannere disposisjon: 6px dashed yellow; boksskygge: 0 0 0 6px # EA3556; ...
De omriss
vil trenge alle sine verdier; bredde, type og farge. De box-shadow
trenger bare verdien for spredt som skal være det samme som konturens bredde og fargen. Både oversikten og boksskyggen sammen vil skape effekten av tofarget bindestreker.
Du kan deretter justere boksens bredde eller høyde for ønsket kantlinje på hjørnene.
Animerer grensene
For vårt første animasjonseksempel, legger vi CSS-keyframe-animasjoner til et sett med bannere med grenser som animerer kontinuerlig og får oppmerksomhet. For animasjonseffekten bytter vi bare på fargene på oversikten og bokseskyggen.
@keyframes animateBorder til disposisjon-farge: # EA3556; boks-skygge: 0 0 0 6px gul;
Du kan målrette fargene på omrisset ved hjelp av omriss-farge
longhand eiendom, men for boks skygge må du gi alle verdiene til shorthandegenskapen for nå.
Når animasjonen er klar, legg den til i boksen.
.bannere disposisjon: 6px dashed yellow; boks-skygge: 0 0 0 6px # EA3556; animasjon: 1s animateBorder uendelig; ...
Overganger på kantene
For overgangseksemplet legger vi grenser til bilder og animerer dem på hover. Du kan også endre grenseverdien for forskjellige effekter.
.bilder disposisjon: 20px dashed # 006DB5; boks-skygge: 0px 0px 0px 20px # 3CFDD3; overgang: alle 1s; ... .fotografier: svever disposisjon-farge: # 3CFDD3; boks-skygge: 0 0 0 20px # 006DB5;
Nå svinger du over disse bildene for å se dine CSS-stiplede grenser i all sin animerte herlighet.
Og det er en vikle. Du kan prøve å erstatte stiplede grenser med stiplede, men effekten kan ikke være like bra. Du kan også endre oversiktstypen under animasjon for noen flere effekter.