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 :

Pseudo élément & :before [CSS 3]


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 61
    Par défaut Pseudo élément & :before
    Bonjour,

    J'ai soucis en CSS3, j'ai une liste comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <div id="testCSS">
    	<ul>
    		<li><img src="image.jpg" width="269" height="385"></li>
    		<li><img src="image.jpg" width="269" height="385"></li>
    		<li><img src="image.jpg" width="269" height="385"></li>
    	</ul>
    </div>
    Je souhaiterais avoir une ombre "3D", c'est à dire qu'elle s'étend sur une surface, derrière l'image.
    J'ai réussi à la faire grâce aux pseudo élément et à :before.

    Voici le code 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
    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
     
    #testCSS {
    	height: 385px; 
    	position: relative;
    }
     
    #testCSS ul li{
    	float: left;
    	height: 385px;
    	margin-left: 20px;
    	margin-right: 20px;
    	list-style-type: none;
    }
     
    #testCSS ul li:before{
    	z-index: -1;
    	position: absolute;
    	content: "";
    	bottom: 16px;
    	left: 106px;
    	top: 0%;
    	max-width:250px;
    	width: 100%;
     
    	opacity: 0.3;
    	-moz-opacity: 0.3;
    	filter:alpha(opacity=3);
     
    	background-image: linear-gradient(top, rgba(0,0,0,0) 50%, rgba(0,0,0,0.6) 100%);
    	background-image: -o-linear-gradient(top, rgba(0,0,0,0) 50%, rgba(0,0,0,0.6) 100%);
    	background-image: -moz-linear-gradient(top, rgba(0,0,0,0) 50%, rgba(0,0,0,0.6) 100%);
    	background-image: -webkit-linear-gradient(top, rgba(0,0,0,0) 50%, rgba(0,0,0,0.6) 100%);
    	background-image: -ms-linear-gradient(top, rgba(0,0,0,0) 50%, rgba(0,0,0,0.6) 100%);
     
    	-webkit-transform: rotate(8deg);
    	-moz-transform: rotate(8deg);
    	-o-transform: rotate(8deg);
    	-ms-transform: rotate(8deg);
    	transform: rotate(8deg);
    }
    Le seul soucis c'est que les 3 pseudo-éléments se superpose derrière l'image 1 alors qu'il devrait chacun se trouver derrière leur image (li).

    Du coup j'ai le résultat escompter mais que sur la première image. J'aimerais que l'effet s'applique correctement sur les 2 autres images.

    Vous trouverez un projet exemple très simple en pièce jointe afin d'améliorer votre compréhension.


    Merci d'avance pour votre aide !
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonsoir,
    supprimes left:106px dans le CSS de #testCSS ul li:before.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 61
    Par défaut
    Merci !
    Ça marche niquel !

    J'était sûr que c'était juste un petit truc à la con ^^

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

Discussions similaires

  1. Pseudo-élément after pour un lien
    Par NeraOne dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 10/08/2011, 08h05
  2. [Graphics View] Éditeur Ladder - déplacer les éléments dans une pseudo-grille
    Par Rodrigue dans le forum Qt
    Réponses: 0
    Dernier message: 06/07/2011, 10h46
  3. [Article] Différence entre :before et ::before, les pseudos-element en CSS3
    Par ornitho13 dans le forum Publications (X)HTML et CSS
    Réponses: 2
    Dernier message: 02/03/2011, 21h25
  4. Différence entre :before et ::before, les pseudos-element en CSS3
    Par ornitho13 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 02/03/2011, 21h25
  5. Pseudo éléments :before et :after sous IE
    Par _jey_ dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 14/05/2009, 16h56

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