[HTML/CSS] Navigation - Bilder übereinanderlegen?

Novas

Well-known member
ID: 59046
L
27 April 2006
386
36
Moin!
habe folgende Navigation im Sinne:

Sollen also Tabs sein.
Der Tab der aktiven Seite ist der, der noch ein Stück nach unten geht. Das blaue Ding soll erscheinen wenn man mit der Maus über einen der anderen Tabs fährt.
Mein Problem: wie setzt man das sinnvoll um?

Kann ich einfach je drei Bilder machen und die irgendwie dreidimensional übereinanderlege und je nach Seite die Reihenfolge anders ist?

geht da vielleicht was mit CSS? Da kenn ich mich leider nicht aus...

Hoffe ihr könnt mir helfen.

Merci!



<edit> genau... das hier meine ich:
https://www.tutorials.de/forum/css/199934-bilder-uebereinander-legen.html
z-index. damit kann ich ja scheinbar bilder übereinander legen. fein. dann kann man ja sicher noch ein onmouseover irgendwie einbauen und dann sollte das ja gehen.
aber gehts nicht vielleicht doch einfacher???
</edit>


<edit2>
ja.. ich weiß ich bin ein Scherzkeks.. :p
habs jetzt folgendermaßen:
Code:
#eins
{
position:absolute;top:125px;left:68px;
z-index:0;
}
#zwei
{
position:absolute;top:125px;left:178px;
z-index:1;
}
#drei
{
position:absolute;top:125px;left:288px;
z-index:2;
}
#vier
{
position:absolute;top:164px;left:68px;
z-index:3;
}
#fuenf
{
position:absolute;top:125px;left:398px;
z-index:4;
}


#navi
{
position: relative;
}
.b:hover
{
 background-color:#aaaaff;
}
.a {
      display:block;
      color:#000;
      width:107px;
      height:41px;
      padding:7px;
      font-size:14px;
      font-family:Verdana, Arial, sans-serif;
      font-weight:bold;
      text-decoration:none;
      text-align:center;

      border:none;
      background-image:url(tablinks.gif);
      }
   .a:hover {
      display:block;
      color:#000;

      background-image:url(tablinks_over.gif);
      }
und an der Stelle wo die Navi hinsoll:
Code:
   <div id="eins"><a href="" class="a">bli</a> </div>
          <div id="zwei"><a href="" class="a">bla</a></div>
          <div id="drei"><a href="" class="a">blubb</a></div>
          <div id="vier"><img src="bilder/leiste.jpg" width="452" height="16" border="0" alt=""></div>
          <div id="fuenf"><a href="" class="a">pfff</a></div>

nu muss ich halt für jede Unterseite ne einzelne Navi machen in der die Reihenfolge der einzelnen Reiter bezüglich des z-index korrekt ist.
oder kommt doch noch wer mit ner genialen idee? :mrgreen:
</edit2>
 
Zuletzt bearbeitet:
hab mich mal drann gemacht .. boey is das ne mist navi:LOL:

wenn man schon sowas macht dann aber bitte beide ecken im gleichen winkel und nicht die ecke nach rechts auslaufend. dann würde diese aktiver tab sache auch ganz easy gehen ... aber so müsste man das echt mit x überlappenden tabs machen und ein "absolut-z-index"rumgeier ... :roll:

anständig würde es ja so aussehen: https://www.klammlinks.de/files/tabs/

aber da fehlt eben dieser aktiver tab ... wie egsagt mach das beide ecken gleiche winkel haben und nicht überlappen dann gehts auch mit einfachen code ;)
 

kleiner tip: wenn du die inaktive lasche als hintergrund des li-tags und die aktive bei a:hover definierst, dann flackert es nicht so ... die gewünschten linien würde ich versuchen, eiskalt als untere border vom a- oder li-tag zu definieren. hab ich jetzt nicht probiert, aber müsste eigentlich funktionieren.
 
habs mir im ie angesehen .. und wie erwartet ist da nichts. nichts anderes was nicht im ff auch ist ;)

