Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di Evoken
    Registrato dal
    Apr 2010
    Messaggi
    31

    Un foglio di stile per ogni pagina, oppure un css per ogni div?

    Salve a tutti! Mentre lavoravo al mio sito, sono incappato in un bel dilemma!
    Siccome il mio sito ha diverse sezioni, e non tutte hanno le stesse dimensioni (in altezza sopratutto), come risolvo questo problema?

    Ovviamente alla mia pagina è legato un foglio di stile, che appunto definisce tutte le proprietà della pagina!
    Ma ha anche delle dimensioni prefissate per quanto riguarda la lunghezza di essa!
    Solo che se riprongo lo stesso foglio di stile per un altra pagina con pochissimo contenuto, rischierei di vedere una pagina lunga e vuota (viceversa, con tanto contenuto, invece la pagina viene tagliata).

    Come posso fare? Creo un foglio di stile per ogni pagina, oppure associo ad ogni pagina diversi css tutti contenuti in un unico foglio di stile?

    Spero di esser stato chiaro

  2. #2
    Moderatrice di Grafica, Cerco e offro lavoro L'avatar di Myaku
    Registrato dal
    Nov 2006
    Messaggi
    10,349

    Re: Un foglio di stile per ogni pagina, oppure un css per ogni pagina?

    Originariamente inviato da Evoken
    Come posso fare? Creo un foglio di stile per ogni pagina, oppure associo ad ogni pagina diversi css tutti contenuti in un unico foglio di stile?
    faccio un passo indietro, c'è un passaggio che non mi torna. Perché stai forzando l'altezza del tuo layout e non lasci invece che si adatti da solo ai contenuti?

  3. #3
    Utente di HTML.it L'avatar di Evoken
    Registrato dal
    Apr 2010
    Messaggi
    31
    Hai ragione, infatti dovevo essere più chiaro!
    Dunque, partendo dalla struttura della pagina, essa è assemblata così:
    un div contenitore (con altezza 100%, larghezza fissa e un immagine di sfondo ripetuto per tutta la lunghezza della pagina) che contiene a sua volta questi div:
    un div top (per il banner, con dimensioni fisse ovviamente), due div per il corpo centrale così per dire (affiancati), e un div di base (che fa da "galleggiante" sempre in fondo alla mia pagina).

    Ora, così facendo ho un problema, ossia che la lunghezza della pagina prende tutta la lunghezza del mio browser, solo che se scendo in basso vedo il resto del contenuto, ma senza sfondo del div contenitore (in caso si abbia un contenuto maggiore rispetto alla risoluzione del monitor dove si visualizza).
    Come ho risolto questo problema? Inserendo un min-height all'interno del div contenitore, in modo tale che tutta la pagina sia perfettamente congrua a tutto il contenitore!

    Ma così facendo si crea il problema che ho sopra citato nel topic di apertura...
    Cosa sbaglio?

  4. #4
    Utente di HTML.it L'avatar di Evoken
    Registrato dal
    Apr 2010
    Messaggi
    31
    Nessun aiuto?

  5. #5
    Moderatrice di CSS L'avatar di ResianTaxidrive
    Registrato dal
    Oct 2007
    residenza
    Udine
    Messaggi
    2,766
    puoi far vedere un link?

  6. #6
    Umh, un link del sito sarebbe davvero d'aiuto.
    In linee generali ti dirò, creare un foglio di stile diverso per ogni pagina non ha senso; l'utilità del foglio di stile sta proprio nel poter modificare il layout di un sito lavorando su un solo file. In futuro, se vuoi cambiare qualcosa, ti basta modificare un solo file css.
    Penso che tu abbia fatto qualche errore nell'annidare i div. Dovresti creare delle pagine che si adattino al contenuto, evita quindi le dimensioni fisse (almeno in altezza) quando puoi.
    Altrimenti c'è una soluzione più drastica; metti il div a dimensione fissa e aggiungi una scrollbar, così il layout non viene "compromesso" e tutto il contenuto scorre con la rotellina del mouse.

    In alternativa, riscrivi il file da capo guardando - mano a mano che scrivi - come appaiono le pagine.

  7. #7
    Io non capisco perché devi impostare necessariamente l'altezza?

  8. #8
    Utente di HTML.it L'avatar di Evoken
    Registrato dal
    Apr 2010
    Messaggi
    31
    Ma infatti non ho nessuna esigenza nel creare un layout ad altezza fissa, proprio per questo motivo, cioè che ogni sezione ha un contenuto variabile!

    Perchè ho dovuto usare questa altezza fissa allora?
    Semplicemente per il footer!

    Stranamente con iExplorer il problema del footer non esiste, infatti esso si va a posizionare esattamente in fondo alla pagina, dove finisce tutto il contenuto (mettendo l'altezza appunto in auto)!

    Ma in opera e mozilla il footer si va a posizionare invece al centro della pagina!!
    E' come se per opera e firefox il bordo inferiore della pagina non'è la fine di essa, (dove termina il contenuto diciamo) ma è in pratica il bordo inferiore del browser!..
    Non so se mi spiego!
    E' come se aprissi una pagina 800x600 e il footer si va a posizionare in basso ai 600px!
    Se invece la visualizzo in 1024x768, il footer si va a posizionare in basso ai 768px!

    Io infatti volevo creare una pagina con un top, un contenuto centrale (diviso verticalmente), e un footer che stia sempre a fine contenuto!

    Per maggior chiarezza vi faccio vedere il codice:

    HTML:
    codice:
    <div id="contenitore">
        <div id="top"></div>
        <div id="corposx"></div>
        <div id="corpodx"></div>
        <div id="footer"></div>
    </div>

    CSS:
    codice:
    #contenitore  { 
         width:800px;
         height:auto !important;
         height:100%;
         min-height:100%; 
         position:relative;  }
    
    #top  { 
         width:800px;
         height:200px;
         position:relative;  }
    
    #corposx  { 
         width:500px;
         height:auto !important;
         float:left;
         position:relative;   }
    
    #corpodx  { 
         width:300px;
         height:auto !important;
         float:left;
         position:relative;   }
    
    #footer  { 
         width:100%;
         height:50px;
         bottom:0;
         margin-left:-400px;
         left:50%;
         position:absolute;   }
    Ovviamente vi risparmio i vari tag e css come colori di font, sfondi, ecc...
    Ciò che mi interessa farvi vedere è appunto la struttura del layout, ed è questa che vi ho mostrato!

  9. #9
    Moderatrice di Grafica, Cerco e offro lavoro L'avatar di Myaku
    Registrato dal
    Nov 2006
    Messaggi
    10,349
    Originariamente inviato da Evoken
    Perchè ho dovuto usare questa altezza fissa allora?
    Semplicemente per il footer!
    eccolollà
    era normale il comportamento di firefox & co., dato che tu posizioni il footer in maniera assoluta dentro un div padre che è relativo.
    Per farlo stare ancorato alla pagina potresti fare in modo che il suo elemento di riferimento per il posizionamento ('mmazza gli -ento) sia la finestra del browser: prova ad esempio a rimuovere il footer dal #contenitore.

    butta anche un'occhio al clearing, a meno che mi sia sfuggita qualche riga di codice, con quei float appena rimuovi l'altezza potresti avere qualche problemino di visualizzazione.


  10. #10
    Utente di HTML.it L'avatar di Evoken
    Registrato dal
    Apr 2010
    Messaggi
    31
    Quindi myaku mi stai dicendo di mettere il footer fuori dal div contenitore, creando una struttura simile? ...

    codice:
    <div id="contenitore">
        <div id="top"></div>
        <div id="corposx"></div>
        <div id="corpodx"></div>
    </div>
    <div id="footer"></div>
    E con i css come mi comporto? Che cambiamento devo fare, a parte il position?

    Un altra domanda, se io levo i float da corposx e corpodx, i rispettivi div mi stanno sempre allineati di fianco?

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.