IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Mettre un div en avant plan qui recouvre toute la page


Sujet :

CSS

  1. #1
    Membre éclairé
    Avatar de Etanne
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 469
    Points : 855
    Points
    855
    Par défaut Mettre un div en avant plan qui recouvre toute la page
    Bonjour,

    Je cherche en CSS comment mettre une div devant ma page qui recouvre la totalité la page.

    J'ai cherché sur Google, et je n'ai rien trouvé

    Sur Alsascréation ils proposent ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
     
    <head>
     
    <style type="text/css">
    <!--   
    *{border:0;margin:0;padding:0}
    html,body{width:100%;height:100%;}
    #cache {
        position:absolute; 
        z-index:100; 
        filter:alpha(opacity=60);
    	  -moz-opacity: 0.6;
    	  opacity: 0.6;
        background-color: red;
        width:100%;
        height:100%;
    }
    #cache div{
        font-size: 28px;
        color: black;
        text-align:center;
    		position:absolute;
    		top:45%;
        width:100%;
    }
    -->
    </style>
     
     
     
    </head>
     
    <body>
     
    <script type="text/javascript">
     
    <!--   
     
    //création du div visible seulement si javascript est activé
     
    calque=document.createElement('div');calque.id="cache";
     
    centre=document.createElement('div');
     
    calque.appendChild(centre)
     
    centre.appendChild(document.createTextNode("Veuillez patienter pendant le chargement de la page..."))
     
    document.body.appendChild(calque)
     
    window.onload=function(){}
     
    -->
     
    </script>
    <p>contenu de la page</p>
    </body>
     
    </html>
    Mais hélas la calque n'est pas capable d'avoir la taille de la page, si celle-ci est scrollable.

    Il existe une solution ou dois-je me tourner vers le javascript ?

    Bonne journée,
    Florian

  2. #2
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    quelque chose de dynamique qui fasse un écran de chargement ?

    en javaScript ou peut etre java

    tu voudrais un truc comment ?
    comme sur ce site quand tu clic sur le bouton de connexion ?

    ecran

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Ou Window Prototype en Javascript :

    http://prototype-window.xilinus.com/samples.html

  4. #4
    Membre éclairé
    Avatar de Etanne
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 469
    Points : 855
    Points
    855
    Par défaut
    Citation Envoyé par LeXo Voir le message
    quelque chose de dynamique qui fasse un écran de chargement ?

    en javaScript ou peut etre java

    tu voudrais un truc comment ?
    comme sur ce site quand tu clic sur le bouton de connexion ?

    ecran
    Voila, c'est exactement ce que je désire. L'utilisation de ce calque n'est pas pour la chargement, mais pour que l'utilisateur ne puisse pas cliquer derrière un pop-up (qui est aussi un div).

    Je vais essayer de décortiquer le code, si jamais tu sais où je peux trouver un tuto là dessus, pourrais-tu m'indiquer où le trouver ?

    Merci.
    Florian

  5. #5
    Membre éclairé
    Avatar de Etanne
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 469
    Points : 855
    Points
    855
    Par défaut
    Mince, l'effet fonctionne avec FireFox, mais pas avec IE7

  6. #6
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Citation Envoyé par Etanne Voir le message
    Je cherche en CSS comment mettre une div devant ma page qui recouvre la totalité la page.

    ...

    Mais hélas la calque n'est pas capable d'avoir la taille de la page, si celle-ci est scrollable.

    Il existe une solution ou dois-je me tourner vers le javascript ?
    Normalement en virant le height du body et le remplaçant par un min-height tu devrais obtenir l'effet voulu sur tous les navigateurs récents (IE7 compris), par contre le javascript sera nécessaire pour IE6-:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    html {height:100%;}
    body {min-height:100%;position:relative;}

    Edit:
    il faut aussi ajouter un position:relative sur le body afin qu'il devienne la référence pour le positionnement absolu en lieu et place de la fenêtre.

  7. #7
    Membre éclairé
    Avatar de Etanne
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 469
    Points : 855
    Points
    855
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Ou Window Prototype en Javascript :

    http://prototype-window.xilinus.com/samples.html
    Il utilise des claque devant, mais il y a un problème avec la scollbar avec IE7

    Citation Envoyé par Candygirl Voir le message
    Normalement en virant le height du body et le remplaçant par un min-height tu devrais obtenir l'effet voulu sur tous les navigateurs récents (IE7 compris), par contre le javascript sera nécessaire pour IE6-:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    html {height:100%;}
    body {min-height:100%;}
    Je vais essayer de faire un script qui sera utiliser par tous les navigateurs (FF,IE7 et IE6).

    Florian

  8. #8
    Membre éclairé
    Avatar de Etanne
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 469
    Points : 855
    Points
    855
    Par défaut
    Et voila

    Compatible IE6, IE7, et FF !.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
     
      <style type="text/css">
        html, body {
          margin: 0;
        }
     
        div.forground {
          position: fixed;
          background-color: black;
          width: 100%;
          height: 100%;
          filter:alpha(opacity=40);
          -moz-opacity: 0.4;
        }
      </style>
     
      <!--[if lte IE 6]>
      <style type="text/css">
      html, body
        {
        height: 100%;
        }
      div.forground {
        position: absolute;
      }
      </style>
      <![endif]-->
     
     
      </head>
     
      <body>	
     
        <div class="forground">
        &nbsp;
        </div>
     
       <!-- TEXTE POUR REMPLIR -->
        test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />
     
      </body>
    </html>

  9. #9
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Citation Envoyé par Etanne Voir le message
    Compatible IE6, IE7, et FF
    Sur IE6 quand la page dépasse les 100% ça m'étonne beaucoup

    Perso je ferais du genre (j'avais oublié de spécifié l'ajout du position:relative dans mon message ci-dessus que je vais éditer):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
     
      <style type="text/css">
        html, body {
          margin: 0;
        }
     
    		html {height:100%;}
    		body {min-height:100%;position:relative;}
     
        div.forground {
          position: absolute;
          background-color: black;
          width: 100%;
          height: 100%;
          filter:alpha(opacity=40);
          opacity:0.4;
          -moz-opacity: 0.4;
        }
      </style>
     
      <!--[if lte IE 6]>
      <style type="text/css">
      div.forground {
        height:expression(document.body.clientHeight + "px");
      }
      </style>
      <![endif]-->
     
     
      </head>
     
      <body>	
     
        <div class="forground">
        &nbsp;
        </div>
     
       <!-- TEXTE POUR REMPLIR -->
        test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />
     
      </body>
    </html>

    Edit: ne pas oublier de définir la vraie propriété css3 opacity ou opera et safari risquent d'afficher un écran noir...

  10. #10
    Membre éclairé
    Avatar de Etanne
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 469
    Points : 855
    Points
    855
    Par défaut
    Salut,

    En local sur mon poste, avec IE6 (une version de MultipleIEs) je n'avais pas de soucis. Mais merci quand même . Je n'ai pas cherché la compatibilité avec d'autres navigateurs car ce script est pour un site interne où le navigateur peut être que FF, IE6 ou IE7.

    Merci !
    Florian

  11. #11
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Citation Envoyé par Etanne Voir le message
    En local sur mon poste, avec IE6 (une version de MultipleIEs) je n'avais pas de soucis.
    Dans les mêmes conditions chez moi (en local, multiple IE) le cadre gris s'arrête à 100% de la hauteur de la fenêtre et donc il manque un bout lors du scrolling ce qui est d'ailleurs le comportement normal de IE6 dans cette situation à ma connaissance.

    Mais peut-être avais-tu ajouté du js à ton code et ne l'avais-tu aps posté?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/02/2011, 13h49
  2. Mettre une fenêtre en avant plan
    Par nu_tango dans le forum Langage
    Réponses: 0
    Dernier message: 17/09/2010, 04h14
  3. Mettre une Form en avant-plan et la "bloquer"
    Par Nadiya dans le forum Windows Forms
    Réponses: 10
    Dernier message: 24/10/2008, 21h35
  4. Mettre un dialog en avant plan
    Par uriotcea dans le forum Qt
    Réponses: 6
    Dernier message: 27/06/2008, 15h25
  5. Mettre un formulaire en avant plan
    Par mahboub dans le forum Access
    Réponses: 5
    Dernier message: 22/11/2006, 21h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo