afbeelding jpg plaatsen op website Nvu

Status
Niet open voor verdere reacties.
Ja, dat klopt, want de plaatjesbestanden staan op je pc niet in dezelfde map als de broncode van je pagina. Dat is anders op je website: Daar staan wél de plaatjesbestanden in dezelfde map.
Zou je rechtstreeks verwijzen naar de website voor het plaatje, dus zoals ik eerder aangaf als 'verbetering' in de 'oude' broncode:
<td align="undefined" valign="undefined"><img style="width: 800px; height: 200px;" alt="" src="http://members.chello.nl/j.ammers8/logo-fotos-ikke.jpg"></td>
dan klopt het (natuurlijk) weer wel.

Je zou natuurlijk de plaatjes op je pc ook in de broncode-map kunnen zetten, dan werkt het op je pc ook zónder absolute verwijzing. De bestanden/mapinrichting is dan 'identiek' aan hoe het op de website staat.

Succes,

Tijs.
 
vaag, nu doet ie het ineens wel.. dus laatste vraag is al opgelost :shocked:
 
ah alsnog bedankt voor je reactie tijs, dat is dan dus de oplossing.

nog een vraag; ik probeer nu te zien in de bron wat er veranderd..

bij mijn ene site heb ik een logo in het midden bovenaan van mijn site, in een tabel
<table
style="width: 800px; text-align: left; margin-left: auto; margin-right: auto;"
border="0" cellpadding="2" cellspacing="2">
<tbody>

dit bovenstaande staat dan in de bron


als ik dit op een nieuwe pagina ook weer invoer.. dan krijg ik wel het logo etc.. maar niet in het midden van de pagina.. hij staat gewoon links gecentreerd.
Hoe kan dit?

Ik zie als ik het dan met NORMAAL aanpas.. ineens het volgende verschijnen in BRON:
<div style="text-align: center;"><img style="width: 800px; height: 200px;" alt="" src="logo-fotos-overige.jpg"><br></div>

euh ? schiet mij maar lek haha.. want nu staat er dus iets heel anders dan in de BRON van die andere site... terwijl ik wel hetzelfde effect heb. Nu gaat ie dus ineens werken met div style ipv table style ??
 
Ik weet niet waar die nieuwe site bereikbaar is, dus ik heb geen toegang tot de broncode. Algemeen gesteld kun je met divs (o.a.) hetzelfde bereiken als met tables, dus beide methoden zijn bruikbaar. Waarschijnlijk geeft Kompozer de voorkeur aan divs (zie de opmerkingen over de nadelen van tables van csshunter eerder).

Zonder meer informatie en broncode kan ik je laatstgenoemde probleem niet beoordelen.

Tijs.
 
nu we hier toch zo lekker bezig zijn, gooi ik er gelijk nog maar een vraag ik :rolleyes:

willen jullie eens meekijken op deze pagina? http://members.chello.nl/j.ammers8/familie.html

schots en scheef .. nu kijk ik bij de bron (want daar kan ik het vast heel handig aanpassen :)) maar ... ik ehm zie zoveel informatie staat dat ik niet zo goed zie welke cel van welke tabel is etc.
Is hier een trucje voor?

ik neem bv aan dat dit de gehele 1e tabel is:
<table
style="width: 800px; text-align: left; margin-left: auto; margin-right: auto;"
border="0" cellpadding="2" cellspacing="2">
<tbody>

maar dan zie ik DIT dus weer staan: <td style="width: 0px;" align="undefined" valign="undefined"><br>
</td> wat moet ik hiermee?
 
Met je welnemen laat ik suggesties daaromtrent graag over aan welwillende deskundigen die ernaar willen kijken.
Er zijn andere discussiedraden hier op het forum waar mijn kennis en vaardigheden beter ingezet kunnen worden, want (hoewel ik er wel wat van weet), ik ben geen html/css deskundige.

Tijs.
 
Je kunt 2 dingen doen:
a. De vraag als 'onopgelost' aangeven nu (dus klikken op "Zet status onopgelost" (o.i.d.)), zodat er door geïnteresseerden in gekeken gaat worden die willen helpen.
b. De vraag als opgelost laten staan en een nieuwe vraag maken. Ik zou die dan wél in een andere sectie zetten, bijv.
De CSS sectie, óf
De HTML sectie

Succes,

Tijs.
 
De familie-tabel

Hoi Kim,
willen jullie eens meekijken op deze pagina? http://members.chello.nl/j.ammers8/familie.html
... schots en scheef ...
nu kijk ik bij de bron (want daar kan ik het vast heel handig aanpassen ) maar ... ik ehm zie zoveel informatie staat dat ik niet zo goed zie welke cel van welke tabel is etc.

Tja, dat is ... precies de reden waarom tabellen niet zo geschikt zijn voor opmaak-zaken. Dat kan beter/mooier met css. Maar voor wie dit niet beheerst is er for the time being wel wat aan te doen (met maar een klein beetje css erbij).

We gaan Kompozeren!
(Schenk eerst maar een bak thee in, want er valt wat te scrollen) ;)

Kompozer-instellingen
Je kunt Kompozer op twee manieren instellen: allerlei eigenschappen direct in de html laten zetten, of in plaats daarvan css-eigenschappen gebruiken. Zie familie-tabel-kompozer-options.gif.
  • Voordeel van css-eigenschappen is, dat je er later een mooi stylesheet van kunt maken. Maar hierbij merk ik dat Kompozer een tekortkoming heeft. Eigenschappen zoals de breedte en hoogte van een afbeelding worden dan ook in een (inline) style="width: ..px; height: ..px" geplaatst. Als je dat in de html laat staan, vervuilt het de html met opmaak. Maar als je het via een ID naar je stylesheet zou overzetten, zouden alle images apart benoemd en gestijld moeten worden, wat de css vervuilt met een grote hoeveelheid afmetingen: van alle gebruikte afbeeldingen! Dat is ook erg lastig als je eens een image wilt vervangen door eentje met een wat andere afmeting. Dan moet je dat in je stylesheet gaan regelen.Bij een img kan in de html gewoon width=".." en height=".." opgenomen worden, maar dat doet Kompozer op deze manier dus niet.
  • Als je het vakje "css-eigenschappen" daarentegen niet aanvinkt, zijn de eigenschappen van een element niet makkelijk naar een stylesheet te verplaatsen. Ik merkte ook dat Kompozer er "verboden eigenschappen" in stopt, zoals align="...". Dat mag volgens de html-specificaties niet.
  • Daarom zou ik toch maar voor de css-eigenschappen kiezen, en de breedtes en hoogtes van images dan maar met de hand (in de code-weergave) omzetten:
HTML:
<img src="..." style="width: 300px; height: 200px;" alt=""><!-- attentie: px als eenheid! -->
wordt dan:
<img src="..." width="300" height="200" alt=""><!-- attentie: géén px als eenheid! -->
Heel onhandig! Maar na deze niet zo echt opmonterende intro nu het leukere werk. :d

Stap 1
Om de familie-tabel te maken, beginnen we met een schone lei: een nieuwe pagina. Nu een tabel invoegen van 1 rijtje en 3 kolommen. We slaan de pagina meteen op met een eigen naam.

Stap 2
We voegen de linker foto toe in de linker cel, en de rechter foto in de rechter cel. Nog geen instellingen regelen, alleen de locatie invullen, en vertellen dat er geen alt-tekst bij hoeft.

Stap 3
De gegevens invullen in de middelste cel. We geven elk van de regels een apart kop-formaat: de naam wordt een <h2>, de geboortedatum een <h3>, en de geboorteplaats een <h4>. Dat is makkelijk om later alles te stylen.
Verder moet deze cel altijd een breedte hebben van 200px (hoogte regelt zichzelf). In de cel gaan staan, rechts klikken, en "Eigenschappel tabel cel" venster oproepen. Alleen deze breedte opgeven, zie familie-tabel-celbreedte.gif

Stap 4
Nu staat de tabel nog steeds over de volle breedte, en zit de tekst niet in het midden.
We gaan ergens in de tabel staan, en dan naar Menu > Tabel-eigenschappen. De breedte van 100% van het scherm wissen (als je dat bij een eerdere stap doet, zie je in de ontwerp-weergave alleen maar hele smalle lege cellen). Tabel gecentreerd uitlijnen! Tegelijk ontdoen we ons even van alle randjes en overbodige binnenruimtes, zie familie-tabel-tabelproperties.gif.

