breedte scherm bij spatiegebruik
Hallo
Ik heb een kleine website voor gitaartablatuur voor de iPhone. als ik de spaties vervang door & nbsp ; (aanelkaar) dan wordt de paginabreedte niet meer automatisch aangepast aan de iPhone. Ik heb het ook geprobeerd door te vervangen door & #160 ;, maar dat loste het probleem ook niet op. Als ik die vervanging niet doe, dan blijft de paginabreedte goed. (maar ik zie dan de akkoorden niet boven de juiste woorden staan). Heeft iemand een idee hoe ik dit goed kan maken? yTABz en yTABz De code in kwestie tabs2 = Replace(rs1("tabs"),Chr(13),"<br>" ) if test=1 then tabs3 = Replace(tabs2," "," " ) 'ZORGT VOOR BUG, VERBREEDT HET SCHERM else tabs3 = tabs2 end if http://img114.imageshack.us/img114/2...0131ui9.th.png en http://img151.imageshack.us/img151/2...0141gz3.th.png Tot slot de header <head> <title>yTABz</title> <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;"> <link rel="apple-touch-icon" href="icon.png"/> <style type="text/css"> <!-- body {margin:0;padding:0;position:absolute;top:0px;left:0px; font-family: "Courier New"; } --> </style> </head> |
Helaas heeft niemand een antwoord. Het is dan ook een hele specifieke vraag natuurlijk. Weet iemand andere forums (Engels, Frans of Italiaans) waar men dergelijke vragen kan stellen?
Trouwens, de width instellen op 320 of 320px helpt ook niet. |
Dat de nbsp; de pagina breder maakt is logisch. Dit is de HTML markup voor "No Break Space", ofwel een spatie zonder break, wat in normaal Nederlands weer betekend dat er dan een spatie wordt geplaats zonder dat de HTML rendering de regel omgooit om de pagina in het venster te passen.
Deze code gebruik je voornamelijk in tabellen waarbij je bijvoorbeeld niet wilt dat korte zinnen als een rij losse woorden onder elkaar verschijnen omdat de browser de tabelkolom te smal maakt. Spaties vervangen door een nbsp waarna de pagina-breedte niet meer wordt aangepast is dus geen bug maar juist precies zoals het hoort! :D |
Bedankt voor je uitvoerige antwoord. Je hebt inderdaad goed begrepen wat mijn bedoeling is. En zoals jij het brengt, is het ook gewoon heel logisch! Fixed font? Dan gaan we(=de browser) niet knoeien met de layout.
Ik moet dus gewoon mijn invoer gaan valideren op te lange regels en zeker mijn uitvoer gaan opmaken, want niet onmogelijk is met een splitcommando ofzo. |
Citaat:
Worden je pagina's opgebouwd via PHP of is het statisch? Anders zou je wellicht met allerlei berekeningen in PHP kunnen bereiken wat je wilt. Je zou ook ieder woord in een aparte cell in een tabel kunnen zetten en de tabs in een cel erboven. Dan ben je ook niet meer gedwongen om een lettertype met vaste breedte te gebruiken. Alleen zit je dan nog steeds met het probleem wanneer je een regel om wilt gooien naar de volgende. |
Ik gebruik ook Courier New op die site. En ik heb de code nu zo aangepast dat hij automatisch afbreekt na 30 tekens. Het ziet er soms niet zo mooi uit, maar nu staan de akkoorden wel boven de juiste woorden en wordt het scherm niet meer verbreedt wat verplicht scrollen tot gevolg heeft. Nu wordt het dus een kwestie van streng zijn bij de invoer.
De tabs komen uit een memoveld uit een access-database en worden gewoon gekopieerd van internet. Dus elk woord in een aparte cel zetten is een omweg die erg gecompliceerd is, nog gecompliceerder dan de regels afbreken bij de spatie (wat dus de volgende stap wordt om de lelijke afbrekingen te vermijden) Voor de liefhebber en het archief hieronder de code (in ASP) PHP-code:
|
O jee, ASP, daar weet ik HELEMAAL niks van. You're on your own! ;)
Maar wat wellicht een mooiere manier van afbreken geeft is om de "teller" te laten beginnen op de positie van de scherm-breedte (jij geeft 30 aan) en deze dan terug te laten lopen tot deze een spatie tegenkomt en DAT als afbreekpunt gebruiken. Bijvoorbeeld: "It's been seven hours and fifteen days" zet de teller (30) op "... and fift" en dan komt "een days" op de volgende regel. Niet echt fraai. Laat je 'm vanaf positie 30 terugtellen tot een spatie dan kom je netjes uit tot "...and" en dan ga je weet verder. Jij weet vast beter hoe je zoiets in ASP kunt vertalen. |
Kijk, zoiets was ik al van plan, maar was me nog niet gelukt. Maar zo heel ingewikkeld is het niet, dus het gaat er binnenkort nog wel komen....
|
zet er eens een div omheen :
<div style="width:320px;margin:0px;"> jouw code </div> |
dit vond ik wel een leuke uitdaging! dit is hoe ik het in php heb gedaan:
PHP-code:
|
Het is gelukt!
Hier de code voor de liefhebbers Code:
if rs1("tabs")<> "" then |
Alle tijden zijn GMT +2. Het is nu 13:02. |