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 :

Opacité de div


Sujet :

CSS

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par défaut Opacité de div
    Bonjour,

    Mon site se présente comme l'imbrication de plusieurs div comme suit :

    div 1 : affichage de l'image de fond du site
    div 2 : affichage d'un fond blanc avec opacité à 90%
    div xxx : images, texte ....


    J'ai placé l'opacité de la div2 à 90% pour que l'image du fond soit visible sur toute la page, mais qu'on puisse écrire du texte dessus. (cela a l'effet de blanchir l'image).

    Pour l'opacité, j'ai utilisé le code css suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    .contenu
    {
            filter:Alpha(opacity=85);
    	-moz-opacity:0.85;
    	opacity: 0.85;
    }
    Maintenant, mon problème est que lorsque j'affiche des images dans les divs incluses dans la div2, elles héritent de cette opacité. Je voudrais que mes images soit en opacité 1.

    J'ai essayé de le faire dans le css pour les div des images, mais ca ne fonctionne pas....

    Merci de votre aide !

  2. #2
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Tu mets ton texte dans un <p> et tu changes ton css en :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    .contenu p
    {
            filter:Alpha(opacity=85);
    	-moz-opacity:0.85;
    	opacity: 0.85;
    }
    Et logiquement ça devrait être bon, non ?

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par défaut
    non ca n'est pas bon de faire comme cela. Cela ne rendrait transparent que les endroits de texte, hors je souhaite mettre toute la div 2 en transparence.

    J'ai plus ou moins triché en réalisant une image png de transparence 85% et en l'appliquant en tant que background à la div2. Ca reste moins propre que l'opacité, mais apparemment, on ne peut déshériter les enfants de l'opacité des parents...

  4. #4
    Membre éclairé Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Par défaut
    Bonjour,

    Si tu veux une opacité de 1 sur toutes tes images de ta div2, déclare une class dans tes div images.

    Exemple :

    HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        <div id="conteneur">
     
            <p>1er ligne de texte</p>
     
            <div class="divImage">
                <img src="UneImage.jpg" />
            </div>
     
            <p>2nd ligne de texte</p>
     
        </div>
    CSS
    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
     
        #conteneur  {   background-color    :   green;
                        width               :   200px;
                        height              :   200px;
                        filter              :   alpha(opacity=85);
                        -moz-opacity        :   .85;
                        opacity             :   .85;
                        -khtml-opacity      :   .85;
                     }
     
        .divImage   {   position            :   relative; /* Impératif de positionner l'image en relative ou absolute */
                        filter              :   alpha(opacity=100);
                        -moz-opacity        :   1;
                        opacity             :   1;
                        -khtml-opacity      :   1;}
    Ainsi, tes textes auront une opacité de 85% et les images de 100%.

    En revanche, pense à positionner le .divImage car si tu ne le fais pas, tes images auront l'opacité définit dans #conteneur.

    En espérant que ça puisse t'aider.


Discussions similaires

  1. Réponses: 1
    Dernier message: 01/05/2010, 20h51
  2. fade in/out d'un div sur l'opacité/la hauteur/ la largeur
    Par Crokan dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/12/2009, 14h32
  3. Opacité s'applique à tout le div
    Par Baptiste78 dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 01/10/2009, 12h35
  4. diminuer opacité de div
    Par smh_master dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 16/02/2007, 12h32
  5. Opacité sur bloc Div - Incompatibilité et ne fonctionne pas
    Par killprog dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/03/2006, 15h31

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