|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Feb 2006
Città: BEAM ME UP SCOTTY!
Messaggi: 68
|
[CSS] Domanda su position fixed
Ciao, vorrei posizionare un oggetto fisso in una pagina web, ma vorrei che esso stia in un preciso punto indipendentemente dalla risoluzione dello schermo del visitatore.
In pratica quando si decide di posizionare un oggetto, si specifica la sua distanza in pixel dai margini della pagina, che userà come punto di riferimento per ancorarsi, ma se cambia la risoluzione, cambia di conseguenza anche la distanza dell'oggetto rispetto ad un punto assoluto della pagina. Come è possibile ovviare alla cosa? Se per esempio la distanza dal margine sinistro deve essere 200px (con risoluzione 800x600), come è possibile aumentare proporzionalmente questa distanza quando è attiva un'altra risoluzione, in modo che compaia nello stesso punto della pagina? Spero più o meno di essermi spiegato ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Peccato che il position:fixed non è supportato da IE 6 ....
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Feb 2006
Città: BEAM ME UP SCOTTY!
Messaggi: 68
|
|
![]() |
![]() |
![]() |
#4 |
Messaggi: n/a
|
|
![]() |
![]() |
#5 | |
Member
Iscritto dal: Feb 2006
Città: BEAM ME UP SCOTTY!
Messaggi: 68
|
Quote:
Intendevi che esiste uno script per risolverlo? Hai qualche riferimento da ricercare a proposito? ciao |
|
![]() |
![]() |
![]() |
#7 | |
Member
Iscritto dal: Feb 2006
Città: BEAM ME UP SCOTTY!
Messaggi: 68
|
Quote:
L'ideale penso sia uno script in grado di aumentare la distanza in pixel dai margini man mano che da una risoluzione di 800x600 si passa a risoluzioni superiori. Spero sia chiaro ![]() ![]() |
|
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Feb 2006
Città: BEAM ME UP SCOTTY!
Messaggi: 68
|
In alternativa è possibile raggiungere lo stesso scopo con i container, sapete come si può procedere?
|
![]() |
![]() |
![]() |
#9 |
Messaggi: n/a
|
Sarebbe meglio che postassi il codice che hai preparato sin ora magari con uno screenshot di quello che vorresti ottenere.
Ciao. |
![]() |
![]() |
#10 |
Member
Iscritto dal: Feb 2006
Città: BEAM ME UP SCOTTY!
Messaggi: 68
|
Qui l'esempio. Come vedi l'icona fissa rss si ancora al browser e varia di posizione a risoluzioni differenti. Io vorrei che sia fissa rispetto al container centrale, sostanzialmente che non si sposti sull'asse orizzontale, ma solo verticale rispetto ad esso.
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]() La soluzione (l'unica credo) è basata su Javascript. Prova questa pagina, scrollala e vedi che l'immagine del feed rimane in alto. Codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Prova</title> <script type="text/javascript"> <!-- function truebody () { return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body; } function scroll_func (e) { var feed_obj = document.getElementById ("feed"); var body = truebody (); feed_obj.style.top = (body.scrollTop + 10) + "px"; feed_obj.style.left = "10px"; } window.onscroll = scroll_func; window.onload = scroll_func; //--> </script> <style type="text/css"> <!-- #feed { position: absolute; } --> </style> </head> <body> <img id="feed" src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" width="32" height="32" alt=""> Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br> Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br> Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br> Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br> Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br> Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br>Prova<br> </body> </html>
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#12 |
Member
Iscritto dal: Feb 2006
Città: BEAM ME UP SCOTTY!
Messaggi: 68
|
Ma in questo modo quale sarà il punto di riferimento dell'oggetto?
|
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
feed_obj.style.left = "10px"; Vuol dire: metti il top a +10px dal scrollTop del body, metti left a 10px. Dove scrollTop del body è l'ammontare di pixel scrollati in senso verticale. EDIT: tra l'altro bisogna precisare che se la pagina può anche scrollare orizzontalmente, sarebbe più corretto mettere: feed_obj.style.left = (body.scrollLeft + 10) + "px"; Poi comunque la posizione da "mantenere" la gestisci programmaticamente come vuoi tu. Ad esempio: vuoi che l'immagine stia sempre in alto a destra?? Allora aggiungi: window.onresize = scroll_func; e poi fai: feed_obj.style.left = (body.scrollLeft + body.clientWidth - 32 - 10) + "px";
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) Ultima modifica di andbin : 10-04-2007 alle 11:59. |
|
![]() |
![]() |
![]() |
#14 |
Member
Iscritto dal: Feb 2006
Città: BEAM ME UP SCOTTY!
Messaggi: 68
|
Grazie mille, ora provo. Come si chiama questo script?
![]() ciao |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Beh, non so se c'è un nome particolare per script di questo tipo .... serve per mantenere fissa la posizione di un elemento nella finestra. Trovi spesso siti del genere, che magari tengono fisso un menù o un banner.
Ma non saprei se c'è un nome ... ![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:57.