Metatags in PHP-pagina's

Status
Niet open voor verdere reacties.
de BOM onschadelijk maken

Aha, komtie. Een BOM is de afkorting van Byte Order Mark (= byte volgorde merkteken).
Dit kan toegevoegd worden aan een tekstbestand om de computer te laten weten (afhankelijk van de gebruikte machinetaal) hoe de codering geïnterpreteerd moet worden. Dat is de "endianness", een woord dat uit Gullivers reizen afkomstig is (zit leuke anekdote achter).
Zo'n BOM zit meestal onzichtbaar in een tekstbestand opgenomen, maar op html-pagina's zie je 'm soms opduiken als  als een bestand niet correct is opgeslagen.
Uit de Wikipedia-pagina over UTF-8:
  • Indien in Microsoft Windows een tekstbestand met de UTF-8-codering wordt opgeslagen, dan voegen Microsoftprogramma's de drie bytes 0xEF, 0xBB, 0xBF, de UTF-8-code voor U+FEFF, aan het begin van het bestand toe, het "Byte Order Mark", of kortweg "BOM", dat echter niet altijd door andere programma's goed herkend wordt.
Info over de betekenis en de techniek:
Ik zeg altijd maar "ja" als ik dit lees, en ben het de volgende daag weer vergeten. ;)
Maar voor de oplossing hoef je gelukkig niet de theorie uit je hoofd te kennen. :D

Over de behandeling van voortspruitende problemen als er een BOM in zit:

Waarschijnlijk is het bij jou de combinatie van Dreamweaver en Windows die de BOM veroorzaakt.
Misschien even checken: laat je Dreamweaver (in z'n opties) je bestanden ook opslaan als utf-8, als je een <meta> met de utf-8 voor je pagina's gebruikt?

Als dat niet lukt of niet kan (ik heb geen DW), dan is er nog altijd de Notepad++ methode, want die werkt feilloos!

Met vriendelijke groet,
CSShunter

(edit)
Zie ook de BOM-test hieronder.
(/edit)
 
Laatst bewerkt:
Wanneer er geen html meer na een php stuk komt is het beter om ?> weg te laten.

Dit komt vooral naar voren bij OOP.
Wanneer je tig php bestanden include wil je niet dat er een whitspace op het eind staat.
Dit kan zelfs ongewenst door sommige editors worden toegevoegd.

Dit is vooral belangrijk bij het gebruik van functies die headers moeten zenden (header, session_start, setcookie, ...)

Ik ben verbaasd om te zien dat dit nog geen warning gooit, laat staan een error. Niet verwacht. Doch, vind ik dat het weglaten van de PHP-endtag ( ?> ) een erg slordige manier van programmeren is. Alle nadelen die je opnoemt zijn gewoon te ondervangen door netjes te programmeren. Voor mij valt het weglaten van die tag in de categorie "frames". Een makkelijke, doch onprofessionele, manier om een "probleem" op te lossen, dat makkelijk op een nette manier kan worden opgelost.
 
Wat is het probleem van whitespace in html output dan?
Sowieso een extra witregel hoort niks geen verschil te maken als het daar om gaat.

Ik wil het ook nog wel minimaliseren voordat ik het output zodat alle enters / indentie weg zijn.


betreffende de closing tag:
In de meeste codingstandards wordt het juist verplicht om hem weg te laten.
Zie bijvoorbeeld de coding standard van het Zend Framework
 
Laatst bewerkt:
De BOM-test

Wat is het probleem van whitespace in html output dan?
Sowieso een extra witregel hoort niks geen verschil te maken als het daar om gaat.
Dat klopt, maar daar gaat het niet om. Het probleem is niet dat er (na het preprocessen van de include) in de html-code een extra witregel bij is gekomen.

Ik wil het ook nog wel minimaliseren voordat ik het output zodat alle enters / indentie weg zijn.
Ook dat helpt niet.
Het probleem is, dat de onzichtbare BOM op het scherm een witregel toevoegt, waarvan de oorzaak in de html niet te traceren is.

Maar hier is een BOM-test voor een include:
Zie u ook niet wat ik niet zie in alle broncodes? Hocus pocus! :)

Met vriendelijke groet,
CSShunter

(edit)
Browserverschillen! (alles getest onder Windows)
  • In Firefox, Chrome, Safari en IE8 staat in test-2 de contentkolom lager dan de menukolom.
  • In Internet Explorer 7 staan ze alle twee lager dan bedoeld.
  • In Opera gaat het altijd goed!
