sIFR Titels vervangen met Flash
Scalable Inman Flash Replacement
sIFR is een manier om je titels - meestal <h1> tot <h6> te vervangen door een Flash afbeelding. Iedereen weet wel dat je een image-replacement kunt doen, maar dat er - eigenlijk weinig - nadelen aan zijn.
Het voordeel hiervan is dat als de gebruiker geen JavaScript heeft aanstaan of geen Flash aanwezig is de normale tekst getoond wordt zoals bij screenreaders, en bij een normale browser waar JavaScript ( voor het detecteren of Flash aanwezig is ) wél aanstaat - buiten die extreme veiligheidsmaniakken - zal de tekst vervangen worden door aparte letters via Flash.
Nog een voordeel van dit gehele gebeuren is dat je om het even welk lettertype kunt gebruiken, je bezoeker hoeft dit lettertype niet op zijn computer te hebben.
Wanneer sIFR gebruiken?
Om 8 uur s’morgens Je kan altijd gebruik maken van sIFR, indien Javascript niet aanstaat én er geen Flash aanwezig is op de computer van je bezoeker zal de gewone styling van je headings getoond worden, je bezoeker heeft er geen weet van omdat het juist allemaal zo razendsnel gaat.
Hoewel het mogelijk is om gehele paragrafen te vervangen via sIFR is het niet aangeraden, hoofzakelijk is het bedoeld om headings te vervangen.
sIFR neemt de ingestelde height, line-height, font-size over van de reeds ingestelde CSS, niet de kleur of achtergrondkleur, zie onderaan.
Hoe kan ik sIFR gebruiken?
Ja daarover zal dit gehele artikel eigenlijk gaan, wou eerst een beetje info meegeven.
Onlangs moest ik voor een opdracht headings vervangen door sIFR, ik had dit nog nooit gedaan en wist bijlange niet hoe het geheel in zijn werk ging dus maar de gehele - Engelse - handleiding doorgenomen wat een toch wel lange handleiding bleek te zijn. Maar wat zou Gigadesign zijn zonder daar weer een verkorte beknopte in details geschreven handleiding voor te maken, in het Nederlands ?
Het was alsof ik weer in mijn beginnersschoenen stond, stap voor stap alles doen, en meeste verrast was ik toen het daadwerkelijk werkte, vanaf de eerste keer.
Wat moet je doen
Materiaal en ingredienten
- een programma om .fla bestanden te bewerken en .swf te exporteren, dus een Flash programma
- een reeds gestylde website met CSS
- eventueel een CSS voor printen te ondersteunen
- de bestanden voor sIFR 2.0.2
Eerst en vooral
Moeten je te vervangen headings reeds gestyled zijn via CSS om te voorkomen dat mensen zonder Flash en JavaScript een behoorlijk messed-up website te zien krijgen.
In de sIFR bestanden die je hebt gedownload zit een sIFR-print.css en een sIFR-screen.css, voeg de inhoud van deze bestand toe aan je reeds bestaande CSS - screen en print, of alleen screen - bestanden. Verzeker jezelf ervan dat ook screen voorkomt in de verwijzing naar je CSS bestand:
<link rel="stylesheet" type="text/css" href="uw_ccs_bestand.css" media=”screen” />
Flash movie aanmaken
In de gedownloade map zal je een .fla bestand zien, het is belangrijk dat je het bestand opent waar het zich bevindt in de download map, niet eerst naar je website kopieren en dan openen. Er staan belangrijke bestanden zoals customize_me.as en dont_customize_me.as in de download map die ervoor zorgen dat je de .fla exporteerd naar een .swf met alle belangrijke informatie.
Open dit met je favoriete ik-maak-een-flash-movie programma en je zal dit zien:

Klik nu 2 maal in het leeg gebied en je zal dit zien:

Als je nu nogmaals op de tekst in het vakje klikt zal normaal gezien de tekst-properties te voorschijn komen ( klik op de afbeelding ):
Nu kan je naar wens instellen, je gewenste lettertype, of het vet of italic moet zijn, van de rest blijf je beter af, kleur instellen heeft geen zin alsook niet het instellen van de lettergrootte. Exporteer nu dit alles, zorg ervoor dat je als Flash6 exporteert, en geef je .swf bestand de naam van het lettertype - verdana, Blade, Lucia, Frutiger etc … - en sla het dan op in je website.
Het JavaScript gedeelte
Kopieer het bestand sifr.js uit de download map naar je website en voeg de verwijzing ernaar toe aan je website:
<script src="pad_naar/sifr.js" type="text/javascript"></script>
Open het in je favoriete letterkes-tijpen-programma en ga naar helemaal onderaan waar je volgende code ziet staan:
if(typeof sIFR == "function" && !sIFR.UA.bIsIEMac){
sIFR.setup();
};
De handleing die ik zal geven beperkt zich tot het normaal functioneren van sIFR, er zijn meerder mogelijkheden.
Nu kan je daar aan toevoegen welk element je wenst te vervangen door Flash, waar het .swf bestand staat, welk de letterkleur moet zijn en welk de achtergrondkleur moet zijn.
if(typeof sIFR == "function" && !sIFR.UA.bIsIEMac){
sIFR.replaceElement("h1.foo", named({sFlashSrc: "./je_lettertype.swf", sColor: "#004677", sBgColor: "#CACACA"}));
sIFR.setup();
};
Als je een heading <h1> hebt met de class=foo zal deze aangesproken worden, je kan dit ook veranderen in een ID, als je een descendant selector wilt gebruiken moet het op volgende manier gescreven worden:
- Normaal doe je zus:
#foo h1.blaat - zie je de spatie ?
- Nu doe je zo:
#foo>h1.blaat - nu niet meer, maar met extra teken: >
Staat je lettertype_naam.swf in dezelfde map als je sifr.js, dan moet je niets veranderen aan het pad, staat je lettertype één map dieper - bv. letters - verander dan het pad naar ./map_naam/je_lettertype.swf, zie je de eerste punt en slash ?, héél belangrijk !!
sColor en sBgColor staan respectievelijk voor : letterkleur en achtergrondkleur, hoewel gezegd moet worden dat de achtergrondkleur standaard bij sIFR wit is, dus je zal dit wel willen aanpassen. Voor alle zekerheid schrijf de hex waarde volluit, niet in shorthand techniek.
Het stylen naderhand
In je CSS heb je nu de extra bepalingen staan voor de sIFR en er staan comments bij, dus navigeer nu naar de “decoy-styles” en haal de headings weg die je niet gebruikt, laat enkel diegene staan die je wilt gebruiken en pas deze aan, dus zet de volledige styling die je wenst erbij.
Verzeker je ervan dat je de specifiteit in het oog houd.
Dat wil zeggen dat als je dit gebruikt voor je <h1>:
#foo div h1.blaat
Je deze aanduiding aanhoud voor je .sIFR-hasFlash h1 bepaling, met andere woorden ik zal het je tonen:
#foo div h1.blaat wordt .sIFR-hasFlash #foo div h1.blaat.
Een voorbeeld misschien ? en slot woord
Op deze pagina kan je een voorbeeld van deze methode zien.
Na het schrijven van dit artikel ga ik naar bed ben ik waarachtig verrast dat het eigenlijk ook héél véél is, maarja t’is in’t Nederlands hé ?
Met dank aan Bart om mij voor deze uitdaging te zetten en mij aan te sporen dit artikel te schrijven.
Heb je er iets aan, laat het maar weten in de reacties, vindt je dit artikel rotslecht en wil je op het kruisje duwen bovenaan rechts ? Doe het !! NU.
Gelezen: 10184 | Styling, Javascript, XHTML, CSS
Trackback/Pingbacks
- mister Superb » Blog Archive » sIFR replacement technique
Reacties op: sIFR Titels vervangen met Flash
-
sIFR is niét ter vervanging van de traditionele image replacement.
Image replacement: ideaal voor vaste titels. Maar wat als je titels uit een database, uit een Content Management Systeem komen? Dan kan je geen beeld op voorhand klaarmaken…
Enter sIFR.
-
Met het voordeel van sIFR heb je een punt
-
Je schrijft: “zal de tekst vervangen worden door aparte letters via Flash”
Aparte letters? Als ik het zo lees is het net of voor elke letter een flashje word geladen.Overigens voor mensen die het liever bij afbeeldingen houden dit kan ook met afbeeldingen in combinatie met JavaScript en PHP.
-
Kijk eens naar de voorbeeld pagina, je kan de tekst letter voor letter selecteren.
In een Flash kan je geen letters selecteren !!
-
sIFR is leuk, maar gebruik het niet voor alles, want dan duurt het laden langer en gaat het scrollen in sommige browsers langzamer.
Bart, heb je weleens op Geenstijl gekeken? Daar gebruiken ze sIFR ook.
-
In Flash kan je wel letters selecteren, zo is de Flash code die gebruikt word in sIFR ontworpen.
Als je de JavaScript output bekijkt zie dat er in totaal maar twee flash bestanden worden geladen, voor beide koppen één.
GeenStijl is idd een heel mooi voorbeeld van hoe sIFR werkt.
Hier kan je ook zien hoe het met selecteren zit, je moet voor de koppen apart selecteren. Je kan niet de koppen en de tekst los selecteren.
-
@Markei: wat ik eigenlijk wou zeggen is dat elke originele letter apart wordt vervangen door een Flash-letter, samen gecombineerd in één Flash-movie ( or whatever ).
Toen ik zei dat je geen letters kunt selecteren in een Flash movie bedoelde ik Flash movies, dus niet sIFR wat jij wel aanhaald.
-
@Mark:
je kunt in Flash prima letters selecteren;
a_txt.selectable = true;
That’s all it takes
Kijk overigens ook eens op A List Apart voor een oplossing zonder Flash (mijns inziens een betere)
-
Knap en handig, ga hier zeker eens werk van maken.
Overigens, ook je laatste bewering dat Flash-tekst niet selecteerbaar is, klopt niet. kijk bv. hier maar: http://www.buscemi.be
-
Okee, ik ben overtuigd dat het wel kan, bedankt voor het op te helderen
-
als je in flash je textveld eigenschappen aanpast :
Op “dynamic text” zetten in plaats van “static text” maakt de tekst al selecteerbaar.sIFR ziet er overigens erg handig uit , want ik gebruik veel content management (met dus dynamische titels).
Ik ga het dadelijk even uittesten !
-
ik heb alles gevolgd, alleen hij laat nu twee keer de titel zien. 1x in de sifr stijl, en 1 keer gewoon normaal. Hoe los ik dit op?
-
Hey ik heb hier even mee zitten kloten en het werkt aardig…
‘k zou alleen graag de ’sBgColor’ transparant willen hebben, hoe kan ik dit doen?
-
Achtergrond transparant maken:
sBgColorvervangen door:
sWmode: "transparent"Dan is je achtergrond transparant.
-
Enorm bedankt, ik kwam er niet uit met de oorspronkelijke handleiding!
-
Tophandleiding.
De meegevoegde instructies zijn mij een tikkeltje te wazig, deze is een stuk beter.
Chapeau!
-
Erg nuttige handleiding en zeer bruikbare functie.
@ Martijn 14/2/2007: Bedankt voor de transparantie-tip.
-
Ik heb een site met 3 kolommen.. in het middelste deel heb ik sifr gebruikt.. nu word de content uit het midden geplaatst onderaan de content van de zijkolommen.. iemand een idee hoe dit komt? Kan ik ergens de breedte van sifr aanpassen?
-
heel erg bedankt! Die engelstalige site vond ik veel te verwarrend. Te veel opties getoond in één keer zonder dat er duidelijk werd gemaakt wat nu echt essentieel is.
-
Voor de mensen met een website met PHP en GD (onderdeel van PHP sinds 4.3) is er ook nog een andere techniek. Deze werkt op ongeveer dezelfde manier, maar gebruikt afbeeldingen in plaats van Flash. De opmaak verloopt volledig met CSS. Je kunt TrueType font bestanden (.ttf) direct gebruiken zonder tussenkomst van andere programma’s.
Er is een gratis versie voor persoonlijk gebruik. Bedrijven behoren een licentie aan te schaffen.
Dit is niet als spam bedoeld, maar ter informatie net zoals de andere link naar A List Apart. Hier kun je meer informatie vinden: True Font Family
-
Hey Mark,
te gekke tutorial! Ik zit echter met een probleem: Sifr blijkt niet te werken voor Mac, flash player 8 en hoger. Enig idee hoe dat kan?
-
Geen probleem hier!
-
Handig, eindelijk in het Nederlands!
Ik krijg het alleen niet aan de praat in IE7. Check deze pagina eens in IE7 en vervolgens in FF
Iemand hetzelfde probleem?
-
Heb hier ook ineens problemen met Sifr.
Draait al een jaar prima en ineens komen er kuren.
IE7 zijn de letters goed te zien, maar de links der er soms onder staan doen het niet meer. In IE6 en FF doen de links het wel maar krijg ik standaard lettertype te zien…. Wat is er ineens veranderd? Zou de provider iets aan de server instellingen gedaan hebben?
-
Het enige (!) wat ik graag wil, is een font wisselen… Ik heb alles werkend, maar de Rockwell wisselen voor de Syntax wil niet lukken.. Iemand die mij (even) helpen kan?
-
Mijn tabel rekt uit als ik SIFR toe pas.
.sIFR-hasFlash h2 {
visibility: hidden;
letter-spacing: -9px;
font-size: 25px;
}
De font-size mankeert niets aan dacht ik zo… Ik wil dat hij gewoon netjes weergegeven wordt, zonder dat er iets uitrekt… Zonder Sifr kan ik hem wel op de gewenste grootte doen, maar met Sifr past hij alleen als ik hem op 5px o.i.d. heb, en dat is erg klein!
Iemand een oplossing, please?
-
Prima techniek (sIFR), welke binnen websiteontwikkeling een pluspunt is. Op deze manier kan bijvoorbeeld het (onderschijdende) lettertype uit de huisstijl van een bedrijf, ook getoond worden binnen het meest prominente communicatiekanaal wat er is, het internet.
-
Goedeochtend,
Kan iemand mij helpen. Het enige wat ik zie als ik de tutorial helemaal volg is: Do not remove this text. De headings worden dus vervangen door een flash iets met: Do not remove this text. Zowel in FF en IE. Ligt het eraan dat ik de website nog lokaal draai?
-
Dat ligt inderdaad daaraan.
Je kan beter een xamp/wamp server lokaal draaien en dan via je localhost werken.
Dan hoef je niet alles up te loaden.Mijn vraag:
Hoe kan ik een relatief pad naar de .swf ingeven?
Dus als het lettertype in de map js/sifr/xxx.swf staat?Is het mogelijk met enkel JS in de head te werken?
-
Hoi,
Bedankt voor deze uitleg! Ik heb een vraagje: ik gebruik al sIFR op mijn (test)site en dit werkt naar behoren, alleen voor één woord werkt het niet.
Zou iemand mij hiermee kunnen helpen? :-S
Thx!
-
sIFR is een tijdje geleden, maar ik kan me herrineren dat de swf de ruimte inneemt van de tag die wordt vervangen en daar het lettertype formaat op aanpast. Het kan zijn dat je tekst zo hoog wordt dat deze automatisch op een andere regel wordt geduwt en dat je hem daarom niet ziet.
Als het met meer woorden werkt, dan is er geen reden waarom het niet met een woord zou werken. Dus de swf zal gewoon worden geladen, de tekst zal erin worden geplaatst, etc. Dus dan ligt het probleem ergens anders, misschien zoals hierboven beschreven.
-
Hi Paul S., bedankt voor je feedback. Zou ik misschien de CSS met je kunnen delen? Ik denk dat je wel ’s gelijk kan hebben, maar ik hoop het toch te kunnen fixen. Het is vreemd dat het werkt voor de andere woorden, maar net niet voor dat ene woord. Nogmaals bedankt voor je reactie, Jasper
-
Hey Jasper, stuur maar naar paul@interactivestudios.nl







