Estoy tratando de construir un sitio web de práctica con Bootstrap 4 (esta es la primera vez que lo uso). Se me ocurrió un problema en el diseño que estoy diseñando y probablemente sea algo realmente simple, pero no puedo resolverlo.

<div id="box-container" class="container-fluid">
    <div id="box-row" class="row">
        <div id="header-box1" class="col-lg-6 header-box">
        </div>
        <div id="header-box2" class="col-lg-6 header-box">
        </div>
    </div>
</div>

Demo completa | Código completo (ignore las imágenes, son solo un marcador de posición)

Vea la demostración completa y notará que tengo 2 cuadros en los que he colocado un efecto de desplazamiento del zoom. El cuadro de la izquierda funciona exactamente como debería ser, sin embargo, el de la derecha se superpone a la izquierda. Sé que esto es algo simple, pero no puedo entenderlo.

¿Algún consejo? Salud

1
jkarakizi 16 feb. 2017 a las 03:37

3 respuestas

La mejor respuesta

Estás buscando modificar el tamaño del fondo.

.header-box {
    background-position: center;
    background-size:100%;
    transition: all 1s ease;
    -moz-transition: all 1s ease;
    -ms-transition: all 1s ease;
    -webkit-transition: all 1s ease;
    -o-transition: all 1s ease;
}
.header-box:hover{
    background-size:150%;
    -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1.5, M12=0, M21=0, M22=1.5, SizingMethod='auto expand')"; /* IE8 */
    filter: progid:DXImageTransform.Microsoft.Matrix(M11=1.5, M12=0, M21=0, M22=1.5, SizingMethod='auto expand'); /* IE6 and 7 */ 
}
0
Zed 16 feb. 2017 a las 00:54

Mueva los divs con los fondos a los elementos de la columna de arranque, configure overflow: hidden; en las columnas de arranque, luego configure los elementos del cuadro en position: absolute; top: 0; left: 0; right: 0; bottom: 0;

#header-box1 {
  background-image: url(http://indianapublicmedia.org/arts/files/2012/04/sample-gates-9-940x626.jpg);
}

#header-box2 {
  background-image: url(http://indianapublicmedia.org/arts/files/2012/04/sample-gates-9-940x626.jpg);
}

#box-row {
  height: 250px; /* you don't need to modify this */
  overflow: hidden;
  box-sizing: border-box;
}

.header-box {
  background-position: center;
  transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -webkit-transition: transform 1s ease;
  -o-transition: all 1s ease;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.header-box:hover {
  transform: scale(1.5);
  -moz-transform: scale(1.5);
  -webkit-transform: scale(1.5);
  -o-transform: scale(1.5);
  -ms-transform: scale(1.5);
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1.5, M12=0, M21=0, M22=1.5, SizingMethod='auto expand')";
  filter: progid: DXImageTransform.Microsoft.Matrix(M11=1.5, M12=0, M21=0, M22=1.5, SizingMethod='auto expand');
}

#box-row > .col-lg-6 {
  overflow: hidden;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet">
<div id="box-container" class="container-fluid">
  <div id="box-row" class="row">
    <div class="col-lg-6">
      <div id="header-box1" class="header-box"></div>
    </div>
    <div class="col-lg-6">
      <div id="header-box2" class="header-box"></div>
    </div>
  </div>
</div>
0
Michael Coker 16 feb. 2017 a las 00:52

Coloque el Div de cada imagen en otro div propio y configure el desbordamiento en ninguno. asegúrese de que el índice z del div externo sea más alto.

0
user2777173 16 feb. 2017 a las 00:53