naja, da der aktive tab eh nicht da ist is das ganze sowieso fürn aa! :biggrin:
 
habs mir im ie angesehen .. und wie erwartet ist da nichts. nichts anderes was nicht im ff auch ist ;)

komisch, dass es dann sogar workarounds für den flicker-bug gibt ... lokal merkst du das natürlich nicht ... nur zur online. und den active-tab zu markieren sollte wohl nicht so problematisch sein... íst jeweils eine php-zeile mehr
 
das ganze zieht sich wohl noch ewig hin .. da kann ersterns gar nix flackern und zweitens is mir dann der workaround auch schnuppe :biggrin:

und wenn du es so gut kannst das leg mal los ... besondern den aktiv-tab da wunderbar mit einzubringen ... mit anständigen kleinen code. 8)
 
das ganze zieht sich wohl noch ewig hin .. da kann ersterns gar nix flackern und zweitens is mir dann der workaround auch schnuppe :biggrin:

und wenn du es so gut kannst das leg mal los ... besondern den aktiv-tab da wunderbar mit einzubringen ... mit anständigen kleinen code. 8)

entschuldigt, dass ich eurer erlauchten hoheit zu nahe trat. wie konnt ich nur denken, dass ihr in eurer allwissendheit nicht lang schon das problem gelöst habt. ihr css-ler aller welt höret auf: der meister sprach es flackere nicht. so vernichtet euren code und eure ideen, die minderwertiger kaum sein können. selbstredend bin ich eurer grösse keineswegs gewachsen und das stück css, welches ihr in eurer grossen güte unter das volk warft, wird von mir als heiligtum verehrt.

mitnichten bin ich jedoch eurer arroganz gewachsen und werde mich daher nicht erdreisten sie gar toppen und lehren zu wollen. so bleibt auf eurem rosse und schaut herab, solange der gaul nicht steigt.

frohes rotes wünsch ich


[edit]naja will ja nicht so sein, vielleicht interessiert dich doch, was du noch nicht weisst: https://www.cssplay.co.uk/menus/flickerfree_mk3.html ... https://www.cssplay.co.uk/menus/flickerfree_mk2.html ... https://www.cssplay.co.uk/menus/flickerfree.html [/edit]
 
ist eigentlich ganz einfach... ungefähr so:
PHP:
<style>
	#tab_menu {
		list-style: none;
	}
	
	#tab_menu a {
		border: 2px solid black;
		width: 140px;
		text-align: center;
		float: left;
		
		margin-right:-10px;
		
		opacity: 0.8;
		padding: 1px;
	}
	
	#tab_menu a:hover {
		border-color: red;
	}
/*das ist nur zum testen, kann rausgelöscht werden wenn grafiken verwendet werden*/
	#tab1 {
		background-color: green;
	}
	
	#tab2 {
		background-color: red;
	}
	
	#tab3 {
		background-color: yellow;
	}
	
	#tab4 {
		background-color: blue;
	}
	
	#tab5 {
		background-color: brown;
	}
</style>
<div id="tab_menu">
	<a href="" id="tab1">tab1</a>
	<a href="" id="tab2">tab2</a>
	<a href="" id="tab3">tab3</a>
	<a href="" id="tab4">tab4</a>
	<a href="" id="tab5">tab5</a>
</div>

brauchst jetzt noch 2 grafiken für normal und hover... und fertig. (beide müssen ein volles tab sein... also sowie hier https://www.klammlinks.de/files/tabs/ das letzte tab)
die normale tust du mit background-image:url(); unter #tab_menu a rein und die hover grafik analog in #tab_menu a:hover. die id="tabX" ist nur zum visualisieren, wenn du die grafiken einbindest kannste die ids wieder rausnehmen. für fein tuning, dass die tabs so übernannter leigen wie du willst spielst du einfach mit dem margin-right rum...
 
das mit dem flacker workaround ist doch alles ganz toll .. auch dein wunderbarer text und so ... nur ich seh im weder im ie noch im ff was flackern. also brauch ich doch das ganze nicht ;)

