Skip to main content

Snygga till rubrikerna med jQuery

30 Sep 2008 - javascript, jquery

Jag har lagt till en liten söt jQuery-funktion på sandman.net för att snygga till rubrikerna lite. Den är löjligt enkel. Vi börjar med CSS-koden:

H2 { font-family: Helvetica, Arial, sans-serif; color: #333; text-transform: uppercase; font-weight: bold; font-size: 24px; line-height: 28px; } H2 > DIV { color: #336699; line-height: 33px; font-size: 35px; }

Så H2 får ett visst utseende, och sen om det finns en DIV inuti H2:an så får den ett eget utseende. Så koden:

<H2>Snygga till<DIV>rubrikerna med jQuery</DIV></H2>
Ska alltså se ut så här:
Så här ska det se ut

Och här är jQuery-koden som gör det:

$("H2").each(function(text){ var text = $(this).text(); parts = text.split(" "); if (parts.length > 3){ var first = parts[0] + " " + parts[1]; parts.splice(0, 2); var second = parts.join(" "); $(this).html(first + "<div>" + second + "</div>"); } });
Vad den gör är att den helt enkelt kollar om rubriken innehåller fler än tre ord, och om den gör det så tar den alla ord efter dom två första och lägger till en annan stilmall helt enkelt. Det går ju att anpassa efter eget bevåg förstås. Sen om just detta är snyggt är ju upp till var och en att avgöra.

Vill man inte använda jQuery så kan man faktiskt uppnå en liknande effekt med CSS bara, genom att använda pseudo-elementet "first-line". Då ser CSS-koden ut så här:

H2 { font-family: Helvetica, Arial, sans-serif; color: #003366; text-transform: uppercase; font-weight: bold; color: #336699; line-height: 33px; font-size: 35px; } h2::first-line { font-size: 24px; line-height: 28px; color: #333; }
Vad som händer då är att den första raden av rubriken är mindre och i en annan färg, så man ser bara effekten på långa rubriker som går över på två rader. Jag ville helst att det skulle bara vara på de två första orden så jag valde att testa det med jQuery, får se om jag går tillbaka till CSS-metoden bara senare.
Mer i Tutorials
Expos  Stickies
Build MySQLqueries automatically
Mail Processing
Snygga till rubrikerna med jQuery
Min feed
Fixa transparenta PNGbilder i Internet Explorer 6
Rkna tid med PHP
Nyckelord: javascript or jquery
Javascript library converts Flash to HTML5
Skapa snyggare tooltips med jQuery
Snygga till rubrikerna med jQuery
jQuery
Ostkupa
Stranger Things, säsong 5
Första december!
Nordic: The Musical
Livets träd
Myst Book
Web versions of the journals
Predator: Badlands
Myst Book
Selenitic Age
Ny kamera, gammal glöd
Tekoppen
Årets Halloweenfest var mycket lyckad!
Porträtt av t-o-m-u-s-a
Porträtt av u/arielgirle
Profilporträtt
GameConnect
Ny PC!
50 år
Hemma Bäst
Garageuppfart för husbil: Uppfarten är klar!
Ny kamera: Nikon Zf
Hemma Bäst
Garageuppfart för husbil: Massa grus!
The lightsabers are done!
Hemma Bäst
Garageuppfart för husbil: Lagt ut plattor och skyfflat makadam
Hemma Bäst
Garageuppfart för husbil: Grävt och klart!
Hemma Bäst
Pooltak
Nordic: The Musical
Valkyrior
Tekoppen
Kräftskiva och eldfest på Tekoppen!
Lord of the Rings timeline
Alien Timeline
Borta Bra
Snart är det Medeltidsveckan!
Hemma Bäst
Utebar: Pergola
Hemma Bäst
Utebar: Refrigerator and bar stools
Hemma Bäst
Utebar: Cupboard doors
Nordic: The Musical
Lokes Vrede
Hemma Bäst
Garageuppfart för husbil: Garageuppfart för husbil!
Arkad- och flipperkabinett
Robotar
Nordic: The Musical
Blodsbröder
Nordic: The Musical
Midgård
Nordic: The Musical
Himlen brinner
Nordic: The Musical
Orosmoln i Asgård
Nordic: The Musical
Gudarnas spel
Nordic: The Musical
Oändlig kärlek
Update on the lightsaber project
Hemma Bäst
Skåp till Ute-TV
Thåström i Globen
Bröllopspresent
Födelsedagspresent
Borta Bra
Recension: Jacy's
Thåström
Nordic: The Musical
Kunskapens pris
Nordic: The Musical
Allting börjar alltid någonstans
Borta Bra
Recension: Bohusgården Hotell & Konferens
Borta Bra
Recension: Elite Palace