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 :

Animation d'un pseudo element


Sujet :

Animation en CSS

  1. #1
    Membre éclairé Avatar de labarre2002
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 244
    Par défaut Animation d'un pseudo element
    Bonsoir

    Je realise le menu de ce site :

    https://contrabureau.com/

    Nom : 111.jpg
Affichages : 169
Taille : 106,7 Ko

    le soucis est que lorsque j essaie d animer la ligne en dessous de chaque lien il ne se passe rien

    mon code html :
    Code html : 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
      <nav>
                <ul>
     
                 <li class="first visible"> 
                    <div style=" background-image: url('assets/burger.jpg');"></div>
                     <span>01</span> 
                     <a href="#"> <h1>burger</h1></a> 
                    </li>
                 <li class="two  visible">
                    <div style=" background-image: url('assets/sandwich.jpg');"></div>
                    <span>02</span> 
                    <a href="#"><h1>sandwich</h1></a>
                 </li>
                 <li class="three  visible">
                    <div style=" background-image: url('assets/salade.jpg');"></div>
                    <span>03</span>
                     <a href="#"><h1>salade</h1></a>  
                    </li>
                 <li class="four visible ">
                    <div style=" background-image: url('assets/drink.jpg');"></div>
                    <span>04</span> 
                    <a href="#"><h1>boissons</h1></a> 
                </li>
                 <li class="five  visible">
                    <div style=" background-image: url('assets/pasta.jpg');"></div>
                    <span>05</span>
                     <a href="#"><h1>pates</h1></a>  
                    </li>
     
               </ul>
     
    </nav>


    mon code CSS:
    Code css : 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
    li{
        width: 100vw;
        height:15vw;
        display:flex;
        align-items: flex-start;
        padding-left: 95px;
        position: relative;
        overflow: hidden;
    }
     
    li:before{
     
        content: "";
        position: absolute;
        height: .2vw;
        background-color: #c92d1f;
        left: 0;
        width: 100%;
        bottom: 0;
        transform: scaleX(0);
        transition: transform 1s ease-out;
        transform-origin: left;
    }
     
    .visible:before{
        transform: scaleX(1);
    }

    en espérant avoir une réponse constructive.
    Merci.

  2. #2
    Membre averti
    Homme Profil pro
    opérateur
    Inscrit en
    Avril 2023
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : opérateur

    Informations forums :
    Inscription : Avril 2023
    Messages : 30
    Par défaut
    Je ne sais pas trop de ce que vous souhaitez en final.

    scaleX(0.0); et scaleX(1.0);

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    transform: scaleX(0.5);
    }
    .visible:hover{
        transform: scaleX(1.5);
    }

  3. #3
    Membre éclairé Avatar de labarre2002
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 244
    Par défaut
    Bonsoir

    si tu prends la peine de cliquer sur le lien du site tu vas comprendre.
    tu remarquera que en chargeant la page les bordures en dessous des liens
    s animent de la gauche vers la droite.

    Le scale opere sur les images en background dans les liens

  4. #4
    Membre averti
    Homme Profil pro
    opérateur
    Inscrit en
    Avril 2023
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : opérateur

    Informations forums :
    Inscription : Avril 2023
    Messages : 30
    Par défaut
    Je n'ai pris aucune "peine" à cliquer sur ... " le lien du site tu vas comprendre"

    Ce qui est sur, c'est que entre les images et la description que vous présentez au #1 et vos liens footer avec ^^les bordures en dessous^^ des liens gauche droite en #3. ?

    Vous réalisez le menu de ce site -> copié coller

  5. #5
    Membre averti
    Homme Profil pro
    opérateur
    Inscrit en
    Avril 2023
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : opérateur

    Informations forums :
    Inscription : Avril 2023
    Messages : 30
    Par défaut
    Sur relecture de votre #1.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <ul>
             <li class="first visible">
                <span>01</span> 
                <a href="#"><h1>burger</h1></a> 
                <div class="effect">
                    <div class="img"></div>
                    <div class="line"></div>
                </div> 
            </li>
           </ul>

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    li{ display:flex; position: relative;
        width: 100vw; height:15vw; padding-left: 95px; }
     
    li:hover > .effect {
        width: 100%; transition-property: width; transition-duration: 0.6s; }
     
    .effect { position: absolute; top:0; left:0;  z-index: -1; width: 0%; height: 100%; }
    .effect > .img { width: 100%; height: 98%; background-image: url('assets/burger.jpg'); background-size: 100% 100%; }
    .effect > .line { width: 100%; height: 2%; background-color: #c92d1f; }

Discussions similaires

  1. Obtenir le même rendu pour le pseudo-element :first-letter
    Par Vincent668 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 18/02/2019, 16h00
  2. Generer un lien cliquable depuis le content d'un pseudo element
    Par frederickson dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 19/02/2018, 11h58
  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-element dans html (style="{}:")
    Par omageus dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 30/07/2009, 11h43

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