Autor |
Nachricht |
heiko_rs
Dabei seit: 06.02.2008
Ort: Berlin
Alter: -
Geschlecht:
|
Verfasst Di 02.02.2010 21:01
Titel
|
|
|
KaffeePaule hat geschrieben: | An sich könnte man das mit a und li machen, allerdings kann man dann keinen hover-Effekt auf die background-jpg erzeugen. Demnach doch mit Containern |
Falls es für Dich wirklich nötig ist, mache es aber verschachtelt, dann hast Du wirklich alle Optionen:
Code: | <li><a href="#"><span><span>Text</span></span></a></li> |
Die spans bekommen natürlich display: block;. Und dem IE < 8 musst Du dann noch ein #navi a span { cursor: pointer; } mitgeben.
Und ganz klar: Desto weniger spans, desto schöner.
Zuletzt bearbeitet von heiko_rs am Di 02.02.2010 21:06, insgesamt 5-mal bearbeitet
|
|
|
|
|
Impigra
Dabei seit: 17.05.2006
Ort: Egenhofen
Alter: 45
Geschlecht:
|
Verfasst Do 04.02.2010 02:19
Titel
|
|
|
Generell würden ja zwei Hintergrundbilder ausreichen.. oder?
und im li Element muss nur noch ein anchor mit einem einzigen span enthalten sein ...
Die Hintergrundgrafik wird einmal für den gesamten Hintergrund und den linken Abschluss erstellt.
Eine fiktive Übergröße macht die Wiederholung überflüssig.
So kann das Hintergrundbild ca. 300 px breit sein auch wenn die Navigationselemente nur 120px breit sind.
Die Hintergrundgrafik wird für den anchor mit der css Eigenschaft background-position:left; angelegt, das im anchor enthaltene span bekommt nur den dazu passenden rechten Abschluss mit der Eigenschaft background-position:right;.
das span benötigt dann aber genau wie auch der anchor ein display:block, da die inline Elemente sonst nicht sauber skaliert werden können.
Der Internet Explorer braucht dann wie von Heiko geschrieben natürlich noch die freundliche Aufforderung den richtigen Cursor anzuzeigen...
[Nachtrag]
Da Ganze noch gewürzt mit einem schlanken CSS Sprite um die Requests gering zu halten und schon hat man eine recht ordentliche Lösung...
Hier zahlt es sich dann auch aus dass die anchors und auch die spans als blockelemente formatiert sind...
Zuletzt bearbeitet von Impigra am Do 04.02.2010 02:21, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
KaffeePaule
Threadersteller
Dabei seit: 02.02.2010
Ort: Berlin
Alter: -
Geschlecht:
|
Verfasst Mo 08.02.2010 11:10
Titel
|
|
|
Hallo nochmal,
Ich bin die ganzen Ratschläge mal durchgegangen und bin zum Schluß gekommen, daß mein Vorhaben technisch unmöglich ist. Ich habe in meiner Problem-Beschreibung nicht so gut rübergebracht, daß der hover-Zustand auf das ganze zusammengesetzte Reiter-Element ausgeführt werden soll, d.h. beide background-jpgs werden durch den jeweiligen Overstate-Zustand ersetzt.
[/img]
Ist diese Lösung technisch realisierbar?
Ich bin mir fast sicher, daß nicht; denn ich habe tausend Templates durchforstet und nie gab es eine solche Navi als CSS.
Wenn nicht, reicht eine kurze Antwort. Werde das ganze dann auf die einfache machen.
Danke allerseits
|
|
|
|
|
Impigra
Dabei seit: 17.05.2006
Ort: Egenhofen
Alter: 45
Geschlecht:
|
Verfasst Mo 08.02.2010 11:19
Titel
|
|
|
Andere Frage..
warum sollte das nicht umsetzbar sein?
Ich seh da kein Problem...
|
|
|
|
|
KaffeePaule
Threadersteller
Dabei seit: 02.02.2010
Ort: Berlin
Alter: -
Geschlecht:
|
Verfasst Mo 08.02.2010 11:38
Titel
|
|
|
Hm. Hatte ich mich fast schon glücklich abgefunden.
Wenn die html-Struktur der Navi die folgende ist:
Code: | <div id="header">
<ul>
<li><a href="#">Link</a></li>
</ul>
</div> |
wie spreche ich dann den hover-effekt in css an?
auf a UND li?
Code: | #header li, a:hover {
background-position:0% -34px;
} |
Normal- und Overstate befinden sich jeweils untereinander auf einer jpg.
|
|
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
|
|
|
|
KaffeePaule
Threadersteller
Dabei seit: 02.02.2010
Ort: Berlin
Alter: -
Geschlecht:
|
Verfasst Mo 08.02.2010 12:21
Titel
|
|
|
Supi, vielen lieben Dank.
|
|
|
|
|
heiko_rs
Dabei seit: 06.02.2008
Ort: Berlin
Alter: -
Geschlecht:
|
Verfasst Mo 08.02.2010 13:34
Titel
|
|
|
Noch zur Erlärung: Bei solchen Konstruktionen ist der Grund für ein span innerhalb von a der IE < 7, der nur a hovert. Allerdings kann man ihm per JS beibringen, auch li zu hovern (das siehst Du auf dem Link). Welche Alternative man wählt, ist Geschmackssache.
Eine wichtige Anmerkung muss ich zu Sahnemuhs Code allerdings noch machen: Wenn man die Schriftgröße nicht per Prozentwert "initialisiert", sondern em als erste Einheit verwendet, hat das im IE inkl. 7 fatale Folgen in Gestalt des Font-Resizing-Bugs - das sieht man, wenn man unter "Ansicht" für die Textgröße "sehr groß" wählt und dann förmlich erschlagen wird von der gigantischen Textgröße
Ich gebe daher im Universalselektor immer 100% für die Schriftgröße an. Die Opera-Versionen 5 & 6, die damit Probleme hatten (so dass der Wert 100.01% aufkam), sind natürlich schon längst ausgestorben.
|
|
|
|
|
|
|
|
Ähnliche Themen |
automatisch aus mehreren jpgs eine psd erstellen
[Retusche]Besteht da eine Chance?
Safari Browser besteht als erster Acid2 Test
Mein (endlich) fertiges ePUB besteht Validierung nicht
Stapelverarbeitung in Photoshop nur für JPGs
Jpgs schneiden in Illustrator
|
|