Stap 5
Maar de tekst in de middelste cel zit nog niet in het midden. Als je in het tabblad "Cellen" van dezelfde Tabeleigenschappen de horizontale inhoud-uitlijning van de cellen vaststelt op "gecentreerd", zie familie-tabel-celproperties.gif, dan blijkt dat niet voor de hele tabel te werken, maar alléén voor de cel waar je in staat. Ook onhandig! - Dat gaan we dus niet zo doen.
We duiken de code-weergave in. Er staat:
HTML:
<table
    style="text-align: left; margin-left: auto; margin-right: auto;"
    border="0" cellpadding="0" cellspacing="5">
Dat verander je in:
HTML:
<table
    style="text-align: center; margin-left: auto; margin-right: auto;"
    border="0" cellpadding="0" cellspacing="5">
Nu geldt het wel voor de hele tabel.
Tegelijk pakken we ook even de kleuren in de tekstcel aan (ik zou iets donkerder achtergrond nemen voor de leesbaarheid).

Stap 6
Het begint er al op te lijken! Alleen nu zitten er onderaan de fototjes nog witte randjes, en komen ze niet mooi gelijk met de onderkant van de tekstcel in het midden. Zie familie-tabel-img-uitlijnen.gif. Kan dat nou? - De reden is, dat er rekening mee gehouden wordt dat (bij tekst en een img op dezelfde regel) sommige letters neerhaaltjes hebben die onder de regel uitkomen, zoals een kleine letter p of j. De afstand komt er dan bij een img nog standaard onder. Maar het is te verhelpen met css!
Ga naar de code-weergave en tik in, op een nieuwe regel vlak voor de </head>:
HTML:
  <style type="text/css">
table img {
vertical-align: top;
}
  </style>
Nu is dat ook geregeld:

Stap 7
Nu we toch in de broncode bezig zijn, kan alle "inline" (inwendige) css uit de html gehaald worden. Daarvoor voegen we in de html op een aantal punten een class="..." (= "soort css") toe, en omschrijven we in de css-regels wat die class precies moet doen. Daarmee kan de css worden:
Code:
  <style type="text/css">
body {
background: rgb(255, 255, 204);
color: black;
}
.fam { /* een class in de html heeft in de css dezelfde naam met een puntje ervoor */
margin: 15px auto; /* links er rechts automatisch (gecentreerd), boven en onder 15px */
text-align: center;
border: 0;
}
.fam img { /* = alle img's die in het element met de class="fam" zitten; hier dus alle images van de tabel */
vertical-align: top;
}
.fam-tekst {
width: 200px;
background: rgb(233, 118, 61);
color: white;
}
  </style>
De html-code voor de tabel wordt nu heel overzichtelijk:
HTML:
<table class="fam" cellpadding="0" cellspacing="5">
  <tbody>
    <tr>
      <td><img alt=""
 src="http://members.chello.nl/j.ammers8/kim-verkleind.jpg"
 height="219" width="200"></td>
      <td class="fam-tekst">
      <h2>Mama Kim</h2>
      <h3>13-07-1982</h3>
      <h4>Geboren: Amstelveen</h4>
      </td>
      <td><img alt=""
 src="http://members.chello.nl/j.ammers8/kimvakklein.jpg"
 height="219" width="164"></td>
    </tr>
  </tbody>
</table>
En dat is andere koek dan het origineel :) :
HTML:
<table style="width: 800px; text-align: left; margin-left: auto; margin-right: auto;" border="0" cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td style="vertical-align: top; text-align: right; width: 262px;"><img style="width: 200px; height: 219px;" alt="foto" src="kim-verkleind.jpg">
      </td>
      <td style="width: 0px;" align="undefined" valign="undefined"></td>
      <td style="vertical-align: top; text-align: center; background-color: rgb(255, 153, 102); width: 228px;"><big style="font-weight: bold;"><span style="color: rgb(255, 255, 255);"><br>
Mama Kim</span></big><span style="font-weight: bold;"><br style="color: rgb(255, 255, 255);">
      <br style="color: rgb(255, 255, 255);">
      <span style="color: rgb(255, 255, 255);">13-07-1982</span><br style="color: rgb(255, 255, 255);">
      <br style="color: rgb(255, 255, 255);">
      </span>
      <div style="text-align: right;">
      <div style="text-align: center;"><span style="font-weight: bold;"><span style="color: rgb(255, 255, 255);">Geboren: Amstelveen</span></span><br>
      </div>
      <span style="font-weight: bold;"><span style="color: rgb(255, 255, 255);"></span></span></div>
      <span style="font-weight: bold;"><span style="color: rgb(255, 255, 255);">
      <br>
      </span></span></td>
      <td style="width: 0px;" align="undefined" valign="undefined"></td>
      <td style="vertical-align: top; text-align: left; width: 290px;"><img style="width: 164px; height: 219px;" alt="" src="kimvakklein.jpg"><br>
      </td>
    </tr>
  </tbody>
