PDA

Bekijk Volledige Versie : Afmetingen pop-up venster berekenen



Roel
09/02/03, 19:05
Beste NIWS,

Ik genereer in een php script wat uitslagen die ik dan vervolgens toon in
een pop-up venstertje.
Ik heb daarbij de afmetingen van tevoren ingesteld (zeg 300 pix breed en 500
pix hoog).
Is het mogelijk om aan de hand van de lengte van in informatie (aantal
regels onder elkaar) ook de afmetingen van dat pop-up venstertje vast te
zetten ? Nu maak toon ik standaard een popup van 300x500, terwijl de
informatie soms
maar 300x200 inneemt.

Kan iemand mij vertellen hoe ik zoiets kan maken ? Misschien is het al eens
gemaakt ; het zal waarschijnlijk
ook wel in php kunnen; aantal regels tellen en per regel 10 pixels
hoogteberekenen oid.
In de trant van pop-up window <300 pix breed> <aantal regels * 10 pixels
hoog> of zoiets..

Ik lees het wel, alvast bedankt !
Roel

Ronald Paul
09/02/03, 20:55
"Roel" <roel@haalweggzeelandweb.net> schreef:

>Kan iemand mij vertellen hoe ik zoiets kan maken ? Misschien is het al eens
>gemaakt ; het zal waarschijnlijk
>ook wel in php kunnen; aantal regels tellen en per regel 10 pixels
>hoogteberekenen oid.
>In de trant van pop-up window <300 pix breed> <aantal regels * 10 pixels
>hoog> of zoiets..
>
>Ik lees het wel, alvast bedankt !

Het is heel vrijwel onmogelijk danwel onmogelijk dit exact vanuit PHP
te berekenen, aangezien je nauwelijks of helemaal niet kunt
voorspellen hoe de browser de tekst gaat renderen. Alleen in het geval
van tekst met een fixed pitch font en met de zekerheid dat elke
browser deze met dezelfde lettergrootte en marges renderd kun je dit
exact bepalen.

Het beste wat je kunt doen is zelf een factor afleiden tussen de
lengte van de tekst (in aantal tekens te renderen tekst) en de
benodigde hoogte. Neem deze iets ruimer voor browsers die de tekst wat
groter renderen, of voor mensen die de tekstgrootte zelf handmatig
aanpassen en je bent klaar:

$hoogte = strlen($tekst) * .8;

--
Groet, Ronald

Ronald Paul
09/02/03, 20:55
Ronald Paul <usenet@rcpaul.nl> schreef:

> $hoogte = strlen($tekst) * .8;

En dat natuurlijk ook nog naar boven afronden:

$hoogte = ceil(strlen($tekst) * .8);

--
Groet, Ronald

Thijs De Jonghe
09/02/03, 23:25
> > $hoogte = strlen($tekst) * .8;
>
> En dat natuurlijk ook nog naar boven afronden:
>
> $hoogte = ceil(strlen($tekst) * .8);


'k zou dan ook wel line-height in pixels instellen met css & natuurlijk de
grootte van je tekst

veel plezier ermee
laat je het resultaat zien?


--
Thijs De Jonghe
www.pixelart.be
http://users.scoutnet.be/vvksmlede

Roel
12/02/03, 11:25
"Ronald Paul" <usenet@rcpaul.nl> wrote in message
news:kr8d4vs4l05b38484c4ppmcsf4b5gks0h3@4ax.com...

> > $hoogte = strlen($tekst) * .8;
>
> En dat natuurlijk ook nog naar boven afronden:
>
> $hoogte = ceil(strlen($tekst) * .8);

Heee gouden tip; bedankt !

roel