Domanda

sto usando libreria jQuery. Faccio un po 'di div trasparente (0,7). Ci sono alcuni testo in quel div. E vedo situazione spiacevole: font del testo è brutto. Mi pare di capire, causare tutto div-area è Transparet, anche il mio testo. Potrei farlo non trasparente?

UPD

Ho cercato di fare il mio div non trasparente: il testo è grande! Così, come posso fare il mio div trasparente, ma il testo che è incluso, non ci dovrebbe essere.

Testato in Win, Linux, MacOS. Chrome, Firefox, Opera, IE

È stato utile?

Soluzione

creo una classe generica per gli sfondi traslucidi, una classe generica per i contenitori di testo invisibile, e una classe per l'istanza specifica, con qualsiasi dimensione e posizione styling. Per esempio potrei avere .color_box, .text_box e .side_note. Poi ho creato un po 'di codice come il seguente:

Stili, in questo modo:

.color_box, .text_box {
position: absolute;
z-index: 20;
...
}

.color_box {
background: #xxxxxx;
opacity: .5;
z-index: 10;
...
}

.side_note {
top: 50px;
left: 100px;
width: 240px;
...
}

e HTML in questo modo:

<div class="text_box side_note">lorem ipsum dolor sig amet...</div>
...
<div class="color_box side_note"></div>

La seconda div può andare da nessuna parte all'interno dello stesso contenitore come il primo, e preferisco di mettere al più tardi possibile dato che non è utile per scopi SEO. Questa particolare configurazione è più utile per un sito con molte di queste scatole trasparenti. È necessario una classe per creare una nuova configurazione, e si ri-utilizzano le classi .color_box e .text_box per ciascuno di essi. Se è necessario cambiare il colore di sfondo, è in un unico luogo. Il posizionamento per qualsiasi area in una singola classe.

Altri suggerimenti

Domanda interessante. Ecco la soluzione che mi viene in mente prima:

<style>
  .wrapper {position:relative;}
  .transparent { position:absolute; background:red; top:0; bottom:0; left:0; right:0;}
</style>

<script>
  $(document).ready(function(){
    $('.transparent').css('opacity',.7)
  });
</script>

<div class="wrapper">
   <div class="transparent"> </div>
   <div class="opaque">your text</div>
</div>

In sostanza il gioco è posizionare il testo di sedersi sulla parte superiore della scatola trasparente.

tendo utilizzare un semi-trasparenti .png e quindi utilizzare un hack per IE6, che è descritto in questo discussione insieme alle altre opzioni.

Si potrebbe usare RGBA () per specificare il colore della casella, RGBA () non viene ereditata da eventuali elementi figli. purtroppo RGBA è supportata solo dai browser moderni più (FF, Safari, Chrome), ma è fantastico da usare.

#yourbox {
    background-color:rgba(red,green,blue,alpha);
{

Tutto ciò che fai è ottenere il valore del colore che si desidera in RGB, quindi impostare il valore alfa scorso, è inoltre necessario impostare un valore di ripiego per i browser che non lo supportano.

#yourbox {
background-color:#fff;    
background-color:rgba(255,255,255,0.5);
{

Questo vi darà una casella bianca al 50% di opacità nella maggior parte dei browser moderni, ma vi darà una solida scatola bianca nella maggior parte delle versioni di IE.

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