Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: CSS - Layout pagina

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    137

    CSS - Layout pagina

    Ciao a tutti.
    E' una settimana che mi sto scervellando per riuscire ad affiancare due tag nello stesso box.
    Si tratta di un'immagine relativamente grande mappata (una cartina della toscana per intendersi) e una lista UL con elencati tutti i link della mappa (so che è ridondante ma lo devo inserire per questioni di accessibilità).
    In teoria essendo due elementi inline dovrebbe farlo automaticamente, no?
    Ho provato anche ad inscatolarli dentro uno <span> senza risultato e infine in un div con display: inline;
    Avete qualche consiglio in materia?

    Vorrei l'elenco dei link alle province accanto alla cartina.

    Grazie e scusate il disturbo, ma su queste questioni mi incarto che è una meraviglia.
    $Pippo... la variabile preferita dall'ingegnere!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Due elementi inline vengono affiancati prendendo come riferimento la base delle linee o il centro.

    Comunque una cartina ed un link (ho scritto un, coscientemente) e` difficile che li puoi allineare.

    Cosi` ad occhio tu vuoi una cosa di questo tipo:
    codice:
    /-----------------------------\
    |                             |  link1
    |                             |  link2
    |                             |  link3
    |                             |  link4
    |      qui la cartina         |  ...
    |                             |
    |                             |
    |                             |
    |                             |
    |                             |
    \-----------------------------/
    E questo esclude che i due oggetti possano essere trattati come inline.

    Dovresti trattarli invece come block, inserendo la lista di link in un apposito div ed affiancandoli attribuendo
    float left;
    a tutti e due
    (poi ricordati di mettere un clear left; al div che segue).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    137
    Esatto è quello che cerco.
    Ora provo.
    Grazie mille
    $Pippo... la variabile preferita dall'ingegnere!

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    137
    sembrerebbe non funzionare..

    questa è la parte del mio stylesheet:
    codice:
    .link li {
            font-family: Arial, Helvetica, sans-serif;
            font-size: 75%;
            font-weight: bold;
            list-style-position: inset;
            list-style-type: square;
            line-height: 24px;
            text-decoration: none;
    }
    
    .link img{
            display: block;
            float: left;
    }
    
    .link ul {
            display: block;
            float: left;
    }
    e questa la sua implementazione xhtml:
    codice:
    <ul class="link">
     <li class="link">
    <ul>
    <map bla bla>
    [img]cartina3.gif[/img]

    Il clear left; non saprei come inserirlo essendo l'ultimo div della pagina.

    Ah il tutto è inserito dentro ad un blocco #content.

    (per inciso ci sarebbe un altro blocco, il menù laterale, che è un float: left; eppure anche inserendo il clear left; nel blocco dei contenuti seguente, non funziona)
    $Pippo... la variabile preferita dall'ingegnere!

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ci sono degli errori nel tuo CSS.

    Nell'HTML non c'e` nessun elemento <img> interno ad un elemento con class="link".

    Con il tuo HTML, devi scrivere:
    ul.link { ... }
    li.link { ... }
    img.link { ... }

    Per il resto il CSS mi sembra OK (ma non lo ho analizzato tutto).

    Nota:
    il nome link ha un significato nel DOM, per cui ti sconsiglo di usarlo come nome della classe.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    137
    scusa, ma nel mio tag img c'è specificata la classe.
    E non è la stessa cosa scrivere ul.link o .link ul??

    ora cambio il nome della classe (enjoy the power of vim editor )
    $Pippo... la variabile preferita dall'ingegnere!

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da Cosmy
    scusa, ma nel mio tag img c'è specificata la classe.
    E non è la stessa cosa scrivere ul.link o .link ul??
    No, sono due cose molto diverse (come accennavo sopra).

    Il CSS e` un linguaggio molto formale: "piccoli" errori di questo tipo non sono permessi.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    137
    in effetti cambiando come dici te funziona (anche se ora ho un altro problema che tra poco vi espongo).
    A questo punto non capisco la differenza tra ul.links e .links ul. Me la potete spiegare un attimo?
    Perchè eseguendo questa modifica su altre righe analoghe invece non funziona..

    Tornando al mio esempio, è vero che ora mi affianca immagine e links, però me li tira fuori dal flusso della pagina e quindi il div in cui erano incastonate si chiude prima. C'è una soluzione o l'unica cosa da fare è togliere i bordi a quel div?

    ecco la situazione attuale:
    codice:
     /-----------------------------------------------\
     |                     div #content              |
     |     /-----------------------------\           |  
     |    |                             |  link1     |
     |    |                             |  link2     |
     \----|                             |  link3 ----/
          |                             |  link4
          |      qui la cartina         |  ...
          |                             |
          |                             |
          |                             |
          |                             |
          |                             |
          \-----------------------------/
    invece vorrei:
    codice:
     /------------------------------------------------\
     |                     div #content               |
     |     /-----------------------------\            |  
     |     |                             |  link1     |
     |     |                             |  link2     |
     |     |                             |  link3     |
     |     |                             |  link4     |
     |     |      qui la cartina         |  ...       |
     |     |                             |            |
     |     |                             |            |
     |     |                             |            |
     |     |                             |            |
     |     |                             |            |
     |     \-----------------------------/            |
     |                                                |
     \------------------------------------------------/
     fine pagina
    $Pippo... la variabile preferita dall'ingegnere!

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    A questo punto non capisco la differenza tra ul.links e .links ul. Me la potete spiegare un attimo?
    ul.links
    si riferisce ad un tag di questo tipo:
    <ul class="links">

    .links ul
    si riferisce ad un tag ul contenuto all'interno di un altro oggetto di classe links:
    <div class="links">
    ...
    <ul>

    Lo spazio nelle definizioni dei CSS significa discendente (non necessariamente diretto)

    PS: anche links e` un oggetto del DOM, e non conviene usarlo (ci possono essere browser che fanno confusione).

    ----

    Il posizionamento dei vari blocchi dipende da un errato innestamento dei blocchi, o dall'uso di posizionamenti assoluti.

    Se non lo trovi, posta il codice HTML e il CSS relativi al blocco content, alla cartina e al blocco con i link.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    137
    Grazie mille delle chiarificazioni.
    Forse perchè trattasi di css, ho erroneamente trascurato un po' troppo la sintassi
    mi dovrò rifare..

    Per quanto riguarda l'altro problema ho trovato su internet un paio di possibili soluzioni, ma tutte presentano qualche contro indicazione.
    o mettere nel div che contiene i float:
    float: left;
    width: 100%;

    ma così mi stacca il content dal blocco head superiore (che contiene anch'esso un'immagine float che però voglio che per ragioni d'impaginazione rimanga fuori dal flusso della pagina)

    altrimenti un'altra soluzione carina è inserire nel div contente i float:
    width: 100%;
    overflow: auto;

    questa non mi dispiacerebbe se non fosse che mi ha riempito di barre di scorrimento il div.. ed io non le volevo..
    $Pippo... la variabile preferita dall'ingegnere!

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.