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 :

Optimiser le code CSS


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut Optimiser le code CSS
    Bonjour

    J'ai deux pages .shtml comportant un formulaire. Ils sont à une hauteur différente, est-il possible de réduire au maximum, le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #moteur-de-recherche {
    width:125px;
    height:109px;
    position:fixed;
    margin-top:337px;
    }
    #moteur-de-recherche-bis {
    width:125px;
    height:109px;
    position:fixed;
    margin-top:260px;
    }
    Une autre petite question, concernant deux span dont la configuration des liens est identiques:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    span.en-savoir-plus a:link    { color:#990000; text-decoration:underline; background:#f3f3f3; }
    span.en-savoir-plus a:visited { color:#990000; text-decoration:underline; background:#f3f3f3; }
    span.en-savoir-plus a:hover   { color:black;   text-decoration:underline; background:#f3f3f3; }
    span.en-savoir-plus a:active  { color:#990000; text-decoration:underline; background:#f3f3f3; }
     
    span.telecharger a:link    { color:#990000; text-decoration:underline; background:#f3f3f3; }
    span.telecharger a:visited { color:#990000; text-decoration:underline; background:#f3f3f3; }
    span.telecharger a:hover   { color:black;   text-decoration:underline; background:#f3f3f3; }
    span.telecharger a:active  { color:#990000; text-decoration:underline; background:#f3f3f3; }
    J'ai tenté un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    span.telecharger, span.en-savoir-plus
    Mais pas de bons résultats

    Qu'en pensez-vous ?


  2. #2
    BnA
    BnA est déconnecté
    Membre éclairé Avatar de BnA
    Inscrit en
    Mars 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2006
    Messages : 559
    Par défaut
    Salut!

    Alors, pour tes DIV, comme le margin-top est la seule valeur qui change, tu peux faire ceci:

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #moteur-de-recherche {
    width:125px;
    height:109px;
    position:fixed;
    margin-top:337px;
    }
     
    .moteur-de-recherche-bis {   /*Attention il s'agit désormais d'une classe*/
    margin-top:260px;
    }

    ...et l'appel correspondant (pour le moteur de recherche bis) sera
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="moteur-de-recherche" class="moteur-de-recherche-bis">
    .

    Il n'y a pas (à ma connaissance) de méthode plus directe, étant donné qu'une valeur change.

    -----

    Pour ta 2ème question...

    Premièrement, rien ne sert d'assigner tes classes à un span si tu lies ta classe à cette balise en HTML.

    Et puisque ce sont exactement les mêmes valeurs, rien ne t'empêche d'assigner cette classe à différents endroits (en changeant peut-être le nom de la classe pour qu'il soit plus parlant)

    Tu peux également enlever certains paramètres, car tu les redéfinis plusieurs fois sans les changer.

    Ce qui donnera


    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    .lien a { color:#990000; text-decoration:underline; background:#f3f3f3; }
    .lien a:hover   { color:black;}

  3. #3
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Bonjour

    Concernant les liens, c'est impec

    En revanche, le moteur de recherche c'est une autre histoire. Le deuxième moteur de recherche garde la valeur de la hauteur du div id non de la classe

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Citation Envoyé par Olivier Regnier Voir le message
    Le deuxième moteur de recherche garde la valeur de la hauteur du div id non de la classe
    C'est parce qu'utiliser un id est plus spécifique qu'une classe et il prend donc le dessus.

    Je trouverais plus logique d'attribuer le css commun à une class et la particularité à un id (ou autre class si doit être réutilisé), ce qui règlerait d'ailleurs ton pb de spécificité. Genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    .moteur-de-recherche {
    width:125px;
    height:109px;
    position:fixed;
    margin-top:337px;
    }
     
    #moteur-de-recherche-bis {
    margin-top:260px;
    }
    Autrement si tu as de toute manière tes 2id et que tu ne veux pas alourdir avec une class, tu peux aussi faire du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #moteur-de-recherche,#moteur-de-recherche-bis  {
    width:125px;
    height:109px;
    position:fixed;
    margin-top:337px;
    }
     
    #moteur-de-recherche-bis {
    margin-top:260px;
    }
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

  5. #5
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Merci à tous les deux, ma feuille de style se sent plus légère

    Cela fonctionne, testé et approuvé


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

Discussions similaires

  1. optimiser le code d'une fonction
    Par yanis97 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/07/2005, 08h41
  2. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29
  3. optimiser le code
    Par bibi2607 dans le forum ASP
    Réponses: 3
    Dernier message: 03/02/2005, 14h30
  4. syntaxe et optimisation de codes
    Par elitol dans le forum Langage SQL
    Réponses: 18
    Dernier message: 12/08/2004, 11h54
  5. optimisation du code et var globales
    Par tigrou2405 dans le forum ASP
    Réponses: 2
    Dernier message: 23/01/2004, 10h59

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