Ik heb de flexslider van Jquery op mijn site gezet. Deze toont een foto over de volle breedte en is responsive. De foto is 2000 * 700 px. Wanneer het scherm kleiner is wordt de breedte van de foto aangepast en automatisch ook de hoogte. Maar onder de foto staan div blokjes met teksten en foto's. En nu het probleem en de vraag, die div blokjes blijven op hun vast positie staan zodat er een ruimte ontstaat tussen de foto en de div blokjes, hoe los ik dit op? Iemand een idee?
Hier de CSS van de flexslider en het div-element wat niet me wil verschuiven. Daaronder de html van de pagina. Eerst de slideshow en daarna het stukje Facebook.
De blokjes zijn relatief gepositioneerd ten opzichte van de bovenkant van het document, elke keer 644 px. Deze afstand-tot-de-bovenkant lijkt ook niet te veranderen als je het browservenster verkleint.
Wat is er op tegen om die blokjes gewoon gecentreerd te tonen na de flexslider div? Zonder al die expliciete instellingen verschuiven de blokjes automatisch naar boven wanneer je sleept met het browservernster volgens mij.
Ik raad je wel aan de broncode van die pagina eens onder de loep te nemen. Een voorwaarde voor het correct renderen van een pagina is dat de syntax van de HTML-code klopt (conform standaarden is). Indien hier geen sprake van is kan niet gegarandeerd worden dat e.e.a. correct wordt weergegeven. Het document heeft meerdere <!DOCTYPE html>, <html>, <head> en <body> tags. Dit lijkt mij niet kloppen.
Absolute gepositioneerd toch? Ik heb relatief ook geprobeerd
Potato, potahto. In beide gevallen stel je een vaste afstand in ten opzichte van de top van je document.
Als je de elementen simpelweg na de slider plaatst zonder extra positionele toevoegingen dan zorgt de natuurlijke flow van het document er al voor dat deze mee omhoog gaan indien je het venster verandert van grootte. Tenzij je dus de afstand tot de bovenkant van het document keihard vastspijkert zoals gebeurt met top: ...px;
Citaat:
De broncode heb ik nog eens bekeken, ik zie daar niet terug wat je schrijft, of ik snap het niet.
Dit komt misschien omdat de slider wellicht geen dimensies heeft en dat er dan mogelijk elementen over elkaar heen worden gezet. Je zou kunnen "forceren" dat elementen na de slider echt op een "nieuwe regel" als het ware worden gezet door de slider te clearen of een apart clear-element na de slider (en voor de logo's) te zetten:
Dit zal mogelijk al beter werken, later kun je kijken naar elegantere oplossingen.
Als je wilt dat we mee kunnen kijken hoe de situatie nu is zou een online voorbeeld wederom een stuk makkelijker zijn.
EDIT: argh, waarom overal absolute positioneringen? dit zorgt ervoor dat elementen uit hun natuurlijke flow worden gehaald en je deze op een vaste plek vastspijkert. Dat leent zich niet echt voor een flexibel/responsive design wel?
Hoewel ik dit stukje site eigenlijk niet online wil hebben vanwege indexeren door Google, staat hetgeen waar het over gaat nog steeds online. Dus meekijken kan: http://www.feelinghomecuracao.com/1/index2.php
Ik zal eens kijken of ik iets met clear kan doen, alvast bedankt weer!
Als ik een element niet vast positioneer, is het dan een kwestie van position op relative zetten of moet ik deze deze regel weg halen?
Hoewel ik dit stukje site eigenlijk niet online wil hebben vanwege indexeren door Google
Daarvoor zijn robots.txt en/of meta tags. Crawlbots van Google honoreren deze wel lijkt mij.
position: relative; gebruik je als je een element wilt transleren vanaf zijn oorspronkelijke, natuurlijke (static) positie. Of als een "anker" voor ondergelegen absolute gepositioneerde elementen.
In jouw geval wil je geen van beide. Je wilt gewoon div B na div A zetten. Dat is het enige wat je hoeft te doen. Al die extra rommel (position, top, left etc.) is daarvoor niet nodig - dit is al de default werking van positionering van elementen. Je zet B na A in je broncode, dan verschijnt het ook zo op je scherm. Ook als je het scherm van grootte verandert.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.