(/edit)
 
Laatst bewerkt:
Ook dat helpt niet.
Het probleem is, dat de onzichtbare BOM op het scherm een witregel toevoegt, waarvan de oorzaak in de html niet te traceren is.
Moet eerlijk zeggen dat ik nog nooit last heb gehad van een BOM; jouw test 2 is ook makkelijk op te lossen met een beetje CSS...

Het minimaliseren deed ik meer voor de performance optimalisatie; zodat het html bestand kleiner wordt.
(kunnen jullie micro-optimalisatie vinden maar op grote aplicaties merk je het echt)
 
@thadin:
Moet eerlijk zeggen dat ik nog nooit last heb gehad van een BOM
Als je nette programma's hebt zal het ook nauwelijks gebeuren; ik had het 1 keer, maar wel goed voor vele uurtjes puzzelplezier.

jouw test 2 is ook makkelijk op te lossen met een beetje CSS...
  • Is resultaatbestrijding, en pakt de oorzaak niet aan.
  • Misschien soms, denk ik; kan problemen geven als je verder identieke pagina's hebt, en op de ene wel en op de andere niet zo'n include gebruikt.
  • Dan zit je nog met de browser-verschillen.

Het minimaliseren deed ik meer voor de performance optimalisatie
Yeps. Kan zeker schelen bij grote pagina's.
Net als optimaliseren van images (www.smus​​h​i​t.com/ysmush.it/), of er css-sprites van maken.

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
met css had ik het meer over het gebruiken van float; dan maken die whitespaces / BOM's niet uit.
 
't Is te zeggen! :p
  • De site moet zich er maar voor lenen om alle includes te floaten.
  • En IE7 doet het nog steeds niet goed (IE8 en de rest wel).
  • Test: bom-test-4.php
M'n conclusie: ik blijf erbij om het kwaad bij de wortel aan te pakken.

Nu eens kijken hoe het onze vragensteller Bas web vergaat! :)

Met vriendelijke groet,
CSShunter
______
PS: Ik had me eerst in de IE-versie vergist, moest IE7 zijn die ze alle twee te laag neerzette. Stond ook een verkeerde link in naar het BOM-bestandje. Intussen in de vorige reactie/testbestanden hersteld.
 
Nu eens kijken hoe het onze vragensteller Bas web vergaat!
Best goed, dank je :D

Omdat we met de eerste methode niet verder komen, heb ik een gedeelte van de website wederom omgebouwd naar "jouw" versie, echter blijft het probleem zich voordoen waardoor ik toen gestopt ben met die methode. De header bestaat alleen maar uit afbeeldingen maar tussen 2 "regels" afbeeldingen krijg ik steeds een streep:


Uploaded with ImageShack.us

Dat probleem is dus niet opgelost door de bom uit te schakelen :(

Ligt dat misschien ergens anders aan?
 
Laatst bewerkt:
Dat probleem is dus niet opgelost door de bom uit te schakelen :(
Dan zal er behalve de bom ook nog een addertje onder het gras zitten.

Ligt dat misschien ergens anders aan?
Ik zou zeggen: een volmondig "ja". :)

Volgende vraag: waar ligt dat dan aan?
Volgend antwoord: dat is uit een plaatje niet op te maken. :P

Heb je een link naar een (test-)pagina waar we de patiënt in levende lijve kunnen zien?

Edit:
Was het probleem er niet in de oorspronkelijke html-pagina toen die nog geen php-met-include was? - Dan die ook graag svp bijvoegen.
 
Laatst bewerkt:
waar komt dat zwart vandaan dan?
De grote achtegrond is grijs.

Lijkt er meer op dat die plaatjes een zwarte border hebben.
 
Zo, ben ik weer eens...
Tja, zit ook midden in een verhuizing en dan is tijd erg schaars ;)

Maar heb net ff de 2 versies online gezet. Ik zie het verschil niet:

De manier waarop ik de site normaal bouw:
test_1

De manier die CSShunter omschreven heeft:
test_2


Volgens mij is de bron exact hetzelfde...
 
Laatst bewerkt:
Ik zie het verschil niet
Dat krijg je ervan als de site Idem Dito heet! :P
Maar ik ga 's even neuzen naar verschillen en overeenkomsten.
 
Laatst bewerkt:
Hoi Bas web,
Er zijn wel verschillen in de broncode! Ik ben begonnen met de 1e tip in mijn handtekening hieronder, de html-validator, en al gauw klaar. :)

De één is (invalid, 15 errors) XHTMLTransitional, de ander heeft een (invalid, 5 errors) Doctype html4.01 Strict.
En Doctype-verschillen (tussen Transitional en Strict) willen wel eens opvallende verschillen in de opmaak-interpretatie te zien geven. Dat is hier het geval.
  • Ik zou de Strict variant nemen (html4.01 Strict of xhtml1.0 Strict), want de Transitional-varianten waren in 1999 (!) bedoeld om de toen aanwezige oude sites toch nog goed te kunnen tonen in de toen nieuwe browsers. Nu is dat niet meer nodig: voor nieuwe sites moet de Strict variant gebruikt worden (op een enkele uitzondering na; maar als je begint met code gericht op Strict, kan je er altijd nog zonder makke Transitional van maken).
Maar nu het probleem: de zwarte strepen! ;)

Die worden veroorzaak omdat bij een Strict Doctype de images van #header en menu een onderruimte van zo'n 3 px hebben onder de basislijn van de regel. Dat is om gelijk op te kunnen lopen met teksten: waarbij de letters met neerhaaltjes (p, g, enz.) onder de basislijn uitkomen.
De lege onderruimte onder de images wordt nu gevuld met de zwarte background van de #header.
Je komt er van af met:
Code:
img {
   vertical-align: top;
   }
idem.png


En nog dan even de html op ongerechtigheidjes nalopen. Zo zou 't goed moeten komen.

Met vriendelijke groet,
CSShunter

PS: met de Web Developer Toolbar kan je de css makkelijk on-the-fly even uitproberen.

O, wat je ook nog even kan doen, is aan de css toevoegen:
Code:
html {
   height: 100%;
   padding-bottom: 1px;
   }
Door die ene pixel wordt Firefox gedwongen een rechterscrollbar-ruimte te maken (anders is ie er niet bij korte pagina's): dan krijg je geen verspringend beeld als je in FF wisselt van een korte naar een lange pagina.
- De andere browsers hebben er geen last van.
 
Laatst bewerkt:
Hartelijk dank voor je tips!
Betreft het verschil in doctype: de één is zoals ik 'm zelf altijd gebruik (vraag me niet waarom, ik ben een hobby-ist, geen expert). In test_2 staat het andere doctype omdat ik daar de headstart.php van jouw voorbeeld gekopieerd heb...

Ik heb 'm nu een beetje aangepast en heb alle warnings eruit, maar nog wel 3 errors die ik er niet uit krijg :( (2x betreft het centreren van tekst, en 1x voor een border "0" bij een afbeelding?) Kun jij me daar nog verder mee op weg helpen?

De zwarte lijnen zijn er inderdaad uit! Super, bedankt voor je tip! Ook de tip van die ene pixel is erg welkom! Dit probleem treedt namelijk ook op bij Chrome.

(heb ook meteen de toolbar geinstalleerd ;))
 
Hoi Bas,
De 3 errors: alle 3 (1x "border" en 2x "align") zijn verboden eigenschappen in html Strict (vanaf 1999). Reden: dit zijn opmaak-eigenschappen, die niet in de html thuishoren, maar in het stylesheet. Bv. in de html:
HTML:
<img class="noBorder" src="images/..." width="..." height="..." alt="...">
<p class="right">Tekst rechts uitgelijnd in de regel.</p>
met dan in de css:
Code:
.noBorder {
   border: 0;
   }
.right {
   text-align: right;
   }
Nog wat tips:

De naam
Eigenlijk is niet "Idem Dito" de merknaam, maar "Duo Idem Dito": dat is ook de site-naam die in het geheugen van de bezoeker gebrand moet worden. Er zijn ook heel andere Idem Dito's op het web, zonder het "Duo" met dezelfde naam: zie Google, en via het zoekwoord "Duo Idem Dito" zit je meteen op de eerste hit.
Vandaar zou ik ook het "Duo" zeker in de <yitle>, de header, de description en de koppen opnemen.

Tekst- en background-kleur
Nu is de zijkant van het scherm lichtgekleurd en de achtergrond van de te lezen tekst donkerder. Dat trekt de aandacht naar de zijkant i.p.v. naar het midden. Ik zou het precies andersom doen. Daarbij komt dat het contrast tussen de tekst en de tekst-achtergrond veel te laag is, zeker voor mensen met wat minder goede ogen en kleurenblinden. Alleen hele grote koppen kunnen met deze kleurcombinatie, gewone tekst niet (linker-afbeelding). Met een paar tinten lichter heb je er geen last van (rechter-afbeelding).

idemd-contrast-1.png
idemd-contrast-2.png

Hover-contrast
Hiervoor geldt hetzelfde: ook dat zou ik een beetje opkrikken.

Letterformaat
Kan iets groter voor prettige leesbaarheid. Niet in px opgeven maar in em: dan is ook in Internet Explorer mogelijk om de tekst groter te maken (via menu: Beeld > tekengrootte), zonder dat meteen op de hele pagina ingezoomd hoeft te worden (waardoor de bezoeker een nare links-rechts scrollbar moet gaan gebruiken).

Alinea-afstand
Deze zijn er nu ingezet met <br>'s of met lege <p>&nbsp;</p>'s. Die zijn niet nodig, als je de alinea-afstand met css definieert: dan gaat het allemaal vanzelf. Bv.:
Code:
p {
   margin: 1em 0;
   padding: 0;
   }
Boven en onder een alinea komt zo een afstand van 1em (ong. een regel afstand, die groter wordt als de letters groter zijn). Vanwege de "collapsing margins" (samenvallende marges) is de afstand tussen twee <p>'s niet 2em (de onderste margin van de bovenste, en de bovenste margin van de onderste), maar slechts 1em. Dat gaat dus altijd vanzelf goed.

Weg met de javascript-rollovers!
Dreamweaver weet er altijd een hele zooi javascript in te gooien om rollovers te maken bij knoppen. Ook dat is eigenlijk zwaar verouderd, en kan veel mooier met css-hovers geregeld worden. Dat scheelt ook enorm in de hoeveelheid en overzichtelijkheid van de html.
Er staat nu:
HTML:
<script type="text/javascript">
   <!--
   function MM_swapImgRestore() { //v3.0
      var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
   }
   function MM_preloadImages() { //v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
      var i,j=d.MM_p.length,a=MM_preloadImages.arguments; 
      for(i=0; i<a.length; i++)
         if (a[i].indexOf("#")!=0){
            d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];
         }
      }
   }
   function MM_findObj(n, d) { //v4.01
      var p,i,x;  
      if(!d) d=document; 
      if((p=n.indexOf("?"))>0&&parent.frames.length) {
         d=parent.frames[n.substring(p+1)].document; 
         n=n.substring(0,p);
      }
      if(!(x=d[n])&&d.all) x=d.all[n]; 
      for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) 
         x=MM_findObj(n,d.layers[i].document);
         if(!x && d.getElementById) x=d.getElementById(n); 
         return x;
   }
   function MM_swapImage() { //v3.0
      var i,j=0,x,a=MM_swapImage.arguments; 
      document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
      if ((x=MM_findObj(a[i]))!=null){
         document.MM_sr[j++]=x; 
         if(!x.oSrc) x.oSrc=x.src; 
         x.src=a[i+2];
      }
   }
//-->
</script>
</head>
<body onLoad="MM_preloadImages('afbeeldingen/site/home_over.gif','afbeeldingen/site/biografie_over.gif','afbeeldingen/site/fotos_over.gif','afbeeldingen/site/agenda_over.gif','afbeeldingen/site/media_over.gif','afbeeldingen/site/contact_over.gif','afbeeldingen/site/gastenboek_over.gif')">
<div id="container">
   <div id="header">
      <img src="afbeeldingen/site/header_top.gif" width="770" height="179" 
      alt="Idem Dito"><br><a 
      href="index.php" onMouseOut="MM_swapImgRestore()" 
      onMouseOver="MM_swapImage('Home','','afbeeldingen/site/home_over.gif',1)"><img 
      src="afbeeldingen/site/home.gif" alt="Home" name="Home" width="107" 
      height="43" border="0"></a><a 
      href="biografie.php" onMouseOut="MM_swapImgRestore()" 
      onMouseOver="MM_swapImage('Biografie','','afbeeldingen/site/biografie_over.gif',1)"><img 
      src="afbeeldingen/site/biografie.gif" alt="Biografie" name="Biografie" width="119" 
      height="43" border="0"></a><a 
      href="fotos.php" onMouseOut="MM_swapImgRestore()" 
      onMouseOver="MM_swapImage('Foto','','afbeeldingen/site/fotos_over.gif',1)"><img 
      src="afbeeldingen/site/fotos.gif" alt="Foto's" name="Foto" width="79" 
      height="43" border="0"></a><a 
      href="agenda.php" onMouseOut="MM_swapImgRestore()" 
      onMouseOver="MM_swapImage('Agenda','','afbeeldingen/site/agenda_over.gif',1)"><img 
      src="afbeeldingen/site/agenda.gif" alt="Agenda" name="Agenda" width="97" 
      height="43" border="0"></a><a 
      href="media.php" onMouseOut="MM_swapImgRestore()" 
      onMouseOver="MM_swapImage('Media','','afbeeldingen/site/media_over.gif',1)"><img 
      src="afbeeldingen/site/media.gif" alt="Media" name="Media" width="106" 
      height="43" border="0"></a><a 
      href="contact.php" onMouseOut="MM_swapImgRestore()" 
      onMouseOver="MM_swapImage('Contact','','afbeeldingen/site/contact_over.gif',1)"><img 
      src="afbeeldingen/site/contact.gif" alt="Contact" name="Contact" width="108" 
      height="43" border="0"></a><a 
      href="gastenboek" onMouseOut="MM_swapImgRestore()" 
      onMouseOver="MM_swapImage('Gastenboek','','afbeeldingen/site/gastenboek_over.gif',1)"><img 
      src="afbeeldingen/site/gastenboek.gif" alt="Gastenboek" name="Gastenboek" width="154" 
      height="43" border="0"></a><br>
      <img src="afbeeldingen/site/header_bottom.gif" width="770" height="20" 
      alt="Idem Dito">
</div>
Brrr, wat een html-vervuiling! :rolleyes: Deze hele bubs kan vervangen worden door:
HTML:
<body class="home"><!-- voor elke pagina de id-naam van hieronder gebruiken -->
<div id="header">
   <h1>Duo Idem Dito</h1>
   <ul>
      <li id="home"><a href="index.php" title="Home"><span>Home</span></a></li>
      <li id="biografie"><a href="biografie.php" title="Biografie"><span>Biografie</span></a></li>
      <li id="fotos"><a href="fotos.php" title="Foto's"><span>Foto's</span></a></li>
      <li id="agenda"><a href="agenda.php" title="Agenda"><span>Agenda</span></a></li>
      <li id="media"><a href="media.php" title="Media"><span>Media</span></a></li>
      <li id="contact"><a href="contact.php" title="Contact"><span>Contact</span></a></li>
      <li id="gastenboek"><a href="gastenboek.php" title="Gastenboek"><span>Gastenboek</span></a></li>
   </ul>
</div>
Dat is toch heel wat minder en duidelijker? :)
Hiertegenover staat dat wat extra css nodig is, maar al met al is het hele stylesheet van deze pagina nog steeds maar 4,2kB (was: 3kB). En het stylesheet wordt door de bezoekers-pc maar 1 keer gedownload, en is dan voor alle pagina's beschikbaar, die nu voor de vervolgpagina's een minder zware html-download hoeven te hebben.

Van 16 images naar één!
Voordeel van de css-hovers is ook, dat de hover-afbeeldingen als achtergrond-afbeeldingen ingeladen worden, en met de background-positie op de goede plaats geschoven kunnen worden. Daarmee kunnen alle menu-images en hun hover-varianten uit de html verdwijnen (de "normale toestand" is gewoon de achtergrond van het hele rijtje tegelijk). De menu-links zijn nu "doorzichtige <a>'s" geworden. Bij een hover krijgt de link van de hover wel een achtergrond: de hover-achtergrond, die nu vóór de algemene achtergrond komt te staan.
Dit schept ook de mogelijkheid om een "css-sprite" te maken: één afbeelding, waarin ook alle hover-toestanden van alle items zijn opgenomen:

idemd-header-klein.png

Hierdoor hoeft er ook niet gepreload te worden: zodra de header binnen is, is al het andere ook binnen! Dus geen header + 7 menu-onderdelen + 7 hover-varianten + 1 header-onderstuk, maar één stuks image.
Verder is gebruik gemaakt van de "woeste css-truc" van het php-site-tutorial om de actuele pagina automatisch in het menu te laten oplichten.