falls mal wo was flackert greif ich gerne drauf zurück ... also cool bleiben ;)
 
Kann es vielleicht sein das ActionScripter das flackern in dem blauen Balken meint, beim MouseOver? Das ist auch im FF zu sehen aber da muss man genau hinschauen. Das liegt an dem komischen Muster des Balkens, hab mir deinen Code zwar nicht angeschaut aber irgendwas bewirkt das das Muster sich verschiebt.(Denke ich)
 
Kann es vielleicht sein das ActionScripter das flackern in dem blauen Balken meint, beim MouseOver?

mit flackern meinte ich, dass beim mouseover das aktuelle hintergrundbild per css durch das neue (nachzuladende) ersetzt wird. wenn man einen fetten cache in seinem browser (speziell ie) eingestellt hat, dann ist davon wohl nichts zu sehen. bei "dsl-einstellung", also geringer oder gar kein cache und/oder der cacheeinstellung "bei jedem zugriff auf die seite aktualisieren", so wie es inzwischen von vielen leuten benutzt wird, verschwindet sofort bei mouseover das hintergrundbild und das neue wird vom server nachgeladen. das verursacht ein kurzes "flackern" der anzeige. sprich es ist kurz kein hintergrundbild zu sehen ... das fällt hauptsächlich beim ie ins gewicht, weil dieser sofort auf die änderung reagiert. mozilla und konsorten aktualisiert nur auf das neue bild, sofern ein neues bild erfolgreich geladen wurde.

allgemein ist diese phänomen als flacker-bug des ie bekannt ... oder offenbar nicht so bekannt ... und bei sehr vielen navigationen zu "bewundern". mein oben genannter tip sollte lediglich ein hinweis auf die möglichkeit sein, den bug zu umgehen und das ganze auch für den ie "smoother" zu gestalten.


und wenn du tatsächlich ein "dreamworker" bist und dich nicht nur so nennst, dann solltest du auf solche browser-spezifischen besonderheiten achten ;) grüsse von den ex-flashworkern an die dreamworker...
 
naja ich möchte dich mal kurz als dämlich bezeichnen ... ist nicht persönlich gemeint aber wenn du 1. mir hier beiträgeweise vorträge hälst über etwas was gar nicht da ist und 2. du dir nur 1 mal den code genau angesehen hättest würdest du sehen wie ich das ganze gelöst habe.

das mit dem nachladen problem haben vielleicht einige aber da das aktuelle und das hover bild ein und das selbe bild sind kann soetwas nicht passieren ... 8)

besten dann für deine unaufmerksamkeit! :LOL:
 
Mein Gott nu zerfetzt euch halt oder? ActionScripter meinte nur das er es sieht ob du das nun auch siehst oder nicht spielt doch keine Rolle. Ich meine ich teste meine Umsetzung auf vier Browsern. Damit habe ich zwar auch noch nicht die Cacheeinstellungen der Browser abgedeckt aber dafür hat man für den FF WebDeveloper womit man den Cache deaktivieren kann. Im IE deaktiviere ich den Cache auch nicht, aber ich versuche auf alle auftauchenden Probleme einzugehen. Wenn du das nicht machst ist doch in Ordnung. Aber nu hört auf euch große Vorträge zu halten, sagt dem Threaderstellen er soll hinter den Titel *erledigt* machen wenn dem so ist. Das ist doch nimmer normal.
Es sind nur Hinweise genau wie meiner das sich das Muster beim Hover ändert. Ich würde es nochmal machen weil ich ein Freak bin (Perfektionist), aber das must du noch lange nicht und es ist dann auch kein Vortrag den wir hier DIR halten sondern mehr ne Allgemeine Info für nichtwissende User die diesen Thread hier finden das sowas auftreten kann und wie man diesem Phänomen entgegentritt.

*edit
Man kann nichts optimieren was man selber nicht bzw. nie sieht das verstehen wir alle, aber darauf kann man andere ja schließlich hinweisen.
 
