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 :

Chargement des images background


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut Chargement des images background
    Bonjour,
    Je voulais savoir si il y avait une technique autre que les fichiers strike css pour charger en une seul requête http les images "background" de mon fichier externe css ?
    J'avais lu un article (mais impossible de le retrouver) ou un fichier css externe était appelé avec en paramètre toutes les images du background.... A priori cela limité le nombres de requêtes http nécessaires au chargement du css. Avez vous entendu parlé de ca ?

    Merci,
    Guigo

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2009
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 308
    Par défaut
    Bonjour,

    tu dois parler de ce genre de choses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #preloadedImages {
           width: 0px;
           height: 0px;
           display: inline;
           background-image: url(path/to/image1.png);
           background-image: url(path/to/image2.png);
           background-image: url(path/to/image3.png);
           background-image: url(path/to/image4.png);
           background-image: url();
    }
    Mais cela ne change rien au nombre de requêtes, cela permet juste de charger les images un peu plus tôt.

    Mais si tu tiens à pousser l'optimisation sur le chargement des images de background je te conseil de regarder aussi (surtout) du coté des Sprites css

  3. #3
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    Ah oui je voulais dire "Sprite" CSS et non strike css désolé.

    Ce preload fait gagner des requêtes http du coup ?

    Tu colles ce code dans ton css ou dans le <head> ?

    Merci

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2009
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 308
    Par défaut
    Citation Envoyé par guigo Voir le message
    Ce preload fait gagner des requêtes http du coup ?
    non aucune


    Citation Envoyé par guigo Voir le message
    Tu colles ce code dans ton css ou dans le <head> ?
    en debut de css où quelle soit

  5. #5
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    du coup quelle est l'intérêt de faire un preload ?

    L'article que j'avais lu parlé d'une technique différente. L'appel des images background se faisait dans le <head>. De loin ca pouvait ressembler a ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <link href= "./monfichier.css(monimage.jpg|ton_image.gif|...)" rel="stylesheet" type="text/css" />
    Du coup nous avions une seule requête http pour charger l'ensemble des images background ! Donc on ne gagne pas en poids mais en nombre de requêtes...

    est ce que cela vous parles ?

    Merci

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2009
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 308
    Par défaut
    Citation Envoyé par guigo Voir le message
    du coup quelle est l'intérêt de faire un preload ?
    L'intérêt c'est de faire charger tes images avant la fin du chargement du reste

    Citation Envoyé par guigo Voir le message
    L'article que j'avais lu parlé d'une technique différente. L'appel des images background se faisait dans le <head>. De loin ca pouvait ressembler a ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <link href= "./monfichier.css(monimage.jpg|ton_image.gif|...)" rel="stylesheet" type="text/css" />
    Du coup nous avions une seule requête http pour charger l'ensemble des images background ! Donc on ne gagne pas en poid mais en nbre de requêtes...
    Hum non je connais pas cette version (et je doute que ça soit très "naturel", donc passage par un script ? ). Et je doute, mais a voir, que ca réduise vraiment le nombre de requêtes : bien quand une seul requête ils restent, les fichier images, chargé individuellement.

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par Ethyde Voir le message
    non aucune
    ?

    Je croyais que le principe des CSS sprites était de coller bout-à-bout plusieurs images de même taille pour en faire une grande image, puis de faire afficher juste la partie qu'on veut voir de cette grande image.

    L'intérêt étant que si l'une des images est affichée, en réalité elles ont toutes été récupérées. Du coup, si la grande image contient n petites images, on récupère n images en seulement 1 requête http. Ce n'est pas ça ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    non je dirais que le css sprites est le fait de faire une seule image, notamment pour tes background images.... ensuite tu places tes éléments sur cette image.
    L'intérêt est effectivement d'avoir une seule requête http 1.1 (puisqu'une seule image)...

    Le preload est donc intéressant, mais si j'ai beaucoup d'images l'internaute attend sans rien avoir a l'écran je suppose ? est ce vraiment mieux !????

    Merci en tout cas pour ces réponses. Je ne clôture pas ce post car je compte bien revenir avec l'article en poche... je me met en mode recherche :-)

  9. #9
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Citation Envoyé par Ethyde Voir le message
    tu dois parler de ce genre de choses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #preloadedImages {
    width: 0px;
    height: 0px;
    display: inline;
    background-image: url(path/to/image1.png);
    background-image: url(path/to/image2.png);
    background-image: url(path/to/image3.png);
    background-image: url(path/to/image4.png);
    background-image: url();
    }
    Mais cela ne change rien au nombre de requêtes, cela permet juste de charger les images un peu plus tôt.
    Avec ce code tu ne fais que surclasser la valeur du background-image, finalement le navigateur ne charge que la dernière image

    Pour faire un preload il y a deux solutions : JavaScript ou appeler les images dans le code HTML et les masquer via display:none.

    Citation Envoyé par thelvin Voir le message
    Je croyais que le principe des CSS sprites était de coller bout-à-bout plusieurs images de même taille pour en faire une grande image, puis de faire afficher juste la partie qu'on veut voir de cette grande image.

    L'intérêt étant que si l'une des images est affichée, en réalité elles ont toutes été récupérées. Du coup, si la grande image contient n petites images, on récupère n images en seulement 1 requête http. Ce n'est pas ça ?
    C'est ça.

    guigo, si tu veux réduire le nombre des requêtes HTTP il faut passer par les sprites CSS, le preload n'est pas fait pour ça.

  10. #10
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    merci a tous

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

Discussions similaires

  1. Chargement des images tiff
    Par SegmentationFault dans le forum Langage
    Réponses: 4
    Dernier message: 14/01/2008, 10h28
  2. chargement des images dans une table
    Par sandy07 dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/04/2007, 09h37
  3. innerHTML et chargement des images.
    Par manutudescends dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 04/10/2006, 19h10
  4. Détecter la fin du chargement des images
    Par GregPeck dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/02/2006, 21h18
  5. [FLASH 8] Chargement des images d'un repertoire
    Par PrinceMaster77 dans le forum Flash
    Réponses: 1
    Dernier message: 18/01/2006, 20h30

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