|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Dec 2008
Messaggi: 57
|
[HTML-CSS]posizionamento <area/>
Ciao a tutti! volevo mostrarvi il mio problema.
Sto facendo un sito internet ed ho bisogno di questo effetto che ora vi spiego. Ho un div centrale comune a tutte le pagine, all'interno di questo ho un div diverso per ogni pagina perchè deve contenere cose di dimensioni e caratteri differenti, all'interno di uno specifico(lo chiamo qui unità, quindi center_unita) ho una mappa in <img src=... /> e tanti piccoli div che stanno ad indicare dei piccoli sottomenù che compariranno con effetto javascript al click di una specifica area della mappa (per questo ho usato il comando <map name=="" ...></map> Ora, per far comparire nella posizione esatta(quindi sotto il bottone esatto) i miei piccoli submenù ho modificato il css dei relativi submenù e dato position:absolute e top:xyz px e left:xyz px. Il mio problema sta nella diversa visualizzazione in stessi browser ma in so diversi. Praticamente su w7 tutti i browser mi visualizzano perfettamente il tutto, mentre su vista con gli stessi, aggiornati alla stessa versione, mi visualizzano i submenù fuori dalla pagina, o comunque non dove vorrei io.. Sto sbagliando qualcosa? E' sbagliato il comando position:absolute? Grazie a tutti! Ciao. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2004
Città: Livorno
Messaggi: 6661
|
Devi capire che stai cercando di spiegare un problema grafico unicamente a parole...
![]() Posta un paio di screenshot, i fogli di stile relativi (magari limitati alla parte che ci interessa) e lo "scheletro" della struttura HTML. Per caso in Windows Vista sta usando IE8 in visualizzazione compatibilità mentre in Windows 7 usi la modalità IE8?
__________________
![]() |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Dec 2008
Messaggi: 57
|
hai ragione... ora posto il codice solamente per il primo piccolo submenù(gli altri sono uguale).
questo è l'html: Codice HTML:
<div class="center"> <div class="center_unita"> <p>Scegli dove visitare cliccando sui nomi nell'immagine e scegli poi il piano</p> <img src="admin/progetti/CorteBolla/it/immagine_copertura.jpg" border="0" usemap="#mappa" width="568px" height="380px" /> <map name="mappa" id="mappa"> <area id="villa" shape="rect" coords="64,40,117,65" href="#" alt="Villa" /> <div id="submenuvilla"> <ul> <li><a href="villaterra.html"><b>Piano Terra</b></a></li> <li><a href="villaprimo.html"><b>Piano Primo</b></a></li> <li><a href="villasecondo.html"><b>Piano Secondo</b></a></li> </ul> </div><!-- chiuso subMenuvilla --> <area id="uffici" shape="rect" coords="151,33,214,59" href="#" alt="Uffici" /> <div id="submenuuffici"> <ul> <li><a href="ufficiterra.html"><b>Piano Terra</b></a></li> </ul> </div><!-- chiuso subMenuuffici --> </map> </div> <!-- chiuso center_unita --> </div> <!-- chiuso center --> Codice:
#submenuvilla{ text-decoration:none; text-align:left; width:100px; margin-top:0; padding:0; } #submenuvilla ul{ text-decoration:none; list-style:none; text-align:center; background-color:#666666; position:absolute; left:360px; top:260px; } #submenuvilla li a{ text-decoration:none; color:#CCCCCC; } #submenuvilla li a:hover{ text-decoration:none; color:#FF0033; } ![]() Uploaded with ImageShack.us e questo di come lo visualizzo in windows vista( in questo caso ho usato FF): ![]() Ultima modifica di tex_willer87 : 03-06-2010 alle 10:18. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2004
Città: Livorno
Messaggi: 6661
|
Allora, innanzitutto ti consiglio di muovere i div submenuvilla e submenuuffici fuori dall'elemento <map>, che dovrebbe contenere *solo* gli elementi <area> (e forse da questo dipende il differente comportamento dei browser, anche se mi sorprende che dipenda dal SO e non dal browser... hai provato anche con IE?).
In secondo luogo, l'attributo di stile position: absolute fa sì che l'elemento sia posizionato (con top, left, bottom o right) relativamente all'elemento "avo" che a sua volta ha un attributo di stile position DIVERSO da quello di default "static" (quindi, "relative", "absolute" o "fixed"). Insomma, se i div submenuville e submenuuffici non hanno definito un position, gli <ul> verranno posizionati relativamente al div con classe center_unita, oppure center, oppure al <body> stesso se nessuno ha un attributo position diverso da "static". Il trucco è quello di usare "relative" se non si vuole modificare la posizione dell'elemento contenitore. P.S.: per i pezzi di codice HTML usa il tag [HTML], che trovi con questo simbolo: ![]() ![]() ![]()
__________________
![]() Ultima modifica di MaxArt : 01-06-2010 alle 18:51. |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Dec 2008
Messaggi: 57
|
grazie mille!!! il tuo secondo consiglio ha risolto tutto...
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:22.