La Grafica, Gli Oggetti, ed il Loro Posizionamento

Grafica, posizionare gli oggetti   Se avete letto la parte dedicata ai ...:: selettori ID ::... vi sarete resi conto che i CSS non servono solo per assegnare stili al testo ma sono quanto di meglio si potesse avere anche per il posizionamento degli oggetti sulla propria pagina web. Per oggetti si intende tutto quello che fa parte di una pagina: immagini, testo, tabelle, forms e qualsiasi altra cosa venga racchiusa in un contenitore virtuale, di solito l'elemento (tag) html <DIV>.

I metodi per creare questi contenitori virtuali ancora una volta sono diversi, per cui ognuno di voi adopererà quello che meglio preferisce, a prima vista sembrerebbe più semplice fare uso di un selettore ID che contenga la posizione del contenitore e associare poi il nome del selettore al contenitore stesso, ma è anche vero che un risultato identico lo si avrebbe specificando in linea lo style, assegnando cioè all'elemento interessato i vari parametri di posizionamento in modo diretto.

Vi ricordate ...:: le classi ::... ?
Si creava una classe perché questa poteva essere richiamata da più parti, adesso invece trattandosi di immagini da dover posizionare, non servirebbe a molto usare una classe in quanto se venisse richiamata da più di un oggetto, questo si sovrapporrebbe all'altro dando così origine a qualcosa di molto simile ad un pasticcio grafico.

E' (forse) questa  la spiegazione al fatto che un selettore ID può essere adoperato una sola volta all'interno della stessa pagina web ?.

Comunque non credo si possa vedere come una limitazione, al contrario  credo invece sia a garanzia che non vengano commessi errori in questo senso, e poi è tutto a vantaggio di maggiore versatilità, visto che si possono richiamare classi e ID dallo stesso unico contenitore, anche se è meglio sperimentare questa cosa solo dopo aver acquisito una certa esperienza e quindi maggiore familiarità. :-)

Ora creammo un selettore ID con questi parametri:

<style type="text/css">
<!--
#valvasev {
position : absolute;
     top : 700 px;
    left : 500 px; 
  zindex : 1;
       }
 -->
</style>

E poi lo si richiami dell'elemento (tag) HTML <div> :

<DIV ID="valvasev;">nome dell'immagine</div>

Oppure, che si adoperino gli stessi parametri in linea e cioè direttamente associati all'elemento (tag) HTML <div>:

<DIV STYLE="position : absolute; left : 50px; z-index : 1 ; top : 1300px;">nome dell'immagine</div>

il risultato sarà perfettamente identico, entrambi infatti visualizzeranno quello che si troverà contenuto all'interno degli elementi <div></div> rispettando tutti gli attributi di stile impostati, per cui se abbiamo inserito un'immagine, quale potrebbe essere questa: Isolajava la stessa sarà posizionata a partire da 1300 pixel dal bordo superiore e 50 pixel dal bordo laterale sinistro con uno z-index, cioè un livello di profondità, uguale a 1. Provate a portarvi in quella zona, dovreste trovare la stessa immagine ma con una notevole differenza: il testo si troverà sopra all'immagine, questo effetto è reso possibile oltre che dal posizionamento assoluto anche da z-index che ne stabilisce il livello di visualizzazione. In HTML invece avremo potuto soltanto girargli intorno: a destra, a sinistra o al centro, proprio come in questo caso.

Questo testo non serve a nulla se non a far vedere l'effetto con le immagini che ci sono sopra una si trova sopra il testo mentre l'altra si trova sotto creando così una visualizzazione a piani che nulla ha a che vedere con i layer supportati dai soli browser NS, questo sistema viene visto da entrambi i browser quindi IE e NS. Questo testo non serve a nulla se non a far vedere l'effetto con le immagini che ci sono sopra una si trova sopra il testo mentre l'altra si trova sotto creando così una visualizzazione a piani che nulla ha a che vedere con i layer supportati dai soli browser NS, questo sistema viene visto da entrambi i browser quindi IE e NS. Questo testo non serve a nulla se non a far vedere l'effetto con le immagini che ci sono sopra una si trova sopra il testo mentre l'altra si trova sotto creando così una visualizzazione a piani che nulla ha a che vedere con i layer supportati dai soli browser NS, questo sistema viene visto da entrami i browser quindi IE e NS.Questo testo non serve a nulla se non a far vedere l'effetto con le immagini che ci sono sopra una si trova sopra il testo mentre l'altra si trova sotto creando così una visualizzazione a piani che nulla ha a che vedere con i layer supportati dai soli browser NS, questo sistema viene visto da entrambi i browser quindi IE e NS. Questo testo non serve a nulla se non a far vedere l'effetto con le immagini che ci sono sopra una si trova sopra il testo mentre l'altra si trova sotto creando così una visualizzazione a piani che nulla ha a che vedere con i layer supportati dai soli browser NS, questo sistema viene visto da entrambi i browser quindi IE e NS.
IsolaJava
isolajava

A questo punto ogni altro esempio sarebbe superfluo, è fin troppo evidente quale potenzialità si possa avere dall'utilizzo di questa tecnica. Immagini trasparenti potrebbero essere sovrapposte totalmente o parzialmente, dipende soltanto da voi, gli eventi poi di un linguaggio di script quale JavaScript potrebbero nascondere o scoprire questi contenitori dando vita a delle pagine dinamiche, cioè vive! che cambiano a seconda di quello che fa il vostro visitatore, da qui il nome DHTML; per cui è grazie alla combinazione di questi due sistemi ( CSS e JavaScript) che sono praticamente caduti tutti quei limiti che html poteva avere, adesso è tutto più "solido" e alla base resta proprio il buon "vecchio" html che a quanto pare regge.

Come spesso accade però non è tutto oro quello che luccica, così anche per questa tecnica che apparentemente sembrerebbe offrire soltanto vantaggi; esistono invece alcuni problemi, specie nel caso in cui si combinassero dei posizionamenti assoluti combinati a testo e immagini in html normale. Il problema infatti nascerebbe a seconda della risoluzione video del visitatore il quale potrebbe vedere il tutto in modo decisamente molto diverso da quello che ci eravamo prefissati.

Provate infatti ad immaginare un'immagine a 400 pixel dal bordo superiore, questa essendo una misura fissa sarà sempre rispettata, risulterà al centro di un monitor con risoluzione 800 x 600 ma  quello che  si trova al suo fianco o al di sotto, molto probabilmente si sposterà a seconda delle impostazioni video. Non dipende soltanto dalla risoluzione grafica adoperata, ma anche dal fatto se la navigazione avviene a tutto schermo o in una finestrella ristretta.

Si e voluto riportare l'esempio sopra, quello delle due immagini affiancate, e lasciato sotto di esse del normalissimo testo contenuto in una tabella html, tutto questo proprio per permettervi di notare cosa accade se allargate o restringete la vostra finestra del browser.

Fate dunque attenzione quando adoperate i posizionamenti assoluti.

 

Un piccolo trucchetto: e quello di Inserire la Pagina che contiene il posizionamento assoluto, richiamandola in un IFRAME, posto nella Pagina, che lo deve mostrare. cosi siete certi che a Qualsiasi risoluzione video, non si sposterà di una virgola, rimanendo sempre al suo Posto senza sballare. dove e possibile naturalmente, in questo caso sopra il testo non si potrebbe fare, in quanto l' IFRAME aprirebbe un buco non colmabile dal testo.

 

Un Esempio in questi tre siti da me costruiti : -   Yorkshire Susy  -  NatiNautica - Syncrosat -Se si usa il PHP. e meglio fare uso dei "pseudo Frames" molto più efficienti.

 

La Pagina index.htm, contiene un IFRAME che richiama la index2.htm che non e altro che la pagina con l'animazione in Javascript, fatta con il sistema del posizionamento, posizionamento che a risoluzione 1024, si sballa tutta.

Ma cosi facendo l'animazione e sempre Ben centrata in pagina, alle diverse risoluzione.

Naturalmente più grande e la risoluzione, più piccola diventa la pagina.

 

Comunque anche gli " IFRAME " hanno i loro inconvenienti. scegliete voi !!!



Home page Isola java   @@


© All Rights Reserved - www.isolajava.com