aber wenn du 1. mir hier beiträgeweise vorträge hälst über etwas was gar nicht da ist und 2. du dir nur 1 mal den code genau angesehen hättest würdest du sehen wie ich das ganze gelöst habe.

fakt ist ich habe deinen code gesehen und fakt ist es flackert bei mir. anscheinend tritt der bug auch beim verschieben auf. dass du den fehler nicht nachvollziehen kannst, weil er bei dir nicht auftritt heisst nicht, dass er nicht da ist.

und dass ich mich dafür als dämlich bezeichnen lassen muss, dass ich meine hilfe anbiete, finde ich reichlich kindisch von dir. du hast die anforderung bislang nicht erfüllt und der thread ist nicht geschlossen, wieso lässt du dann keine weitere hilfe zu? und wieso tust du so, als ob du allein ahnung hättest?

wenn du mal in mein alter kommst und so lange in der branche bist wie ich, dann unterhalten wir uns gern nochmal darüber, wer dämlich ist und wer über solche kindereien nur lachen kann... :LOL:
 
wenn du das "flackern" vom grünlichen streifen unter den tabs meinst dann ist es klar ... ich hab doch als hover das rechts für links bild genommen und so ... und da der streifen einen verlauf hat sieht das eben komisch dann aus ...

ich verschiebe beim hover nur das bild und hab bis jetzt alle grafik css menüs wunderbar ohne "flackern" hinbekommen.

wenn ich was falsch gemacht habe lasse ich mich auch gerne belehren aber ich seh ja keinen fehler ... wenn du magst kannst aber gerne mal einen screenshot machen und zeigen wo es genau flacker. man lernt ja nie aus! 8)
 
wenn du magst kannst aber gerne mal einen screenshot machen und zeigen wo es genau flacker. man lernt ja nie aus! 8)

tät ich ja gern, aber wie zeig ich dir anhand eines screenshots, dass das bild kurz nicht zu sehen ist? so gutes timing hab ich dann doch nicht, dass ich genau den moment treffe *g* ... hab schon an ne webcam gedacht um dir ein video zu basteln, aber ich bring mein uralt-teil hier grad nicht ans laufen...

[edit]
doch da ... timimg at its best. nach nur 5 versuchen :) das ist ein screenshot von dem moment, in dem die maus in den 3. button reinfährt... dauert vielleicht 1/4 bis 1/3 sekunde das ganze... danach taucht die blaue lasche auf

timing.jpg

[/edit]
 
Zuletzt bearbeitet:
tät ich ja gern, aber wie zeig ich dir anhand eines screenshots, dass das bild kurz nicht zu sehen ist? so gutes timing hab ich dann doch nicht, dass ich genau den moment treffe *g* ... hab schon an ne webcam gedacht um dir ein video zu basteln, aber ich bring mein uralt-teil hier grad nicht ans laufen...
Warum gibst du dich noch mit Dreamworker ab? Wenn er nichts sieht und seine Kunden auch nicht, dann soll es uns doch nicht stören.

Ich fange doch jetzt auch nicht an, alle Webmaster anzuschreiben, wenn diese irgendwelche Code produzieren, der nicht valide ist :ugly:
 
Warum gibst du dich noch mit Dreamworker ab?

warum nicht? er hat von dem problem noch nichts gehört. ich kann es ihm erklären. andersrum würde ich mich auch freuen, wenn ich was nicht weiss und mir jemand auf die sprünge hilft. gut am ton kann man arbeiten, aber das ist hier im forum ohnehin ein problem, über das man halt manchmal wegsehen muss :)

und vielleicht liegts auch am namen. ich weiss nicht, ob du weisst, wer die dreamworker waren (sind?) und wer die flashworker waren? ich war einmal flashworker und auch wenn es die gruppe nicht mehr gibt, lebt doch die idee weiter, anderen kostenlos unter die arme zu greifen und wissen zu vermitteln. inzwischen habe ich ne menge wissen und freu mich, wenns jemand gebrauchen kann ... auch wenn man manchen leuten das wissen solange unter die nase reiben muss, bis sie anbeissen ;)