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

    Sovrapporre elementi con position:relative

    Salve sono un paio di settimane che cerco di trovare una soluzione al mio problema senza esito.
    Mi sarebbe utile sapere se è possibile sovrappore sopra un immagine del testo e una seconda immagine.

    Mi spiego meglio.

    Io vorrei creare un layout come figura(allegata) ed penso che non posso usare un posizionamento assoluto, perchè gli elementi al suo interno cambiano. Qualcosa l'ho giá fatta ed è:
    Codice PHP:
    ---------------------------------------------------------------------------------------
    css:
    ---------------------------------------------------------------------------------------
     
    /*Immagine sempre fissa */ 
    div#parte_centrale{
       
    positionrelative;
       
    height10px;
       
    top10px;
       
    z-index1;
       }
     
    /* immagine di altezza variabile */ 
     
    div#elettro_esposto{
      
    positionrelative;
      
    height10px;
      
    top10px;
      
    left400px;
      
    z-index2;


    }


    /* Descrizione contenitore che comprende il testo la foto del eletrodomestico e del deco centrale*/
    #descrizione{
    positionrelative;
    padding:0 1.5em;


    }
    p.clearer {
      
    clearboth;
      
    font-size0;    /* questo serve per evitare unbug inIE6 */
    }

     
    /* I prossimi due tag servono per il testo variabile */ 
    div.testo{
      
    positionrelative;
      
    top1px;
      
    left10px;
    }

    li{
        
    positionrelative;
        list-
    style-imageurl([url]http://fabione.de/ebay/deco/ceck.gif[/url]);
        
    font-familyArialHelveticasans-serif;
        
    font-size1.5em;
        
    font-weight600;
        
    color#000000;
        
    z-index4;
        }
     
    /* bax che si deve spostare */ 
    .dati_pricipali_macchina {
       
    positionrelative;
       
    top120px;
       
    left280px;
       
    width250px;
       
    color#000;
       
    background-color#F9F2A2;
       /*valore da non variare*/
       
    background-imageurl("http://fabione.de/ebay/deco/angoli_essenziali_bottom.gif");
       
    background-repeatno-repeat;
       
    background-positionbottom left;
    }

    .
    dati_pricipali_macchina_testo {
       
    /*valore da non variare*/
       
    background-imageurl("http://fabione.de/ebay/deco/angoli_essenziali_top.gif");
       
    background-repeatno-repeat;
       
    padding10px;
    }
    ----------------------------------------------------------------------------------------
    html  quello che segue e racchiuso in un contenitore
    ----------------------------------------------------------------------------------------
            <
    div id="descrizione">
            <
    div id="elettro_esposto">
                      [
    img]F:/ebay/modelli attuali/siemenst1200a/immagini/eletro_esposto.gif[/img]
                       </
    div>

                     <
    div id="parte_centrale">
                     [
    img]http://fabione.de/ebay/deco/deco_centrale.gif[/img]
                       
    </div>
                       <
    div id="testo">


                        <
    span class='descrizione_rosso'>Indice2</span>
                            <
    ul>[*]Prova[*]Prova1[*]Prova3[*]Prova4[*]Prova[*]Prova1[/list]
                                  <
    span class='descrizione_rosso'>Indice2</span>
                             <
    ul>[*]Prova3[*]Prova4[*]Prova
    [*]Prova[*]Prova1[*]Prova3[*]Prova4[*]Prova[*]Prova1[/list]
                                  <
    span class='descrizione_rosso'>Indice2</span>
                             <
    ul>[*]Prova3[*]Prova4[*]Prova
    [/list]
                    </
    div>
    </
    div>

    <
    class="clearer"> </p>

      <
    div class="dati_pricipali_macchina">
        <
    div class="dati_pricipali_macchina_testo">
          <
    span class="dettagli_nero">Energieeffizienzklasse:<span class="dettagli_rosso" style="position: relative; left: 2px; top: 0px">A</span></span>
          <
    hr>
          <
    span class="dettagli_nero">Wasserverbrauch:<span class="dettagli_rosso" style="position: relative; left: 37px; top: 0px">49 L</span></span>
          <
    hr>
          <
    span class="dettagli_nero">Stromverbrauch:<span class="dettagli_rosso" style="position: relative; left: 50px; top: 0px">0.95 KWh</span></span>
          <
    hr>
          <
    span class="dettagli_nero">Neuepreis:<span class="dettagli_rosso" style="position: relative; left: 88px; top: 0px">625 Euro</span></span>
        </
    div>
      </
    div
    La cosa funzina pure solo che il box inferiare si sovrapone all immagine e se metto l'attributo height: auto cosi:
    Codice PHP:

     div
    #elettro_esposto{
      
    positionrelative;
      
     
    /*height: 10px;  questo via*/
        
    heightauto/* uso questo sballa tutto */
      
    top10px;
      
    left400px;
      
    z-index2;




    scende tutto.

    So che quello che ho scritto può sembrare un romanzo ma meglio non sò descrivere il mio problema.

    Tutto stà se si possono accavallare o sovrappore elementi utilizzando relative e se no come posso spostare un elemento dinamincamente in base a un'altro che sta posizionato con assolute.

    Grazie
    <-------------------------------->
    Se non avessimo difetti, non ci farebbe tanto piacere trovarne negli altri.
    <-------------------------------->
    Andate sempre contro il vento...Solo così imparerete a volare...

  2. #2
    Invio L#immagine 'cosi' visto che 'cola' non funziona

    <-------------------------------->
    Se non avessimo difetti, non ci farebbe tanto piacere trovarne negli altri.
    <-------------------------------->
    Andate sempre contro il vento...Solo così imparerete a volare...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ho letto tutto il tuo codice, ma io partirei da un presupposto diverso.

    Quello che si vede in nero non e` un'immagine che ha del contenuto, ma e` uno sfondo. La differenza e` importante: se una persona non vede l'immagine, riesce comunque ad avere tutto il contenuto informativo della pagina.
    Quindi va trattato come sfondo, e gli sfondi si inseriscono nel CSS con gli attributi background.

    Allego un'immagine con la mia proposta.
    Il codice per ottenerla e` del tipo:
    codice:
    HTML:
    <body>
      <div id="wrapper">
        <div id="box1">
    
    box1</p></div>
        <div id="box1">
    
    box2</p></div>
      </div>
    </body>
    
    CSS:
    html, body {
      width: 100%;
      background-color: #888;     /* grigio piu` scuro */
    }
    #wrapper {
      width: 700px;
      margin: 20px auto;
      background: #fff url(arancio.gif) repeat-x;
    }
    #wrapper:after {
      clear: both;
      /* ed altri attributi come consigliato in [Pillola] FabClearing, un metodo crossbrowser alternativo per il clearing dei float */
    }
    #box1 {
      width: 300px;
      margin: 40px 20px;
      float: left;
      background-color: #ddd;      /* grigio chiaro */
    }
    #box2 {
      width: 300px;
      margin: 40px 20px;
      float: right;
      background-color: #ddd;      /* grigio chiaro */
    }
    Il file arancio.gif deve essere un'immagine larga 1px e alta come la fascia che vuoi generare. In alternativa puo` essere un'immagine a tutta larghezza, ed in quel caso deve esserci no-repeat al posto di repeat-x.

    Nota che tutti i colori sono inseriti per prova (per poter visualizzare i blocchi): possono essere cambiati, e possono anche diventare transparent

    NON e` stato ottimizzato per IE (quirks): occorre inserire altri attributi per centrare in IE
    Immagini allegate Immagini allegate
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Innanzitutto grazie per il tempo che mi dedichi.

    Quindi mi consigli di inserire l'immagine fissa nello sfondo.Solo che questa soluzione porterebbe ad un eccessivo peso (in termini di kb).Guarda come dovrebbe essere la pagina:

    http://fabione.de/ebay/siemens6123/index.htm

    Da qui capirai che non posso inserire l'immagine fissa ´nello sfondo.
    <-------------------------------->
    Se non avessimo difetti, non ci farebbe tanto piacere trovarne negli altri.
    <-------------------------------->
    Andate sempre contro il vento...Solo così imparerete a volare...

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ho guardato il codice HTML+CSS della pagina (e` un po' lungo e non formattato come piace a me - questo complica seguirne la logica).
    Inoltre ci sono degli evidenti errori di formattazione, che portano a sovrapposizioni (che sono deleterie, essendo quella una pagina di pubblicita` - Cosa puo` pensare un cliente se non riesce a vedere la pagina? Devi provare le tue pagina anche con i caratteri ingranditi !!)

    Pero` ti posso dire come organizzerei quella pagina.
    Si tratta di un contenitore (sfondo giallo) contenuto (forse centrato?) nel body (sfondo azzurro) con un bordo nero.
    All'interno ci sono due false colonne, che vengono realizzate mediante un'immagine (alta 1 px e larga il necessario) da inserire nel contenitore lasciando uno spazio in alto (basta spostare lo sfondo e farlo iniziare un po' piu` basso). Nota che fino ad ora c'e` solo il <body> ed un solo <div>.

    A questo punto va inserito un ulteriore contenitore, per poter sovrapporre alle due false colonne l'ovale giallo e rosa (e` un'unica immagine che contiene i due colori; all'esterno del giallo deve essere trsparente). Il contenitore avra` quindi sfondo trasparente e l'immagine di sfondo come detto.

    A questo punto inserisci le due colonne: a sinistra le scritte, a destra la lavatrice.

    Poi puoi inserire i tre riquadri gialli, che pero` non possono essere inseriti con i posizionamenti assoluti, perche` questo porta a sovrapposizioni sopra le scritte (o in alternativa a spazi enormi vuoti a seconda delle dimensioni dei caratteri. Ricorda che non hai mezzi per conoscere le dimensioni dei caratteri che usa l'utente: se le definisci, il browser dell'utente puo` sovrascriverle.

    A mio parere il riquadro dell'efficienza energetica puo` essere messo nella colonna di destra (centrato nella colonna) sotto la lavatrice, mentre gli altri due possono essere centrati nella pagina alla fine delle due colonne; quindi dev'esserci un elemento con il clear (puo` essere la fine del contenitore degli ovali) ed i riquadri "importante" e delle immagini sono centrati nel blocco che ha le false colonne.

    Nota che se vuoi usare i CSS con profitto, devi eliminare TUTTA la formattazione realizzata tramite attributi HTML (e nel tuo codice ne ho vista parecchia).


    Nota a margine: E` un po` assurda una pagina in tedesco con i commenti in italiano: a mio parere tutto il codice va scritto in inglese o in tedesco - se io fossi il committente tedesco non accetterei una cosa di quel tipo: il rischio e` che la ditta possa essere ritenuta poco affidabile. Lo stesso vale per il linguaggio usato: non puoi presentarti nel 2009 con una pagina HTML 4.01 transitional. Devi scegliere o XHTML Strict oppure HTML5 (la mia personale preferenza e` per il primo, ma oggi alcuni browser nuovi supportano HTML5).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Grazie per la risposta.

    Seguiro i tuoi consigli.Volevo solo aggiungiere che il committente sono io stesso per riprendere una sketch di Bonolis e Laurenti "me la canto e mela sòno" da solo.

    >Grazie anora
    <-------------------------------->
    Se non avessimo difetti, non ci farebbe tanto piacere trovarne negli altri.
    <-------------------------------->
    Andate sempre contro il vento...Solo così imparerete a volare...

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.