breedte scherm bij spatiegebruik discussie in iPhone Apps forum; ( verdwijnt na registratie ) Hallo Ik heb een kleine website voor gitaartablatuur voor de iPhone. als ik de spaties vervang door & nbsp ; (aanelkaar) dan wordt de paginabreedte ...
|
Registreer | FAQ | Ledenlijst | Kalender | Berichten van vandaag | Zoeken |
#1
|
|||
|
|||
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 en 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> |
|
|
Gesponsorde links (verdwijnt na registratie)
|
#2
|
|||
|
|||
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. |
#3
|
||||
|
||||
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!
__________________
... Laatst gewijzigd door InternetRebel; 19-01-09 om 17:23. |
#4
|
|||
|
|||
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. |
#5
|
||||
|
||||
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. |
#6
|
|||
|
|||
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:
Laatst gewijzigd door rcsmit; 20-01-09 om 04:37. |
#7
|
||||
|
||||
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. |
#8
|
|||
|
|||
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....
|
#9
|
||||
|
||||
zet er eens een div omheen :
<div style="width:320px;margin:0px;"> jouw code </div>
__________________
koekeloer |
#10
|
||||
|
||||
dit vond ik wel een leuke uitdaging! dit is hoe ik het in php heb gedaan:
PHP-code:
|
#11
|
|||
|
|||
Het is gelukt!
Hier de code voor de liefhebbers Code:
if rs1("tabs")<> "" then My_Array1=split(rs1("tabs"),chr(13)) For i=0 to UBound(My_Array1) woord= My_Array1(i) if woord<>"" then n=0 lengte=len(woord) if lengte<schermbreedte then tabtemp=tabtemp&woord & "<br>" else start=1 do until laatsteregel=1 loper=start+schermbreedte 'loper = 30 schermbreedte=20 'start=1 'response.write "loper:"&loper if loper>lengte then loper=lengte end if if schermbreedte > (lengte-start) then tabtemp=tabtemp & Mid (woord,start, (lengte-start+1)) & "<BR>" laatsteregel=1 exit do else for m=loper to (start) step -1 teken=mid (woord, m,1) if m=start then 'de loper is aangekomen bij de start zonder een spatie tegengekomen zijn telang=1 gevonden=1 if positie=0 then positie=loper end if if teken =" " then gevonden=1 if positie=0 then positie=m+1 end if next end if tabtemp=tabtemp & Mid (woord,start, (positie-start)) & "<BR>" if telang=1 then start=positie telang=0 else start=positie+1 end if positie=0 loop end if 'tabtemp=tabtemp& tabeind & "<BR>" laatsteregel=0 positie=0 end if 'if woord <>"" next tabs3 = Replace(tabtemp," "," " ) end if |
Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten) |
|
Soortgelijke discussies |
||||
Discussie | Auteur | Forum | Reacties | Laatste bericht |
probleem bij reparatie scherm | rodyp | iPhone algemeen | 12 | 24-04-10 00:11 |
Scherm oplichten bij sms | mcbbvb | iPhone algemeen | 4 | 12-06-09 18:08 |
Raar scherm bij jailbreaken | maltje | Archief | 1 | 11-05-09 19:11 |
grijs scherm bij opladen | Mr Cesc | iPhone algemeen | 3 | 12-04-09 18:27 |
|
|