Resultaat
Het resultaat van het bovenstaande is dit voorbeeld:
Hierin zit de css nog in de <head> van de pagina (dit was de knutselpagina).
Met gescheiden stylesheet:
(In beide tests zijn de bestanden voor de lightbox niet aangeknoopt, want voor de home-pagina niet nodig)

Met vriendelijke groet,
CSShunter
_________
PS: Door de menu-images als achtergrond-afbeeldingen te gebruiken, vervalt nu ook het opschuifprobleem: er is geen img {vertical-align: top;} meer nodig. :)
 
Laatst bewerkt:
:shocked::shocked::shocked::shocked::shocked::shocked::shocked::shocked::shocked::shocked:

Zoooooo! dat is een lap tekst! Een hele hoop adviezen waar ik zeker iets mee kan :thumb::thumb::thumb:
Ik ga ze even proberen te beantwoorden, alleen het toepassen ervan moet nog even wachten. Zit echt ff met de tijd in de knoei.

errors
Dat is me nu helemaal duidelijk, wist niet dat dat in de CSS thuis hoorde

de naam
tja, daar kan ik helaas niet veel aan veranderen. Dit duo bestaat al een hele tijd, echter zal destijds waarschijnlijk de domeinnaam al bezet zijn geweest en hebben ze er het woordje duo voor geplakt. Ze heten dus Idem Dito en verwacht ook niet dat ze dat zullen veranderen ;)

kleur
Tja, daar heb ik weinig over te zeggen, kleur hebben ze zelf uitgekozen, maar ik snap je beredenering wel. Ik zal dit zeker in de toekomst meenemen mocht ik iets nieuws gaan maken :thumb:

letterformaat
dat is wel een goede tip, ga ik zeker wat mee doen!

alinea afstand
helemaal duidelijk, scheelt weer ;)

roll-overs
:o tja, die code is een stukje korter ;) (en dus ook maar 2 afbeeldingen toch?)
Zoals ik al aangaf, ben geen expert maar een hobby-ist, dus als DW iets voor me maakt geloof ik het wel :D Maar dit ziet er zeker een stuk gezonder uit :thumb: Gaan we ook aanpassen. Ook de theorie is me helemaal duidelijk.
De actuele pagina automatisch in het menu laten oplichten deed ik dmv een include (zie originele site) Werkte ook maar waarschijnlijk ook veel te omslachtig ;) Echter wil ik dat nu bij deze website niet gebruiken, vind ik iets te veel opvallen/aandacht afleiden

resultaat
die heb ik even schaamteloos gekopieerd en opgeslagen, heb ik die altijd bij de hand :o
Ik zie ook dat je de hele css verbouwd hebt en voorzien hebt van commentaar :thumb:
Ik ga (als ik tijd heb :confused:) de huidige site helemaal vergelijken met die van jou en compleet aanpassen hierop!

Hartstikke bedankt voor je hulp en duidelijke uitleg! Ik was altijd van mening dat het redelijk werkte, echter blijken er toch wel een hele hoop fouten in te zitten... Maar ik ben altijd leergierig en ga hier zeker mee aan de slag!

Groet,
Bas
 
Laatst bewerkt:
Hoi Bas,

@ Naam
Ik zou mijn argumenten aan de heren ID voorleggen (niet telefonisch, maar een echt bespreek-overleg met ze organiseren):
  • als er op de homepage maar een paar keer Duo in staat (in de hoofdkoppen, kan ook bv. zijn: "Idem Dito, een muzikanten-duo voor uw gezellige muziek" o.i.d.), is het al genoeg voor Google;
  • als verder het woordje "duo" (eventueel nog kleiner) in de header-img staat, is de domeinnaam beter te onthouden voor de bezoekers;
  • in de gewone tekst kan dan het "duo" gerust weggelaten worden.
Voorbeeld (online of in print) meenemen voor het overleg (met huidige vorm als vergelijkingsmateriaal ernaast), zodat ze kunnen zien wat je bedoelt; en dat zo'n aanpassing niet zo erg is.
=====

@ Kleur
Ook hier zou ik er bij de heren op aandringen hun gekozen kleuren te heroverwegen. Waarschijnlijk hebben ze er geen weet van hoe kleuren op een beeldscherm precies werken: niet bang zijn, jij bent degene die ze van deskundig advies voorziet! De argumenten zijn behoorlijk zwaarwegend:
  • met de huidige kleurcombinatie is de tekst sowieso al lastig om te lezen,
  • voor mensen met minder gezichtsvermogen wordt de site een stuk ontoegankelijker (vermoeiender om te lezen, gedwongen inzoomen, enz.) of helemaal ontoegankelijk;
  • dat geldt met name voor de oudere bezoekers, v/a ca. 55 jaar: met de leeftijd gaat het vermogen om kleurcontrasten te zien ernstig achteruit (hoe ernstig? wat weinigen weten: "De hoeveelheid licht die het oog van een 60 jarige bereikt is nog maar 1/3 van de hoeveelheid van een 20 jarige", dat is nogal wat! Zie plaatjes hier!);
  • als er op een breed publiek gemikt wordt, en niet alleen op het jonge volk, moet dit zeker veranderen: anders mist de site minstens een kwart van de doelgroep;
  • met een lichtere background-kleur achter de tekst is het best heel chique, en ziet de site er volgens mij ook professioneler uit.
Ook hier: printjes van de huidige versie en bv. mijn versie meenemen en laten zien, waarin het verschil duidelijk wordt.
=====

@ roll-overs
dus ook maar 2 afbeeldingen toch?
Ja, één voor de kop inclusief roll-overs, en één voor de foto op het midden van de pagina.
=====

@ resultaat
... schaamteloos gekopieerd en opgeslagen ...
Daarvoor zijn voorbeelden bedoeld! ;)

Benieuwd wat er uit het overleg tevoorschijn komt!
Met vriendelijke groet,
CSShunter
 
O, wat je ook nog even kan doen, is aan de css toevoegen:
Code:
html {
   height: 100%;
   padding-bottom: 1px;
   }
Door die ene pixel wordt Firefox gedwongen een rechterscrollbar-ruimte te maken (anders is ie er niet bij korte pagina's): dan krijg je geen verspringend beeld als je in FF wisselt van een korte naar een lange pagina.
- De andere browsers hebben er geen last van.
Waarom gebruik je hier niet gewoon de overflow property voor die hiervoor bedoeld is...
Code:
html{overflow-y:scroll;}
Heb je ook niet zo'n lelijke scroll van 1px
 
De springende scrollbar (in Firefox, Chrome. Opera en Safari)

@ thadin
Waarom gebruik je hier niet gewoon de overflow property voor die hiervoor bedoeld is...
  • Omdat dit wel werkt, maar ik de css-validator voorlopig nog op css2.1 heb staan, om ongemakken te vermijden voor in omloop zijnde browsers die (een deel van) css3 nog niet ondersteunen.
  • En in css2.1 valideert de overflow in één richting niet - zodat ik dan bij al m'n pagina's altijd een hinderlijk css-alarm krijg (en vervolgens moet gaan kijken om dan te zien: "oh, het is de overflow-y maar, de rest klopt gewoon").
  • Om de algemene overflow in beide dimensies te gebruiken (valideert wel in css2.1), is geen optie: want dan komt er altijd een foeilelijke lege scrollbar links-rechts onderaan het scherm, die ruimte afpikt van de schaarse hoogte.
Vandaar!

=====
Heb je ook niet zo'n lelijke scroll van 1px.
Vind 'm zelf niet zo opvallen, en ook nog nooit commentaar op gehad van bezoekers.
  • Ik denk dat de meeste mensen die 1px onderaan de scrollbar niet eens zien, als ze de volledige pagina in beeld hebben, en ook niet met de scrollbar die 1px op en neer zullen gaan omdat ze verwachten dat er nog iets komt. - Dus voor de functionaliteit maakt het niets uit.
  • En nu ik eens ga opletten, vind ik eigenlijk een scrollbar-pop-up in de gereserveerde ruimte (bij de overflow-methode) veel lelijker. Een blijvende scrollbar vind ik wel zo mooi, dan is er behalve de hoogte van de scrollbar geen enkel verschil tussen een korte en lange pagina.
  • Maar dit is vooral esthetiek, en over smaken...twisten... enz. ;)
=====
De verspringende pagina
Hier nog een batterijtje testpagina's ter illustratie van de verschijnselen bij alle varianten: *)



Met vriendelijke groet,
CSShunter
____________
*) NB: bij een niet-gecentreerde pagina heb je er geen last van.
Maar om de veelheid aan beeldschermbreedtes te bedienen met een mooie pagina, is centreren wel zo aardig. :)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan