J'essaye de faire en sorte qu'un div semi-transparent couvre tout l'écran. J'ai essayé ceci:
#dimScreen
{
width: 100%;
height: 100%;
background:rgba(255,255,255,0.5);
}
Mais cela ne couvre pas tout l'écran, cela ne couvre que la zone au sein de la div.
position: absolute; top: 0; left: 0;
Réponses:
Ajouter
position:fixed
. Ensuite, la couverture est fixée sur tout l'écran, également lorsque vous faites défiler.Et ajoutez peut-être aussi
margin: 0; padding:0;
pour qu'il n'y ait pas d'espace autour de la couverture.#dimScreen { position:fixed; padding:0; margin:0; top:0; left:0; width: 100%; height: 100%; background:rgba(255,255,255,0.5); }
Et s'il ne doit pas rester sur l'écran fixe, utilisez
position:absolute;
CSS Tricks a également un article intéressant sur la propriété plein écran.
Edit:
Je viens de trouver cette réponse, alors je voulais ajouter des choses supplémentaires.
Comme Daniel Allen Langdon l'a mentionné dans le commentaire, ajoutez
top:0; left:0;
pour être sûr que la couverture colle tout en haut et à gauche de l'écran.Si vous avez des éléments en haut de la couverture (donc ça ne couvre pas tout), alors ajoutez
z-index
. Plus le nombre est élevé, plus il couvre de niveaux.la source
top: 0; left: 0;
Vous devez définir l'élément parent
100%
ethtml, body { height: 100%; }
Démo (modifié à des
background
fins de démonstration)De plus, lorsque vous souhaitez couvrir tout l'écran, vous semblez vouloir le faire
dim
, donc dans ce cas, vous devez utiliserposition: 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 c'est le cas, tu n'as pas besoin
html, body {height: 100%;}
Démo 2
la source
position:relative
. Ça ne marchera pas. Suggérer à laposition:fixed
place.Ça fera l'affaire!
div { height: 100vh; width: 100vw; }
la source
Utilisez de
position:fixed
cette façon votre div restera sur toute la zone visible en continu.donnez à votre div une classe
overlay
et créez la règle suivante dans votre CSS.overlay{ opacity:0.8; background-color:#ccc; position:fixed; width:100%; height:100%; top:0px; left:0px; z-index:1000; }
Démo: http://www.jsfiddle.net/TtL7R/1/
la source
#dimScreen{ position:fixed; top:0px; left:0px; width:100%; height:100%; }
la source
Essaye ça
#dimScreen { width: 100%; height: 100%; background:rgba(255,255,255,0.5); position: fixed; top: 0; left: 0; }
la source
Appliquez une réinitialisation css pour réinitialiser toutes les marges et les rembourrages comme celui-ci
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126 Licence: aucune (domaine public) * /
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; }
Vous pouvez utiliser diverses réinitialisations css selon vos besoins, normalement et utiliser en css
html { margin: 0px; padding: 0px; } body { margin: 0px; padding: 0px; }
la source
Définissez les balises html et body
height
sur100%
et supprimez la marge autour du corps:html, body { height: 100%; margin: 0px; /* Remove the margin around the body */ }
Maintenant, définissez le
position
de votre div surfixed
:#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 */ }
Démo: http://jsfiddle.net/F3LHW/
la source
veuillez essayer de régler la marge et le rembourrage à 0 sur le corps.
<body style="margin: 0 0 0 0; padding: 0 0 0 0;">
la source