webForumDet fria alternativet

Dynamisk menyelementlängd?

Webbutveckling

4 svar · 312 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1

Det blir fel när jag försöker dynamiskt ändra storlek på menyelement till en meny.
Så här gör jag:

textstorlek = 11
minLängd = (textlängd * textstorlek) + 10

Men som du ser i den bifogade bilden så blir menyn för lång med ett ord med många bokstäver. Tips hur man skulle kunna få detta att funka mottages gärna.

text.gif
Medlem sedan aug. 2000374 inlägg
#2

Bredden på de olika tecknen varierar såvida du inte använder typsnitt som har fast bredd på tecknen, typ Courier.

Komponenten/modulen som du använder har nog en metod för att få fram "bounding box" eller "bounding rectangle".

Vad använder du för språk och modul/komponent?

Pseudo kod i JavaScript:

var font = new Font;
font.file = '/System/Library/Fonts/Tahoma.ttf';
font.size = 12;

// get bounding box
var bbox = font.bbox('Hello World');

// add 10px to width;
var width = bbox.width + 10;

// generate a new image
var image = new Image;
image.width  = width;
image.height = 25;

// render text on image
Medlem sedan nov. 20017 144 inlägg
#3

Det är javascript japp.

Medlem sedan aug. 2000374 inlägg
#4

Kan du förtydliga din fråga?

Försöker du generera en "meny" i html med hjälp av DOM, CSS och Javascript?

eller:

Försöker du generera en Bitmap/Vektor bild med hjälp av en komponent/modul?

Medlem sedan nov. 20017 144 inlägg
#5

För att svara på din fråga: Ja .... ;)
Problemet gäller i båda fallen.

249 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)