</table>

Stap 8 t/m 2500
Het prettige van de classes in de html is, dat je bij een volgend familielid niet alles nog eens dunnetjes over hoeft te doen. De classes en dus de opmaak blijven hetzelfde, de html in feite ook, en alleen wat in een tabel anders is, hoeft te veranderen. Je kopieert gewoon de tabel in de broncode, je plakt 'm er onder, en dan kan je in de opmaak-weergave (of meteen in de broncode, wel zo snel) zo de andere foto's en de andere gegevens invullen. Hokus pokus, het gaat vanzelf!
Zo zijn al snel de 2500 familieleden in kaart gebracht.
Je kunt eventueel ook één foto gebruiken in plaats van twee. Celletje meer of minder: gecentreerd blijft het altijd.

Zo, dat leek wel een mini-cursus. ;)
Succes,
ÇSShunter
 
Laatst bewerkt:
De familie-tabel zonder tabel !

Nou beweerde ik wel bovenin nr #29, dat
... tabellen niet zo geschikt zijn voor opmaak-zaken. Dat kan beter/mooier met css.
maar hoe zit dat?
Dat zit zo, dat je met css al die <tbody>'s, <tr>'s, <td>'s, </tbody>'s, </tr>'s, </td>'s en bijbehorende zaken als cellpadding="0" en cellspacing="5" in de html helemaal kwijt kunt raken. Er blijft alleen over:
HTML:
<div class="famlid">
	<img src="images/kim-verkleind.jpg" width="200" height="219" alt="">
	<div>
		<h2>Mama Kim</h2>
		<h3>13-07-1982</h3>
		<h4>Geboren: Amstelveen</h4>
	</div>
	<img src="images/kimvakklein.jpg" width="164" height="219" alt="">
</div>
De rest zit in de css. Is dat niet wonderschoon? :D
Dit kan zo werken, omdat je met css kunt opgeven dat een element het gedrag van een tabel-cel moet nabootsen (zonder dat de omliggende <table>, <tr> en <td> nodig zijn in de html-code).
Tenminste, zo werkt dat in elke zichzelf en de webstandaarden respecterende browser: Firefox, Opera, Safari en Chrome.
MAAR ... dit werkt helaas niet in Internet Explorer 7 (of eerder; wel in IE8), zie ook Quirksmode hierover. Hier is een:
Dat levert op:

familie-tabel-9.gif

Omdat behoorlijk veel mensen nog IE7 gebruiken, kan hier dus de mooiste oplossing niet gebruikt worden.

Een simpel alternatief
Nu zou je misschien IE7 en IE6 in het gareel kunnen krijgen met een wordaround voor het missen van ondersteuning voor de table eigenschap, maar dat is niet zo eenvoudig, en waarschijnlijk kom je ofwel toch uit op een tabel in de html, ofwel je hebt veel extra html en css nodig. Dat is het dus niet.

Maar er is nog een eitje van Columbus. Wat dacht je van deze html:
HTML:
<div class="famlid">
	<img src="images/kim-verkleind.jpg" width="200" height="219" alt="">
	<img src="images/mama-kim.gif" width="200" height="219" alt="">
	<img src="images/kimvakklein.jpg" width="164" height="219" alt="">
</div>
Het geheim van Columbus wordt daarin al verklapt: er is helemaal geen tabel, er is ook geen nagebootste tabel, maar de "tabelcel" is ... óók een afbeelding.
Dat werkt ook in alle Internet Explorers, en niemand die het verschil ziet. :p
Zo'n afbeelding per familielid is gauw gemaakt als je bv. de pagina 8 van hierboven beperkt tot alleen de middelste cel. Dan heb je een:
In die pagina telkens even naam, geboortedatum en geboorteplaats van een famililied invullen, bekijken in de browser, screenshotje maken, en in een tekenprogramma het nodige blokje opslaan als gif'je.
Zo'n plaatje is nog géén 1kB groot, dus behalve bij 2500 familieleden zal dat weinig schelen voor de snelheid waarmee de familieleden-pagina op het scherm staat.

