Zum Inhalt springen

Menüs mit Hintergrundgrafik (runde Ecken) & passender Lä

Erstellt am 26. April 2004 · 5 Antworten · letzte Antwort am 30. November 2005

Tags: Frage

dieck ·

Hi!

Ich hab ein Problem wo ich nicht so richtig einen Ansatz finde:

Ich will ein (G)Menü bauen, dass eine Hintergrundgrafik mit abgerundeten Ecken und einen Farbverlauf zu einem anderen Hintergrund hat, und sich in der Länge anpasst.

Zu komplex erklärt? OK, ich will ein Menü (der Ebene 2) wie auf www.ejh.de - auf Themen klicken (direkter Link wird durch ekelhafte Frames verwehrt) - und dann oben am Browserfenster.

Ich habe mir die Hintergrundgrafik geholt und 3 Teile von gemacht: links, mitte, rechts, mit den Ecken links und rechts sowie einem "Streifen" aus der Mitte.
Falls das was bringt 🙂

Ich habe es mit

temp.menu2 = HMENU
temp.menu2.special = directory
## id "Aktuelles" testweise = 3
temp.menu2.special.value = 3
temp.menu2.1 = GMENU
temp.menu2.1 {

   expAll=0
  NO { .. }
  ACT = 1  
  ACT {
    10.beforeImg = fileadmin/templates/main/images/menu1links.gif
     backColor = #FFFF99
    XY = 118, 25
    10 = TEXT
    10.transparentBackground=1
     10.text.field = title
     10.fontAlign = left
     10.fontSize = 12
      10.offset = 5, 15
     10.niceText = 1
      10.fontColor = #C71585
     10.shadow.offset = 1,1
      10.shadow.color = #444444
   }

probiert, aber das klappt nicht, die linke runde Ecke wird schon nicht angezeigt.

Also die 3 Fragen:
Wie mache ich nur ein Menü der Ebene 2 der aktuellen Ebene 1?
Mit dem temp.menu2.special.value kommt mir das arg gezwungen und vor allem zu statisch vor.

Wie realisiere ich die "runden" Ecken?

Des weiteren würd ich die Menü-Grafiken natürlich gerne nur so breit haben wie nötig (vgl. "Andere" und "Arbeit mit Kindern" auf o.g. Website)

TW ·

hi
also zu deinem problem........
du musst die grafik eine schicht unterhalb des textes setzen, sonst klappt es nicht....siehe code!

4 = IMAGE
4.file = fileadmin/elemente/bg_menue.jpg
10 = TEXT 
10.text.field = title 
10.align = left 
10.text.listNum = 0 
10.fontFile = fileadmin/fonts/infobtc.ttf
10.fontSize = 18
10.fontColor= #1FA1A5
#10.shadow.offset=1,1 
#10.shadow.Blur=70
10.niceText = 0
10.offset = 12, 18

} 
ACT < .NO 
ACT = 1 
ACT.4.file = fileadmin/elemente/bg_menue.jpg
RO < .NO 
RO = 1 
RO.4.file = fileadmin/elemente/bg_menue.jpg
}

zu deinen fragen:
1. siehe code
2. bau dir eine grafik mit runden ecken.........
bei www.typo3-for-the.net habe ich auch mit grafiken auf linienbasis
gearbeitet..
3. warum? vom design her, siehts dann geschmacklos aus (meine meinung), aber wenn du ne grafik in den hintergrund legst und die dann je nach textgrösse skalierst wird die grafik ditherig!!!!!!!!!!!!!!

ich weiss nicht, ob so ne gestrachte grafik wirklich das ist, was man sich ansehen will!!!!!

ps: die von dir angegebene Webseite hat ein GMENU_LAYER
mehr infos dazu hier:
http://www.typo3-for-the.net/layer.0.html

cu
thorsten

dieck ·
TW schrieb

hi
also zu deinem problem........
du musst die grafik eine schicht unterhalb des textes setzen, sonst klappt es nicht....siehe code!

zu deinen fragen:
1. siehe code

Erstmal Danke, werd ich gleich ausprobieren

TW schrieb

2. bau dir eine grafik mit runden ecken.........
bei www.typo3-for-the.net habe ich auch mit grafiken auf linienbasis
gearbeitet..
3. warum? vom design her, siehts dann geschmacklos aus (meine meinung), aber wenn du ne grafik in den hintergrund legst und die dann je nach textgrösse skalierst wird die grafik ditherig!!!!!!!!!!!!!!
ich weiss nicht, ob so ne gestrachte grafik wirklich das ist, was man sich ansehen will!!!!!

Ich will nicht die Grafik ganz skalieren, sondern nur den Mittelteil.
Also die Rahmenkanten bleiben immer gleich.
Deswegen habe ich hier gerade 3 Grafiken liegen: links (Rand mit Ecke links), rechts (Rand mit Ecke rechts) und Mitte (ein vertikaler "Streifen" aus der Mitte)

TW schrieb

ps: die von dir angegebene Webseite hat ein GMENU_LAYER
mehr infos dazu hier:
http://www.typo3-for-the.net/layer.0.html

Die von mir angegebene Website ist statisch und hat noch nie ein Typo3 gesehen 🙂

TW ·
dieck schrieb
TW schrieb

hi
also zu deinem problem........
du musst die grafik eine schicht unterhalb des textes setzen, sonst klappt es nicht....siehe code!

zu deinen fragen:
1. siehe code

Erstmal Danke, werd ich gleich ausprobieren

TW schrieb

2. bau dir eine grafik mit runden ecken.........
bei www.typo3-for-the.net habe ich auch mit grafiken auf linienbasis
gearbeitet..
3. warum? vom design her, siehts dann geschmacklos aus (meine meinung), aber wenn du ne grafik in den hintergrund legst und die dann je nach textgrösse skalierst wird die grafik ditherig!!!!!!!!!!!!!!
ich weiss nicht, ob so ne gestrachte grafik wirklich das ist, was man sich ansehen will!!!!!

Ich will nicht die Grafik ganz skalieren, sondern nur den Mittelteil.
Also die Rahmenkanten bleiben immer gleich.
Deswegen habe ich hier gerade 3 Grafiken liegen: links (Rand mit Ecke links), rechts (Rand mit Ecke rechts) und Mitte (ein vertikaler "Streifen" aus der Mitte)

TW schrieb

ps: die von dir angegebene Webseite hat ein GMENU_LAYER
mehr infos dazu hier:
http://www.typo3-for-the.net/layer.0.html

Die von mir angegebene Website ist statisch und hat noch nie ein Typo3 gesehen 🙂

hi
ups.............im eifer des gefechtes übersehen...............
na aber wenn es ne typo3 seite wäre.....dann wäre es ein layer menü #giggle#

ne aber ich würd das ganze auf eine einheitliche linie bringen mit den menügrafiken meine ich....................
ausserdem wirst du es nicht schaffen drei grafiken nebeneinander in nem menü anzuzeigen......

vielleicht geht es, aber ich denke nicht!
habs jedenfalls noch nirgendwo gesehen!

cu
thorsten

DirkF ·

Ich will nicht die Grafik ganz skalieren, sondern nur den Mittelteil.
Also die Rahmenkanten bleiben immer gleich.
Deswegen habe ich hier gerade 3 Grafiken liegen: links (Rand mit Ecke links), rechts (Rand mit Ecke rechts) und Mitte (ein vertikaler "Streifen" aus der Mitte)

Der Trick ist, daß die Ausgangsgrafik für die Mitte so groß zu machen, daß sie immer paßt, hier zum Deispiel ist die Datei 100px breit. Beim erzeugen des PNGs skaliert das Typo dann automatisch runter. Im Beispiel sind die Grafiken für die Ecken links und rechts je 13px breit, dies muß bei der Berechnung der Positionierungen und der XY-Größe mit beachtet werden. Um die Ecken transparent zu machen, wird eine Transparenz-Farbe definiert - hier #000000. In den gif-Dateien wird der transparente Bereich mit dieser Farbe gefüllt. Im Typo wird diese Farbe dann durch transparentColor = #000000 transparent gemacht.

####################################################
#TOPMENU - Hauptnavigation
####################################################
temp.menu_main_top = HMENU 
temp.menu_main_top.special = directory
temp.menu_main_top.special.value = 8938
temp.menu_main_top.1 = GMENU 

temp.menu_main_top.1.NO { 
          wrap = <td class="mainnavi">|</td>
          XY = [15.w]+26,[15.h]+10 
          transparentColor = #000000

          # linke abgerundete ecke #
          5 = IMAGE
          5.file = fileadmin/images/seitenkopf/btn_hauptnavi_l.gif
          5.offset = 0

          # hintergrund mit verlauf #
          10 = IMAGE
          10.file = fileadmin/images/seitenkopf/btn_hauptnavi_m.gif
          10.offset = 13
          10.dimensions = [15.w],21

          15 = TEXT
          15.text.field = title 
          15.fontFile = fileadmin/ttf/BSB11___.PFB
          15.fontSize = 11
          15.fontColor = #013499
          15.offset = 13,15

          # rechte abgerundete ecke #
          20 = IMAGE
          20.file = fileadmin/images/seitenkopf/btn_hauptnavi_r.gif
          20.offset = [15.w] + 13
}
mavo ·

Hallo,

ich suche so was ähnliches. Auf welcher Seite läuft den das Menü? Ich habe nämlich das Problem, dass bei mir die Links sehr unterschiedlich lang sind und ich damit keine feste Breite für die Menübilder verwenden kann.
Gibt es eine Möglichkeit zu sagen, dass das Bild so breit wie der Text sein soll plus den Platz für die runden Ecken?