Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Equidistanza immagini con css

    salve a tutti, volevo chiedere un consilgio su come impostare un css per un menu:

    ho un frame superiore, largo quanto tutta la pagina e alto 80px, in cui sulla destra c'è l'immagine del logo e nel restante spazio vorrei comparissero delle immagini (60px per 60px), una per ogni sezione, ma in modo da essere equidistanti fra loro e in complesso equidistanti dal bordo dx della pagina e dal bordo dx del logo; il tutto però vorrei farlo da un css esterno, senza toccare l'html;
    vorrei solo qualche spunto; ho provato diverse soluzioni tra <ul> dentro <div> a mettere direttamente le <img> dentro i <div> ma niente.

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non so cosa siano le tue immagini (che oggetti HTML, intendo).
    Se sono dei tag <img> all'interno di un

    (senza float), dovrebbe essere sufficiente dare dei margii automatici nei punti opportuni.

    Se non riesci da solo, posta il codice HTML, la DTD e il/i CSS che hai provato.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    ok grazie, domani provo e ti faccio sapere

  4. #4
    Da quel che ho capito vuole distribuire n immagini (o qualunque altro elemento) un un certo spazio non noto a priori in modo che queste risultino equispaziate. Ho avuto anche io la stessa esigenza e non son riuscito a risolvere solo con i CSS, ho dovuto usare javascript. Se qualcuno avesse una soluzione javascript free farebbe comodo anche a me. (Ho provato anche coi margini percentuali ma nn ho cavato un ragno dal buco.)

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da bionicoz
    Da quel che ho capito vuole distribuire n immagini (o qualunque altro elemento) un un certo spazio non noto a priori in modo che queste risultino equispaziate. Ho avuto anche io la stessa esigenza e non son riuscito a risolvere solo con i CSS, ho dovuto usare javascript. Se qualcuno avesse una soluzione javascript free farebbe comodo anche a me. (Ho provato anche coi margini percentuali ma nn ho cavato un ragno dal buco.)
    Attenzione che e` diverso equispaziare elementi float ed elementi inline.

    Se gli elementi sono float non si puo` usare il metodo dei margini automatici, e probabilmente il JS e` la soluzione piu` semplice (pur con i limiti intrinseci del JS).
    Invece per semplici immagini, i margini auto dovrebbero andare bene.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    eccomi, scusate il ritardo ma la mattina non posso collegarmi:

    in effetti non ho capito ancora come poter fare quello che bionicoz ha descritto precisamente;
    Mich_ questo è il link del sito da cui potrai vedere come è impostato il frame e il relativo css

    http://fortenet3d.altervista.org/

    in effetti come potete vedere vorrei che le immagini venissero distribuite tra il bordo dx del logo e il bordo dx della finestra, il tutto però indipendentemente dal numero di immagini e dal ridimensionamento del browser.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Mi sembra strana quella sintassi.
    All'apparenza sembra un menu, ma non ci sono i link.
    Se diventa un menu, devi usare i tag <ul> e[*] per la lista, ed allora diventano di tipo block, e questa sintassi HTML/CSS non va piu` bene.
    Inoltre vedo che usi i frame (peraltro deprecati), con all'interno pagine con DTD HTML 4.0 Strict.
    Non e` sbagliato, ma potresti avere problemi ad indirizzare oggetti tra i vari frame: con la DTD strict non puoi usare i target, quindi saresti costretto a degradare a DTD Transitional, ma questo potrebbe aver ripercussioni sul layout soprattutto nei brwoser IE.


    Comunque ecco la mia proposta per la situazione prospettata.
    codice:
     HTML:
    <body>
      <div id="header">  
          [img]img/logo.gif[/img]    
          [img]img/menu_contatti.gif[/img]
          [img]img/menu_grafica.gif[/img]
          .....
      </div>
      <!--
      ... -->
    </body>  
    
    
    CSS:
    * {
      margin: 0;
      padding: 0;
    }
    html, body {
      width: 100%;
      min-height: 100%;         /* non strettamente necessario */
    }
    body  {
      background: #d5dadd url(../img/sfondo_sfumato_80px.jpg) repeat-x 0 0;
    }
    
    #header { 
      width: 100%;
      height: ...;                        /* se serve - si puo` omettere */
      background: white;      /* serve per le prove - poi va tolto */
    }
    
    #header img {
      margin: 0 auto 0 0;     /* margine auto solo a destra di tutte le img */
    } 
    
    #logo {
      margin-left: auto;         /* solo sulla prima, margine auto anche a sinistra */
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Grazie innanzitutto per il codice; in effetti la pagina è molto vaga come l'ho presentata; il mio obbiettivo finale è:

    - logo in alto a sx;

    - menu delle sezioni principali del sito accanto al logo (le immagini sono solo una bozza di quello che saranno alla fine, con la dimensione è quella 60x60, ed evento click che agisce sul submenu centrale a sx);

    - nel frame centrale a sx (submenu) verrà appunto un submenu in base alla sezione che si sceglierà (immagine da cliccare);

    ho utilizzato i frame poichè non so come altro fare per usare il submit su un altra pagina nascosta, senza dover ricaricare nuovamente tutta la pagina; se sai indicarmi altri metodi sono ben disposto a nuove (per me) alternative;

    il submenu sulla sx non ho deciso ancora se punterà a pagine diverse con target all'interno del frame centrale, o a degli anchor sempre nel frame centrale.

    Comunque ho provato il codice che mi hai dato, ma non adatta le immagini lungo tutto lo spazio (spero di non essere io a sbagliare qualcosa) ;

    per quanto riguarda il DTD, che soluzione mi consigli per trovare una via di mezzo?

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Anzitutto devi decidere se vuoi lavorare come si faceva dieci - venti anni fa, o se vuoi usare le tecniche moderne.

    Nel primo caso non puoi usare DTD strict, ma devi ripiegare sui transitional. Questo avra` degli effetti collaterali che aumenteranno con il passare degli anni, dato che i browser moderni tendono a non supportare molto bene le tecniche "antiche".

    Nel secondo caso, devi abbandonare i frame, e passare a DTD Strict. Meglio e` se usi XHTML 1.0 Strict, oppure HTML 5 (quest'ultimo non e` ancora definito completamente, ma ci sono esempi di funzionamento):
    HTML5 e CSS3 in azione
    Opera 10.50 e i nuovi standard


    Attenzione ad usare JS: le pagine devono funzionare anche se JS non e` attivato e non ci devono essere sezioni inaccessibili se JS non funziona.
    Quindi la mia idea (ma non solo mia) e` che i MENU vanno realizzati SENZA JS. Ci sono bellissimi esempi di menu realizzati in HTML+CSS; alcuni sono riportati tra i "link utili" (a me piacciono quelli di CSSplay).


    Caricare solo parti di pagina.
    Il primo consiglio e`: non farlo. Se guardi bene il risparmio in termini di banda e` minimo, tenendo presente che le immagini e i CSS uguali nelle varie pagine non vengono ricaricati, ma il browser usa quelli in cache.
    E il costo in termini di accessibilita` e pulizia del codice e` invece molto alto.

    Comunque ci sono tecniche moderne che permettono di farlo. La tecnica piu` diffusa si chiama AJAX, e lato client fa uso di JS (quindi va usata solo se strettamente necessaria e se il target di utenti ha sempre JS attivo - o se si puo` chiedere di attivare JS).


    Le altre domande non hanno senso se prima non ti sei dato risposta a queste.

    Se vuoi un consiglio, studiati una buona guida XHTML: ne trovi una sul sito HTML.it .
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    grazie molto del consiglio, ho dato una rapida occhiata sul web pre i menù css e sono davvero sbalorditivi, considerando che fanno a meno del javascript ed hanno effetti altrettanto accattivanti;

    per quanto riguarda i frame li ho usati perchè il sito che sto facendo è una sorta di "curriculum" dimostrativo, in cui oltre a mettere le pagine che mi interessano, voglio realizzare anche pagine di dimostrazione delle varie cose che apprendo man mano che studio;

    da quanto ho capito quindi oggi l'uso di ajax ha sostituito i frame se non erro: ad esempio, una della pagine che vorrei realizzare in futuro è quella di calcolare il codice fiscale e visualizzare in un riquadro, tramite le api di google maps, il luogo in cui si è nati; su questo esempio non credo che si possa fare a meno di js, ma a questo punto vedrò come usare ajax per caricare il select dei comuni senza dover ricaricare tutta la pagina.

    indicazioni del genere da persone esperte nel campo sono molto preziose e ti ringrazio molto.

    un'ultima cosa, mi potresti indicare i "link utili" per i menu HTML+CSS per favore?

    ciao

    P.S.: spero che il post non sia andato troppo fuori discussione.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.