Soporte
anteriores del navegador
Si es mayor soporte de los navegadores es una necesidad, por lo que no puede ir con múltiples orígenes o degradados, lo que probablemente va a querer hacer algo así en un elemento de recambio div
:
#background {
position: fixed;
top: 0;
left: 0;
width: 50%;
height: 100%;
background-color: pink;
}
Ejemplo: http://jsfiddle.net/PLfLW/1704/
la solución utiliza un div fijo adicional que llena la mitad de la pantalla. Como está arreglado, permanecerá en su posición incluso cuando los usuarios se desplacen. Puede que tengas que jugar con algunos índices z más adelante, para asegurarte de que tus otros elementos estén por encima del div de fondo, pero no debería ser demasiado complejo.
Si tiene problemas, simplemente asegúrese de que el resto de su contenido tenga un índice Z más alto que el elemento de fondo y debería estar listo para continuar.
navegadores modernos
Si los nuevos navegadores son su única preocupación, hay un par de otros métodos que se pueden utilizar:
Gradiente Lineal:
Esta es sin duda la solución más fácil . Puede usar un gradiente lineal en la propiedad de fondo del cuerpo para una variedad de efectos.
body {
height: 100%;
background: linear-gradient(90deg, #FFC0CB 50%, #00FFFF 50%);
}
Esto provoca un corte duro en 50% para cada color, por lo que no es un "gradiente" como el nombre implica. Intente experimentar con la parte del estilo "50%" para ver los diferentes efectos que puede lograr.
Ejemplo: http://jsfiddle.net/v14m59pq/2/
varios fondos con el fondo de tamaño:
Se puede aplicar un color de fondo para el elemento html
, y luego aplicar una imagen de fondo para el elemento body
y utilizar el background-size
propiedad para establecerlo al 50% del ancho de la página. Esto da como resultado un efecto similar, aunque en realidad solo se usaría sobre degradados si usa una imagen o dos.
html {
height: 100%;
background-color: cyan;
}
body {
height: 100%;
background-image: url('http://i.imgur.com/9HMnxKs.png');
background-repeat: repeat-y;
background-size: 50% auto;
}
Ejemplo: http://jsfiddle.net/6vhshyxg/2/
EXTRA NOTA: en cuenta que tanto las html
y body
elementos se fijan a height: 100%
en los últimos ejemplos. Esto es para asegurarse de que incluso si su contenido es más pequeño que la página, el fondo será al menos el alto de la ventana gráfica del usuario. Sin la altura explícita, el efecto de fondo solo disminuirá en cuanto al contenido de su página. También es solo una buena práctica en general.
funcionó de maravilla, gracias! –
También: z-index: -1 – user956584
Gracias, me ayudó a lograr este efecto en una tabla: http://jsfiddle.net/c9kp2pde/ –