Tegelpatronen van (elkaar overlappende) plaatjes

Om een leuke opmaak van je site te krijgen is het soms handig om de plaatjes elkaar gedeeltelijk te laten overlappen, zoals hierboven gebeurt. De aanpak hiervan ligt niet onmiddellijk voor de hand. Daarom wordt hier beschreven hoe je dat doet.

Ik heb deze code zelf ontwikkeld, waarbij ik gebruik gemaakt heb van bestaande code voor het bepalen van de plaats waar het ankerpunt zich bevindt (zie verder). Hij staat onderaan deze pagina. Je kunt hem ook downloaden voor je eigen gebruik, inclusief de plaatjes.

ParameterBetekenis
picture
Naam van het plaatje dat moet worden toegevoegd (string tussen quotes).
w
Breedte van het plaatje zoals dat op het scherm verschijnt (getal, pixels).
h
Hoogte van het plaatje zoals dat op het scherm verschijnt (getal, pixels).
b
Breedte de rand om het plaatje (getal, pixels). Als je geen rand wilt zet je dit op nul.
a
"alt"-tekst bij het plaatje (string tussen quotes). Mag een lege string zijn.
anchorpoint
Name van het ankerplaatje (string tussen quotes).
dx
Horizontale verplaatsing t.o.v. het ankerpunt (getal, pixels).
dx < 0 geeft verplaatsing naar links; dx > 0 geeft verplaatsing naar rechts.
dy
Verticale verplaatsing t.o.v. het ankerpunt (getal, pixels).
dy < 0 geeft verplaatsing naar boven; dy > 0 geeft verplaatsing naar beneden.

Gebruik:

De code ziet er als volgt uit:
 
(Zet dit in de <HEAD>).
<script src="tileset.js"></script>
(Zet dit in de <BODY>, op de plaats waar de plaatjes moeten komen).
<table width="280" align="center" cellpadding="5" cellspacing="2"
border="1" height="280">
  <tr><td valign="top" align="left">
    <img name="placeholder" src="pixel-1.gif" width="1" height="1"
    border="0" alt="">
</td></tr></table>
 
<script type="text/javascript">
  // Zet de plaatjes neer
  TilePicture('plaatje4.gif',144,97,2,'koffie','placeholder',20,10);
  TilePicture('plaatje5.gif',108,73,2,'klok','placeholder',56,140);
  TilePicture('plaatje6.gif',72,49,2,'telraam','placeholder',150,100);
  TilePicture('plaatje7.gif',72,49,2,'diskettes','placeholder',150,200);
</script>
(Neem het onderstaande attribuut op in de <BODY>-tag).
onresize="self.location.reload()"

Downloaden:
 
Druk op de knop: Download deze code  File: voorb102.zip, 49 677 bytes.

Opmerking:
 
Deze techniek kan heel mooie effecten geven met .GIF- of .PNG-plaatjes met een transparante achtergrond. De plaatjes lopen dan door elkaar heen. Zet dan wel de dikte van de border op nul, tenzij je een "traliewerk" wilt...

 
terug

hml-102; Laatste wijziging: 7 mei 2020