Domanda

Ho creato un'immagine per spiegare più facilmente cosa sono dopo:

Illustrazione immagine http://bayimg.com/image/eabahaaci.jpg

Ho letto alcune altre domande sull'argomento, ma non sono sicuro che le soluzioni funzioneranno per me perché il mio div deve essere espandibile e crescere man mano che vengono aggiunti più contenuti.

Qualcuno sa come farlo in un modo semplice?

È stato utile?

Soluzione

#body {background: transparent url(background/image.png) 0 0 repeat-y;
}

#content-wrap {width: 60%;
               margin: 0 auto;
               background: transparent url(partially/transparent/60percent-opaque.png) 0 0 repeat;

}

#main-content {width: 90%;
               margin: 1em auto 0 auto;
               background-color: #fff;
}

#footer       {width: 90%;
               margin: 1em auto 0 auto;
               background-color: #fff;
}

Imposta un'immagine .png parzialmente trasparente come sfondo per la sezione # content-wrap , con uno sfondo a tinta unita per i div (che ho usato # main-content e #footer , ma hanno lo stesso stile in modo da poter usare # content-wrap div e accorciare il css un po '.

<div id="content-wrap">
<!-- this is the outer wrapping div -->

<div id="main-content">

<!-- this I'm assuming is the main content portion -->

</div>

<div id="footer">

<!-- the name explains my assumption, I think... -->

</div>

</div>

body {
  background: #fff url(http://i.stack.imgur.com/9uIxu.png) 0 0 repeat;
}
#content-wrap {
  width: 60%;
  margin: 1em auto;
  padding: 1em 0;
  background-color: rgba(0, 0, 0, 0.3);
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
}
#content-wrap div {
  width: 90%;
  margin: 1em auto;
  background-color: #fff;
}
#content-wrap div p {
  margin: 1em 0;
}
<div id="content-wrap">

  <div id="main-content">

    <p>I presume the main content will sit here...</p>

    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium
      quis, sem. Nulla consequat massa quis enim.</p>

    <p>Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean
      vulputate eleifend tellus.</p>

    <p>Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue.
      Curabitur ullamcorper ultricies nisi.</p>

    <p>Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus.
      Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit
      cursus nunc,</p>

  </div>

  <div id="footer">

    <p>This'd be the footer. And so on...</p>

  </div>

</div>

... se sai che il tuo pubblico utilizzerà FF3.x (e probabilmente i browser basati su webkit), potresti usare background-color: rgba (0,0,0, 0,6); per definire il colore di sfondo (rosso = 0, verde = 0, blu = 0, alfa = 0,4 o 40% opaco (o trasparente al 60%) -i valori compresi tra 0 (completamente trasparente) e 1 (completamente opaco).)

L'uso del rgba per il colore impedisce ai problemi di usare opacità per rendere trasparente il div genitore, mentre si cerca di rendere visibili i bambini. Ma ha un uso limitato a causa dell'adozione del browser, ovviamente ...

Una demo funzionante è finita sul mio sito: http://www.davidrhysthomas.co.uk/so/transparent .html

Altri suggerimenti

Per la transpernzia avrai bisogno di una porzione di immagine alta 1px e uno per i corder arrotondati in basso

.background{
    background:url(/image/path);
}
.wrapper{
    background:url(/image/path/trans.png) repeat-y; 
    width:500px; 
    position:relative;
 }
.wrapper .bottom{
     background:url(path/to/image) no-repeat; 
     position:absolute; 
     bottom:0; 
     left:0; 
     height:20px;
}

.inner{
    background:#fff; 
    margin:10px;
}

Ho ingrandito larghezze e margini. Dovresti inserire tu stesso le giuste dimensioni

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top