Gauw gemaakt dus. En makkelijke html, terwijl in de css alleen maar de verticale afstand van de rijtjes met familieleden neergezet hoeft te worden.
Ook voor de privacy heeft dit voordelen: er is nu niet makkelijk via Google de geboortedatum en geboorteplaats van de familieleden op te vragen. Je weet tenslotte nooit waarvoor dat misbruikt zou kunnen worden.

Conclusie
De oplossing familie-tabel-8.htm is prima, maar deze plaatjes-oplossing is eigenlijk wel zo handig ("dat ik daar nou niet eerder aan gedacht heb").
Alle hierboven neergepende ingewikkelde verhalen over Kompozer, html en css zijn daardoor ingehaald. :d
Maar je hebt in elk geval kunnen genieten van hoe het in de css-keuken ruikt. ;)

Met vriendelijke groet,
CSShunter
 
wow wat een verhaal whahaha... jemig !

Ik kom net mijn bed uit (lui he) en moet zo weg... maar ga er ZEKER mee aan de slag !
Super aardig dat je zo'n hele uitleg hebt gegeven :D:D:D

ik laat hier weten hoe het is gegaan!
 
nogmaals bedankt voor je enorme uitleg

ik begrijp dus dat je onderstaande oplossing makkelijker en handiger is dan bovenste.. dus dat bovenste verhaal heb ik natuurlijk wel braaf gelezen :) maar daar doe ik dus niets mee.

Het onderste verhaal snap ik niet geheel (helaas).

Ik snap dat ik jouw html stukje gewoon kan overnemen (en dan mijn eigen foto gegevens erin natuurlijk)...
en dan heb ik gewoon 3 afbeeldingen naast elkaar. Dus dan heb ik geen tabel nodig (jeej).
Alleen hoe maak ik zo'n middelste cel ? met tekst e.d. ?

ik snap dit niet: Zo'n afbeelding per familielid is gauw gemaakt als je bv. de pagina 8 van hierboven beperkt tot alleen de middelste cel. Dan heb je een:

* hulppagina familie-tabel-plaatjesmaker.htm

In die pagina telkens even naam, geboortedatum en geboorteplaats van een famililied invullen, bekijken in de browser, screenshotje maken, en in een tekenprogramma het nodige blokje opslaan als gif'je.


want nu beschrijf jij dat ik gebruik maak van pagina 8 (??) en pagina 10 (???)
Kun je mij dat nog uitleggen?
 
Wat ik bedoelde: je gebruikt de tabel-oplossing ("pagina 8"), maar dan alleen de romp ervan (= "familie-tabel-plaatjesmaker.htm") alleen thuis, om snel de plaatjes voor de middelste cel te maken.
Procedé als volgt:
  • Je download de pagina familie-tabel-plaatjesmaker.htm, en slaat die lokaal op een mooi plekje op.
  • Als je een afbeelding voor een middelste cel nodig hebt, open je die pagina.
  • In de html-code verander je naam, geb.datum en geb.plaats.
  • Je slaat 'm op en bekijkt 'm in de browser.
  • Dan een screenshot maken (toets Print Screen).
  • Een tekenprogramma openen, dan Menu: Bewerken > Plakken.
  • Hele scherm met middelste cel staat nu in tekenprogramma.
  • Rest van het scherm is niet nodig.
  • Selecteer plaatje, en dan Afbeelding > Bijsnijden tot selectie.
  • Opslaan als gifje, klaar met voorbereiden.
  • De plaatjesmaker-pagina wordt hartelijk bedankt, en kan uit tot de volgende keer.
Nu het echte werk:
  • Gifje uploaden naar de server waar de website op staat.
  • De familieledenpagina met de plaatjesoplossing aanmaken, dus iets als familie-tabel-10.htm .
  • In de broncode de vindplaats van het middelste plaatje van de betreffende rij opgeven: d.w.z. het pad op de server naar waar je het gifje hebt gestald.
  • Familieledenpagina opslaan en ook uploaden.
  • Bezichtigen! :)
Met vriendelijke groet,
CSShunter
 
En het kan nog makkelijker, als je de Plaatjesmaker-pagina automatiseert met wat javascript. Dan hoef je niet eens meer iets in de broncode te veranderen, maar kan je het gewoon in de browser invullen.
Nu kan je direct het screenshot maken. Makkie, wat? :)

Met vriendelijke groet,
CSShunter
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan