niet helemaal correct

Status
Niet open voor verdere reacties.

ladycreative

Gebruiker
Lid geworden
17 dec 2011
Berichten
186
Zojuist mijn website ge-upload. Helaas verspringt het menu op de verschillende pagina's. Hoe kan dit ?
Ook de link teksten wil om een een of ander reden niet lukken.
En tot slot kan op de contact pagina geen mail verzonden worden. Kan iemand mij helpen met deze finishing-touch dingetjes?

Alvast hartelijk dank!
 
Linkje? Ik weet dat je die in een ander draadje wel gegeven hebt maar ik heb geen zin om te gaan graven.
 
Stom stom stom...dat vergeet ik nu elke keer... ( shame...) www.my-imagine.nl
Scusa Naarling....

Wat raar is dat de link teksten niet werkt terwijl ik in de HTML geen fout kan vinden. Hij is precies zoals de andere die wel gewoon doorlinken.. strange....
 
Laatst bewerkt:
1) Dat verspringen van het menu zie ik niet, in welke browser en op welke pagina's gebeurt dat?
2) Bij "teksten" staat geen link, alleen een plaatje. Misschien dat je en verkeerd bestand hebt geupload waardoor de online versie en de versie op je PC niet meer dezelfde zijn.
3) Het formulier verwijst naar het bestand mail.php, dat bestand staat niet op je server, of in elk geval niet waar het formulier denkt dat het staat. Zonder dat php bestand zal je formulier niet werken.
 
Hoi ladycreative,
Wat raar is dat de link teksten niet werkt ... Hij is precies zoals de andere die wel gewoon doorlinken.. strange....
Niet zo strange! ;) Hij is niet zo als de andere, want bij andere links is het img opgenomen in een <a href="..."> link. Bij "Teksten" staat er alleen maar het plaatje, zonder links (O, dat zei Naarling ook al).

=======

Het verspringen van het menu zie ik, in alle browsers: het is het verticaal en/of horizontaal verspringen van de items, bv. tussen de pagina's Portfolio en Profiel.

myimg-menu-ff.png
myimg-menu-cr.png

Firedox | Chrome​

Internet Explorer 7 doet het nog weer anders.

Oorzaak
De site is gemaakt met een tabel-opmaak. :eek:
Het menu zit in cellen aan de linkerkant, de inhoud zit in cellen aan de rechterkant.


  • Als de inhoud aan de rechterkant hoger is, worden in Firefox de cellen aan de linkerkant evenredig in hoogte uitgerekt (en krijgen de menu-items dus een andere hoogte-positie dan op een andere pagina.
  • Chrome doet het uitsmeren van teveel ruimte in een kolom anders! Die begint bovenaan met de cellen onder elkaar te plaatsen, en geeft de laatste (hier: lege) cel de extra hoogte om aan te sluiten bij de hoogte van de rechterkolom met de inhoud.
  • Iets dergelijks kan met de links-rechts positie gebeuren: als er rechts meer kolommen of bredere inhoud is, kan de breedte van de linkerkolom veranderen...

Dit is nu eenmaal het karakter van tabellen: alles moet er altijd in rijen en kolommen in passen, dus er wordt gerekt en getrokken dat het een lieve lust is. :rolleyes:
En bovendien:
Voor het uitsmeren van "overschotten" in hoogte of breedte in de cellen in een rij of kolom bestaan niet altijd vaste standaarden: dan mogen browsers zelf iets doen (en dat doen ze dus verschillend).

Oplossing
Géén tabelstructuur voor de opmaak!
Daar zijn tabellen ook niet voor bedoeld; vroeger kon het soms niet anders, maar tegenwoordig kan alle opmaak goed geregeld worden met css.
  • Op z'n minst moet de linkerkolom met het menu uit de tabel op elke pagina gehaald worden.
  • De linkerkolom kan een {float:left;} krijgen om links te blijven drijven, en met css kunnen de menu-items een mooie positie krijgen. Die blijft dan op elke pagina dezelfde.
  • De tabel voor de inhoud moet dan de overblijvende pagina-breedte krijgen, en komt er onafhankelijk naast. Dan mag de inhoud zo kort of hoog worden als de inhoud nodig heeft, het menu blijft op z'n plek.
Het is dus meer een "basic touch" dan een "finishing touch". :)

Met vriendelijke groet,
CSShunter
 
Heb het menu uit de tabellen gehaald, en de uitlijning op rechts Maar volgens mij gaat het nog steeds alle kanten op.
Ben heel erg blij met je uitleg CSS Hunter...al blijft het pittige kost. Ik gebruik Dreamweaver 5.





Site wil niet uploaden, ( zijn we ook al maanden tot in de treurnis mee bezig..) dus ik wacht wel even af tot dat weer in orde is...
 
Laatst bewerkt:
Hoi lady,
Heb het menu uit de tabellen gehaald, en de uitlijning op rechts. Maar volgens mij gaat het nog steeds alle kanten op.
Met wat ik op dit moment zie, springt een wissel tussen bv. de portfolio-pagina en de de profiel-pagina inderdaad nog wat heen en weer.
Maar het menu is nog niet helemaal uit de tabellen gehaald: het zit nog steeds in de "moedertabel" waar de hele pagina in zit.

=======
...al blijft het pittige kost.
Ja, als je een pagina mooi wilt inrichten zonder tabellen, met alleen een goede html-structuur en verder css voor de opmaak, dan komt er nogal veel op je af.
Maar met het samenvoegen van de cellen in de menu-kolom ben je op de goede weg! :thumb:
Van mij hoef je ook niet in één klap alle tabellen te vergeten. ;) (zou wel het mooiste zijn, daar niet van; zie bv. de "Total Tabel Make Over" in dit topic).

We gaan een tabel / css - mix maken!
Met het geven van een ID aan een element kan je dat element later vastpakken om de styles ervan te bepalen; ID = IDentificatie.
We geven dus een ID aan de cel van de menu-kolom. En alle <p>&nbsp;</p>'s voor het creëren van afstanden gooien we er uit, dat moet/kan ook met css.

Html met tabel
De html-code (in het code-venster van Dreamweaver) is nu bij jou:
HTML:
<body>
<table width="100%" border="0">
  <tr>
    <td width="360" height="882" align="right" valign="top" nowrap="nowrap"><p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p><a href="portfolio.html"><img src="portfolio1.jpg" alt="portfolio" width="132" height="39" /></a></p>
    <p><a href="profiel.html"><img src="profiel1.jpg" width="103" height="39" alt="profiel" /></a></p>
    <p><a href="teksten.html"><img src="teksten1.jpg" width="103" height="42" alt="teksten" /></a></p>
    <p><a href="boek.html"><img src="boek1.jpg" width="71" height="44" alt="boek" /></a></p>
    <p><a href="contact.php"><img src="contact1.jpg" width="109" height="39" alt="contact" /></a></p>
    <p>&nbsp;</p></td>
    <td align="left" valign="top" ><!-- InstanceBeginEditable name="paginainhoud" -->
<table ... enz.
Dat gaat vereenvoudigd worden tot dit:
HTML:
<body>
<table width="100%" border="0">
	<tr>
		<td id="menu">
			<p><a href="portfolio.html"><img src="portfolio1.jpg" alt="portfolio" width="132" height="39" /></a></p>
			<p><a href="profiel.html"><img src="profiel1.jpg" width="103" height="39" alt="profiel" /></a></p>
			<p><a href="teksten.html"><img src="teksten1.jpg" width="103" height="42" alt="teksten" /></a></p>
			<p><a href="boek.html"><img src="boek1.jpg" width="71" height="44" alt="boek" /></a></p>
			<p><a href="contact.php"><img src="contact1.jpg" width="109" height="39" alt="contact" /></a></p>
		</td>

		<td align="left" valign="top" ><!-- InstanceBeginEditable name="paginainhoud" -->
<table ... enz.

CSS: algemene maatregelen
Eerst zetten we bij de css in de <head> een paar algemene herstel-operaties. Voor Internet Explorer halen we de vette randen weg, die een afbeelding krijgt als die afbeelding in een link opgenomen is:

ie-img-randen.png

IE7: randen om img in een link​

Verder hebben een heleboel geneste tabellen en tabel-cellen een opgegeven breedte. Dat zal er door Dreamweaver in gezet zijn, als je in de ontwerp-weergave aan het tekenen van de tabellen bent geweest. Maar dat kan wel de opmaak verstieren, en dat is niet de bedoeling.
Samen met het vermijden van een ongevraagde afbeeldingsrand in IE wordt het in de css:
Code:
table,
table td {
	width: auto !important;    /* voorrangsregel: sloopt alle opgegeven tabel- en cel-breedtes */
	}
a img {
	border: 0; /* images in een link krijgen ook in Internet Explorer dan geen vette blauwe rand */
	}

CSS pakt de ID
Met een hekje voor de naam van een ID uit de html-code kan nu in de css bij alles de opmaak bepaald worden.
In principe volstaat hier:
Code:
#menu {
	vertical-align: top;       /* cel niet verticaal in het midden centreren */
	width: 340px !important;   /* muurvaste breedte */
	padding-top: 310px;        /* bovenruimte, ipv de riedel <p>&nbsp;</p> */
	}
#menu p {	                   /* styles voor alle <p>'s die in het menu zitten */
	margin-bottom: 20px;       /* afstand voordat de volgende regel begint */
	text-align: right;         /* alles rechts uitgelijnd */
	}
Ook dit moet toegevoegd worden aan het stijl-blokje in de <head> van elke pagina.

Voor het mooi, en voor de bezoeker handig om te zien dat hij/zij op een link zit, kan voor de hovers over een menu-link een gekleurd randje toegevoegd worden. Dat gaat bv. als volgt:
Code:
#menu a {                      /* styles voor alle links die in het menu zitten */
	width: 132px;              /* breedte grootste img */
	height: 44px;              /* hoogte hoogste img */
	display: inline-block;     /* hele link-gebied aanklikbaar maken */
	padding: 2px 4px 2px 0;    /* wat opvulling om het img heen, voordat het hover-randje begint */
	border: 1px solid #0D0D0D; /* = body-background: onzichtbaar randje voor de gewone link-toestand */
	}
#menu a:hover,
#menu a:focus {                /* styles voor een hover op een link die in het menu zit */
	border: 1px solid yellow;  /* randje wordt geel */
	}

=======
In de praktijk
Pas je dit toe op de pagina's Portfolio en Profiel, dan krijg je:



Nu wordt er niet meer heen en weer gesprongen door 't menu. :)

Met vriendelijke groet,
CSShunter
_____________
PS: Door het herstelwerk staan nu de afbeeldingen op de Portfolio-pagina uit zichzelf opeens veel mooier geordend. :)
 
Laatst bewerkt:
Bovenstaande vanmorgen een aantal uurtjes mee bezig geweest om te wijzigen en te testen maar mis mijn links bij het opslaan en
de blokjes met links staan dan allemaal links van de pagina gecentreerd. ( als ik ze ineens nog wel heb.)

De blokjes daaronder zeg je head van elke pagina of in de head van een slabloon?

Dank voor je hulp in ieder geval.. ook al lukt het allemaal nog niet zo goed.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan