Star Wars-kruiptekst | CSS-trucs (2024)

De opening van Star Wars is iconisch. Het effect van tekst die zowel naar boven als van het scherm af rolde, was zowel een gek cool speciaal effect voor een film in 1977 als een coole typografische stijl die in die tijd gloednieuw was.

We kunnen een soortgelijk effect bereiken met HTML en CSS! Dit bericht gaat meer over hoe je dat glijdende teksteffect kunt krijgen in plaats van te proberen de volledige Star Wars-openingsreeks opnieuw te maken of de exacte stijlen die in de film worden gebruikt te matchen, dus laten we naar een plek gaan waar dit het uiteindelijke resultaat is:

Zie de penStar Wars-introdoor Geoff Graham (@geoffgraham) opCodePen.

De basis-HTML

Laten we eerst HTML instellen voor de inhoud:

Aflevering IV

Een nieuwe hoop

< p>Het is een periode van burgeroorlog. Rebellenruimteschepen, aanvallend vanuit een verborgen basis, hebben hun eerste overwinning behaald tegen het boosaardige Galactische Rijk.

Tijdens het gevecht slaagden rebellenspionnen erin om geheime plannen te stelen voor het ultieme wapen van het rijk, de DEATH STAR, een gepantserde ruimtestation met genoeg kracht om een ​​hele planeet te vernietigen.

Prinses Leia wordt achtervolgd door de sinistere agenten van het rijk en racet naar huis aan boord van haar ruimteschip, bewaarder van de gestolen plannen die haar volk kunnen redden en de vrijheid in de melkweg kunnen herstellen...

Dit geeft ons alle stukken die we nodig hebben:

  • Een container beldesterrenoorlogendie we zullen gebruiken om de inhoud te positioneren. Dit is ook nodig omdat we deperspectiefCSS-eigenschap, waarbij het hebben van een bovenliggend element een handige manier is om diepte toe te voegen of die van een onderliggend element scheef te trekkentransformereneigendom.
  • Een container beldekruipendat zal de daadwerkelijke tekst bevatten en het element zijn waarop we de CSS-animatie toepassen.
  • De inhoud!

Het is je misschien opgevallen dat de filmtitel is verpakt in een extraatje

container genoemdtitel. Dit is niet nodig, maar kan u extra stylingopties bieden als u ze nodig heeft.

De basis-CSS

De truc is om je een driedimensionale ruimte voor te stellen waar de tekst verticaal omhoog kruiptY-asen langs deZ-as. Dit wekt de indruk dat de tekst tegelijkertijd over het scherm schuift en van de kijker weg is.

Star Wars-kruiptekst | CSS-trucs (1)

Laten we eerst het document instellenzodat het scherm niet verschuifbaar is. We willen dat de tekst vanaf de onderkant van het scherm omhoog komt zonder dat de kijker kan scrollen en de tekst kan zien voordat deze binnenkomt. We kunnen gebruikenoverloop verborgenom dat te doen:

body { /* Dwing de body om het hele scherm te vullen */ width: 100%; hoogte: 100%; /* Verberg elementen die buiten de zichtbare ruimte stromen */ overflow: hidden; /* Zwarte achtergrond voor het scherm */ achtergrond: #000;}

Nu kunnen we verder gaan met het stylen van onzesterrenoorlogencontainer, het bovenliggende element voor onze demo:

.star-wars { /* Flexbox om het hele element op het scherm te centreren */ display: flex; rechtvaardigen-inhoud: centrum; /* Dit is een magisch getal gebaseerd op de context waarin dit fragment wordt gebruikt en beïnvloedt het perspectief */ height: 800px; /* Deze set stelt ons in staat om de tekst op een 3D-vlak te transformeren, en is enigszins een magisch getal */ perspectief: 400px; /* De rest is helemaal aan persoonlijke stijlvoorkeuren */ kleur: #feda4a; lettertypefamilie: 'Pathway Gothic One', schreefloos; lettergrootte: 500%; lettergewicht: 600; letterafstand: 6px; regelhoogte: 150%; text-align: rechtvaardigen;}

Vervolgens kunnen we stijlen toepassen op dekruipenelement. Nogmaals, dit element is belangrijk omdat het de eigenschappen bevat die de tekst transformeren en animeren.

.crawl { /* Positioneer het element zodat we de eigenschap top in de animatie kunnen aanpassen */ position: relative; /* Ervoor zorgen dat de tekst aan het begin en einde van de animatie volledig buiten beeld is */ top: -100px; /* Definieert de schuine oorsprong in het midden wanneer we transformaties toepassen op de animatie */ transformatie-oorsprong: 50% 100%;}

Tot nu toe hebben we een mooie hoeveelheid tekst, maar deze is niet scheef of geanimeerd. Laten we dat mogelijk maken.

Animatie!

Dit is waar je echt om geeft, toch? Eerst gaan we de definiëren@sleutelframesvoor de animatie. De animatie doet iets meer dan animeren voor ons, omdat we onze gaan toevoegentransformereneigenschappen hier, met name voor de beweging langs deZ-as. We beginnen de animatie om0%waar de tekst het dichtst bij de kijker staat en zich onder het scherm bevindt, uit het zicht, beëindig dan de animatie op100%waar het ver weg is van de kijker en omhoog en over de bovenkant van het scherm stroomt.

/* We noemen deze animatie "crawl" */@keyframes crawl { 0% { /* Het element begint onder het scherm */ top: 0; /* Roteer de tekst 20 graden maar houd hem dicht bij de kijker */ transform: rotationX(20deg) translateZ(0); } 100% { /* Dit is een magisch getal, maar gebruik een groot getal om ervoor te zorgen dat de tekst aan het einde volledig van het scherm af is */ top: -6000px; /* De rotatie aan het einde iets verhogen en de tekst ver weg van de kijker verplaatsen */ transform: rotationX(25deg) translateZ(-2500px); }}

Laten we die animatie nu toepassen op de.kruipenelement:

.crawl { /* Positioneer het element zodat we de eigenschap top in de animatie kunnen aanpassen */ position: relative; /* Definieert de schuine oorsprong in het midden wanneer we transformaties toepassen op de animatie */ transformatie-oorsprong: 50% 100%; /* Voegt de crawl-animatie toe, die gedurende één minuut wordt afgespeeld */ animatie: crawl 60s lineair;}

Leuke tijden met fijnafstemming

Je kunt wat meer plezier hebben met dingen als het hoofdeffect eenmaal op zijn plaats is. We kunnen bijvoorbeeld een kleine vervaging aan de bovenkant van het scherm toevoegen om het effect te accentueren van de tekst die in de verte wegkruipt:

.fade { positie: relatief; breedte: 100%; min-hoogte: 60vh; bovenaan: -25px; achtergrondafbeelding: lineair verloop (0 graden, transparant, zwart 75%); z-index: 1;}

Voeg dat element toe aan de bovenkant van de HTML en de tekst zal achter een verloop lopen dat van transparant naar dezelfde achtergrond gaat als de:

Het volledige voorbeeld

Hier is de volledige code van dit bericht bij elkaar gebracht.

Aflevering IV

Een nieuwe hoop

Het is een periode van burgeroorlog. Rebellenruimteschepen, aanvallend vanuit een verborgen basis, hebben hun eerste overwinning behaald tegen het boosaardige Galactische rijk.

Tijdens het gevecht slaagden rebellenspionnen erin om geheime plannen te stelen voor het ultieme wapen van het rijk, de DEATH STAR, een gepantserde ruimtestation met genoeg kracht om een ​​hele planeet te vernietigen.

Prinses Leia wordt achtervolgd door de sinistere agenten van het rijk en racet naar huis aan boord van haar ruimteschip, bewaarder van de gestolen plannen die haar mensen kunnen redden en de vrijheid in de melkweg kunnen herstellen...

lichaam { breedte: 100%; hoogte: 100%; achtergrond: #000; overloop: verborgen;}.fade { positie: relatief; breedte: 100%; min-hoogte: 60vh; bovenaan: -25px; achtergrondafbeelding: lineair verloop (0 graden, transparant, zwart 75%); z-index: 1;}.star-wars {weergave: flex; rechtvaardigen-inhoud: centrum; positie: relatief; hoogte: 800px; kleur: #feda4a; lettertypefamilie: 'Pathway Gothic One', schreefloos; lettergrootte: 500%; lettergewicht: 600; letterafstand: 6px; regelhoogte: 150%; perspectief: 400px; text-align: rechtvaardigen;}.crawl { positie: relatief; boven: 9999px; transformatie-oorsprong: 50% 100%; animatie: crawl 60s lineair;}.crawl > .title { lettergrootte: 90%; text-align: center;}.crawl > .title h1 { margin: 0 0 100px; text-transform: hoofdletters;}@keyframes crawl { 0% { top: 0; transformeren: roterenX(20graden) vertalenZ(0); } 100% { boven: -6000px; transformeren: roterenX(25graden) translateZ(-2500px); }}

Andere voorbeelden

Sommige andere mensen hebben meer getrouwe weergaven van de Star Wars-opening gemaakt met andere technieken dan degene die hier in dit bericht worden behandeld.

Team Pietruskyheeft een prachtig georkestreerde versie met behulp vanbovenkantvoor de beweging enondoorzichtigheidom het vervagende effect te creëren:

Zie de penStar Wars openingscrawl uit 1977door Tim Pietrusky (@TimPietrusky) opCodePen.

Ukeleletoepassingenmargeom de langs het scherm te verplaatsen:

Zie de penPure CSS Star Wars openingscrawldoor Yukulele (@yukulele) opCodePen.

wortelstoepassingentransformerenlijkt veel op dit bericht, maar vertrouwt meer opVertalenYom de tekst langs de te verplaatsenY-as.

Zie de penStar Wars-crawldoor Karottes (@wortels) opCodePen.

Star Wars-kruiptekst | CSS-trucs (2024)

FAQs

What is the font used in the Star Wars intro? ›

The opening crawl is a hive of font intrigue. The new Star Wars films use a version of News Gothic for the title of each film and for the crawl text itself.

What is the Star Wars text language? ›

Aurebesh is an alphabet used to represent spoken Galactic Basic (i.e. English) and is the most commonly seen form of written language in the Star Wars franchise; its letters correspond to each English letter, plus certain English digraphs.

How to scroll text in CSS? ›

CSS Horizontal Scrolling Text: Right-to-Left

To make text scroll right-to-left, place it inside a div with the id scroll-text . This element will move inside its container div, scroll-container . The HTML, scroll animation CSS, and output are shown below.

What were the first words spoken in Star Wars 1977? ›

The first word spoken in 1977's Star Wars is “did” (C-3PO's opening line to R2-D2 is, “Did you hear that?”), the first word in 1980's Empire Strikes Back is “echo” (Luke says, “Echo 3 to Echo 7,” into his communicator), and the first word in 1983's Return of the Jedi is “command” (an Imperial officer alerts the in- ...

What font is 1977 Star Wars? ›

Typefaces. Opening crawl and titles designed by Dan Perri for the 1977 epic space opera film Star Wars, written and directed by George Lucas. The “A long time ago” titlecard, opening crawl and end titles are set in Trade Gothic Bold No. 2.

How do I make text scrollable? ›

You may use the <marquee> tag in HTML to generate scrolling text, or you can use CSS marquees(the recommended method) to create scrolling text. You can make your text scroll from right to left. You can make it scroll left to right. You can make it bounce back and forth.

Top Articles
Latest Posts
Article information

Author: Kerri Lueilwitz

Last Updated:

Views: 6399

Rating: 4.7 / 5 (67 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Kerri Lueilwitz

Birthday: 1992-10-31

Address: Suite 878 3699 Chantelle Roads, Colebury, NC 68599

Phone: +6111989609516

Job: Chief Farming Manager

Hobby: Mycology, Stone skipping, Dowsing, Whittling, Taxidermy, Sand art, Roller skating

Introduction: My name is Kerri Lueilwitz, I am a courageous, gentle, quaint, thankful, outstanding, brave, vast person who loves writing and wants to share my knowledge and understanding with you.