Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Soluzioni valide per "Allineamento verticale nei blocchi"

    Scusate se è già stato trattato più volte ma non riesco a trovare una soluzione valida.

    Il mio è il solito problema dell'allineamento verticale, una delle carenze principali dei CSS.

    Ho un DIV con dei contenuti che non hanno una dimensione fissa e vorrei poterli posizionare verticalmente dove voglio (o almeno alto, basso, centro).

    Al solito vertical-align non funziona.
    E non riesco a districarmi tra tutti i casi particolari, quando hai un elemento blocco o inline, quando lavori sul testo o no, quando quello che vuoi posizionare ha una dimensione fissa o no, quando il contenitore ha una dimensione specificata o no.
    Insomma ogni volta mi ci confondo sempre di più.

    Quindi vorrei chiedervi:

    [SIZE=3[b]Quali sono le soluzioni migliori per l'allineamento verticale di un elemento, dentro ad un div?[/b[/SIZE]

    Una soluzione che non sia troppo macchinosa possibilmente.
    Altrimenti faccio con le tabelle che faccio prima....

    .... è una delusione vedere le potenzialità dei CSS, apprezzarne la possibilità di fare tutto e poi scoprire invece queste gravi carenze e rendersi conto che a volte è meglio usare uno strumento come le tabelle che in realtà non è stato studiato per quello scopo.


    Vi ringrazio

  2. #2
    Inoltre, scusatemi ma proprio non lo capisco, andrebbe meglio definita tutto l' "Albero" di priorità dei vari attributi.

    Insomma sto cercando di allineare appunto il testo (meglio dentro un

    o no?) dentro ad un DIV e se imposto nel

    un margin-top del 100% (dovrebbe buttare tutto in basso) mi aumenta uno sproposito l'altezza del div (e soprattutto non si capisce in base a quale logica decide di quanto), nonostante io abbia date un'altezza ben precisa a quest'ultimo.

    E allora come faccio io a sapere quale prevale tra le due proprietà?
    E come faccio io a capire perchè da un'altezza specificata di 39px, se imposto appunto il margin-top del 100% il div mi diventa 115px?

    Insomma i CSS più li conosco e più me la sdubbiano. Non sono così solidi come certa gente va millantando in giro.
    Sono sicuramente più versatili ma hanno delle carenze progettuali che son quasi preferibili le tabelle (la cui differenza è che si comportano SEMPRE come gli dici).

    Ma non c'è nessuna documentazione seria dove vengano elencati riguardo ad un attributo:
    - A cosa può essere applicato
    - Quando non può essere applicato
    - Quali browser lo supportano
    - Qual'è la logica con cui funziona (andrebbe rilasciato un documento che spiega tutta la logica geometrica dei CSS)
    - Quali altri attributi lo 'sovrascrivono' o vengono considerati di più.

    ?

    Voglio dire sul sito W3school i comandi ci son tutti ma son spiegati brevemente.... e su W3C.org non c'è neanche una lista completa (almeno io non l'ho trovata... se c'è indicatemela perfavore).

    Come fa uno ad affezionarsi ai CSS e a ritenerli validi se hanno una sintassi che è un controsenso continuo?

  3. #3
    le specifiche CSS ci sono e sono (la maggior parte delle volte) molto precise
    http://www.w3.org/Style/CSS/
    http://www.w3.org/TR/CSS21/

    i browsers ormai li supportano decisamente bene i CSS 2 e addirittura alcune proprietà CSS 3 (Opera 9, Firefox 1.5, Safari, Konqueror...)

    hai ancora molto da studiare comunque... intanto cerca di usare i marcatori senza pensare alla presentazione (cioè correttamente), poi ci scrivi la struttura quì e vediamo di dargli la presentazione che vuoi (se possibile, ovviamente)


  4. #4
    Sì scusami avevo visto solo quelle su CSS1 (dove non c'è scritto molto mi pare).

    Il fatto è che non sto cercando di fare qualcosa di specifico.
    O meglio queste problematiche mi vengono fuori con degli esperimenti che provo a fare.
    Come appunto fare un menù particolare dove mi interessava sapere come allineare il testo in basso.... pensando che fosse una cosa facile.... e invece si devono trovare sotterfugi per realizzarlo

    Comunque con una documentazione approfondita probabilmente imparerò meglio.
    Purtroppo le guide in giro spiegano i CSS ma non nel dettaglio e non nei comportamenti 'anomali' o 'particolari'.

    Che ho da studiare ancora molto è indubbio

    Comunque due domande:

    - Appunto qualche soluzione semplice per l'allineamento verticale in un DIV

    - Mi piacerebbe sapere se c'è un modo per cambiare lo sfondo al rollover del mouse. Purtroppo sono riuscito a farlo solo su di un link (a:hover). E' possibile ottenere lo stesso effetto anche su altri elementi?


    Vi rinrgazio... ogni giorno imparo qualcosa

  5. #5
    - Appunto qualche soluzione semplice per l'allineamento verticale in un DIV
    allineamento di cosa? Non può mettere testo puro dentro ad un div, dovrai quindi marcarlo e dare agli elementi interni margini, padding ecc ecc

    il testo si può allineare verticalmente usando height e line-height (se sono uguali è centrato)

    volendo c'è il metodo dei margini negativi (che non funziona su mac)...

    c'è anche il vertical-align...

    - Mi piacerebbe sapere se c'è un modo per cambiare lo sfondo al rollover del mouse. Purtroppo sono riuscito a farlo solo su di un link (a:hover). E' possibile ottenere lo stesso effetto anche su altri elementi?
    Internet Explorer 6 e precedenti supportano lo pseudoselettore hover solo sul tag a... facilmente curabile tramite javascript comunque... gli altri browsers non hanno problemi con l'hover

    Vi rinrgazio... ogni giorno imparo qualcosa
    io ogni giorno imparo decine di cose... è una delle cose belle di essere vivi!


  6. #6
    c'è anche il vertical-align.
    Vertical-align non funziona con i <div>. Ne abbiamo già discusso sul forum di Diodati.org con Gianluca Troiani. Se si ha ad esempio:

    codice:
    <div id="edicola">
      [img]pluto.gif[/img]
    </div>
    Per posizionare l'immagine occorreranno, oltre al padding che può avere il <div>, anche i margini (come ha detto Andrea) ed il padding dell'immagine, fermo restando che questa deve essere dichiarata con display: block; . Un altra tecnica è quella di dare un position: relative al div contenitore e poi dichiarare un position: absolute; all'immagine (sempre dichiarata come block). in questo modo l'immagine si disporrà in relazione al suo contenitore e non al <body>. Questo può valere anche per un paragrafo

    , come ti ha detto Andrea, in cui inserirai il testo. ciao

  7. #7
    insomma i css tanto belli e tanto cari poi non c'è modo di allineare verticalmente la roba?!? ma com'è possibile? che devo fare, continuo a usare le tabelle e tanti saluti agli standard ecc ecc?

    mi domando: c'è una ragione "progettuale" per cui non è possibile allineare verticalmente le cose, o si tratta semplicemente di una madornale svista?
    - Sean von Drake

    http://www.videoarts.eu/ realizzazione siti web bologna

    "Sono un servitore del fuoco segreto, e reggo la Fiamma di Anor."

  8. #8
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    ecco... riesumare un post di TRE anni fa non va

    apri un nuovo argomento

    chiudo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.