Estoy tratando de hacer que un div semitransparente cubra toda la pantalla. Probé esto:
#dimScreen
{
width: 100%;
height: 100%;
background:rgba(255,255,255,0.5);
}
Pero eso no cubre toda la pantalla, solo cubre el área dentro del div.
position: absolute; top: 0; left: 0;
Respuestas:
Agregar
position:fixed
. Luego, la cubierta se fija en toda la pantalla, también cuando se desplaza.Y agregue quizás también
margin: 0; padding:0;
para que no tenga espacio alrededor de la cubierta.#dimScreen { position:fixed; padding:0; margin:0; top:0; left:0; width: 100%; height: 100%; background:rgba(255,255,255,0.5); }
Y si no se fija en la pantalla, usa
position:absolute;
CSS Tricks también tiene un artículo interesante sobre la propiedad de pantalla completa.
Editar:
Acabo de encontrar esta respuesta, así que quería agregar algunas cosas adicionales.
Como mencionó Daniel Allen Langdon en el comentario, agregue
top:0; left:0;
para estar seguro, la cubierta se pega en la parte superior e izquierda de la pantalla.Si algunos elementos están en la parte superior de la portada (por lo que no cubre todo), agregue
z-index
. Cuanto mayor sea el número, más niveles cubre.fuente
top: 0; left: 0;
Es necesario configurar el elemento padre para
100%
asíhtml, body { height: 100%; }
Demo (se modificó
background
para fines de demostración)Además, cuando desea cubrir toda la pantalla, parece que desea hacerlo
dim
, por lo que en este caso, debe usarposition: fixed;
#dimScreen { width: 100%; height: 100%; background:rgba(255,255,255,0.5); position: fixed; top: 0; left: 0; z-index: 100; /* Just to keep it at the very top */ }
Si ese es el caso, entonces no necesitas
html, body {height: 100%;}
Demo 2
fuente
position:relative
. No funcionará. Sugerir en suposition:fixed
lugar.¡Esto hará el truco!
div { height: 100vh; width: 100vw; }
fuente
Utilice de
position:fixed
esta manera su div permanecerá en toda el área visible de forma continua.dale a tu div una clase
overlay
y crea la siguiente regla en tu CSS.overlay{ opacity:0.8; background-color:#ccc; position:fixed; width:100%; height:100%; top:0px; left:0px; z-index:1000; }
Demostración: http://www.jsfiddle.net/TtL7R/1/
fuente
#dimScreen{ position:fixed; top:0px; left:0px; width:100%; height:100%; }
fuente
Prueba esto
#dimScreen { width: 100%; height: 100%; background:rgba(255,255,255,0.5); position: fixed; top: 0; left: 0; }
fuente
Aplicar un css-reset para restablecer todos los márgenes y rellenos como este
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126 Licencia: ninguna (dominio público) * /
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } body { line-height: 1; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; }
Puede usar varios css-resets según lo necesite, normal y usar en css
html { margin: 0px; padding: 0px; } body { margin: 0px; padding: 0px; }
fuente
Establecer las etiquetas html y corporales
height
a100%
y retirar el margen alrededor del cuerpo:html, body { height: 100%; margin: 0px; /* Remove the margin around the body */ }
Ahora configure el
position
de su div enfixed
:#dimScreen { width: 100%; height: 100%; background:rgba(255,255,255,0.5); position: fixed; top: 0px; left: 0px; z-index: 1000; /* Now the div will be on top */ }
Demostración: http://jsfiddle.net/F3LHW/
fuente
intente establecer el margen y el relleno en 0 en el cuerpo.
<body style="margin: 0 0 0 0; padding: 0 0 0 0;">
fuente