2012-04-08 19 views
5

Esta pregunta se explica mejor con una captura de pantalla: http://i42.tinypic.com/2ccvx91.jpgEl uso de un DIV para enmascarar otra DIV

el div contenedor tiene una imagen de fondo de una ciudad.

#wrapper { 
    background:url('city.jpg'); 
} 

Dentro de ese div es un montón de otros divs de 'cuadrado' de clase:

.square { 
    width:40px; 
    height:40px; 
    background-color:#27272f; 
    opacity:.8; 
    margin:2px; 
} 

Se puede ver por las plazas de la ciudad debido a la opacidad. Pero también puedes ver a través de los espacios entre los cuadrados, lo que no quiero que haga. Solo quiero poder ver a través de los divs el elemento detrás de él, con los espacios entre ellos siendo negro sólido. ¿Cómo puedo hacer esto?

Gracias.

Respuesta

1

mejor es eliminar el margen .. y darle a su frontera div de 2 px ...

+0

o uso el relleno. – Yevgeniy

1

¿Qué hay de la configuración del border y el uso de un div envoltura para ocultar las esquinas. Tienes que tener un margen negativo de la superposición de trabajar aunque

Here is the adapted jsfiddle from animuson:

<div id="wrapper"> 
    <div class="hidingborder"> 
     <div class="square"></div> 
    </div> 
    <div class="hidingborder"> 
     <div class="square"></div> 
    </div> 
    <div class="hidingborder"> 
     <div class="square"></div> 
    </div> 
    <div class="hidingborder"> 
     <div class="square"></div> 
    </div> 
    <div class="hidingborder"> 
     <div class="square"></div> 
    </div> 
</div>​ 

y aquí está el css

#wrapper { 
    background:Green; 
    font-size:0; 
} 
.square { 
    width:40px; 
    height:40px; 
    background-color:#27272f; 
    opacity:.8; 
    border:2px solid black; 
    border-radius:5px; 
    display:inline-block; 
    margin:-2px; 
} 
.hidingborder 
{ 
    border:#27272f solid; 
    display:inline-block; 
} 
​ 
+0

Pensé esto al principio, pero no funcionaría con las esquinas redondeadas. Habría un diamante curvo en el centro de cada conjunto de cuatro cuadrados. Además, la opacidad aún afectaría el borde a menos que use RGBA para el fondo. – animuson

+0

si está codificando nuevos navegadores ... las esquinas redondeadas funcionan en casi todos los navegadores ahora – Kamal

+0

¿el borde no hereda la opacidad de sus elementos? Lo intentaré ... – Joey