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 :

Image et width en %


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Par défaut Image et width en %
    Bonjour,

    je souhaite découper une page en 15 vignettes égales avec la même image en fond de chaque vignette.

    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
     
     
    html,body{
     
     height:100%;
     
    }
    .a{
     
      float:left;
      width:20%;
      height:33.3%;
      background: url(img/image.jpg);
      background-size:100% 100%;
     
    }
    voilà le code pour un de mes quinze div, c'est juste mais le pb est que l'image est deformée.

    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Si l'image de fond n'a pas un ratio de 20/33.3, alors c'est normal qu'elle soit déformée.

    Cela dit...... height:33.3%;... de quoi ??
    Autant c'est très clair pour la largeur, autant c'est compliqué pour la hauteur *...
    * il faut (parfois/souvent) avoir recours au JavaScript pour conserver le ratio.

    Une solution :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    background-size:cover;
    L'image de fond n'est pas déformée.

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Par défaut
    je souhaite decouper la page en 3 bandes de 5 vignettes, de hauteur un tiers de la page chacune (d'où le 33.3%).

    avec le background cover l'image n'est pas déformée mais elle n'est pas visible dans son integralité dans l'espace qui lui est allouée c'est l'inconvenient du background cover, donc lorsqu'on veut decouper une page en vignettes avec des width et height en % il n'existe pas de moyens d'adapter les images en consequence.
    comment faire des images comme ici http://www.harrisongrierson.com/projects ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    .a{
      float:left;
      width:20%;
      height:33.3%;
      background: url(img/image.jpg);
      background-size:cover;
    }

  4. #4
    Invité
    Invité(e)
    Par défaut
    1- Dans l'exemple que tu montres les images sont coupées (cover).

    2- Au lieu de float:left, intéresse-toi aux flexbox (display:flex)

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Par défaut
    display:flex représente un inconvénient majeur: sa compatibilité avec les versions antérieures à IE 10.

    Quant à l'adaptation sur une page html des images dans des rectangles (ou cellules) de largeurs et de hauteurs dont les width sont en %, la solution déjà citée dans ce post est je pense le background cover MAIS en adaptant la taille des images en conséquence car sur une grande cellule (où l'on souhaite afficher une image) dont la width sera de 20% par ex et bien le background cover tronquera une grande partie de l'image à l'affichage alors que si on reduit considerablement la taille de l'image une partie beaucoup moins importante de l'image sera tronqué à l'affichage par le background cover

    je ne vois pas d'autre solution donc que effectivement le background cover pour cadrer au mieux des images dans des cellules de widt et de height en %

  6. #6
    DMC
    DMC est déconnecté
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2002
    Messages : 25
    Par défaut
    Bonjour abc.xyz

    Je t'ai fait une petit exemple à voir si cela fonctionne sur tous les nav, y a pas de raison mais bon!
    La hauteur s'adapte en fonction de ton image

    https://codepen.io/Zonecss/pen/KoELjw

Discussions similaires

  1. balise image et width height
    Par pas30 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 02/03/2009, 14h52
  2. IE 7 et image.height et width
    Par Ikonic dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/12/2007, 02h45
  3. Problème d'utilisation des attributs width et height avec une image distante
    Par Ptit_Mouss dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/09/2006, 15h40
  4. [css] positionnement d'images width 100%
    Par testicool dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 02/02/2006, 23h18
  5. Max-width dans une image sous IE?
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 23/12/2005, 02h04

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