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 :

Dessiner une courbe sur une image qui s'adapte à la largeur de l'écran


Sujet :

Dimensionnement en CSS

  1. #1
    Membre éprouvé

    Homme Profil pro
    Développeur J2EE Senior
    Inscrit en
    Mai 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 419
    Points : 900
    Points
    900
    Par défaut Dessiner une courbe sur une image qui s'adapte à la largeur de l'écran
    Bonjour

    soit une image du type la suivante (tracée à main levée sous paint):


    On m'impose qu'en fonction de la largeur de la fenêtre, l'image se redimensionne. Rien de bien ennuyeux si on ne m'imposait pas en même temps que la courbe change en fonction de la largeur de la fenêtre. C'est une courbe de type degré 3, pour laquelle les contraintes sont qu'elle démarre et se termine dans les coins supérieurs, et ne descend pas plus bas qu'un nombre donné de pixel.

    Si la fenêtre est super large, il y aura donc au milieu une barre quasi horizontale assez longue. Au contraire, à mesure que l'on réduira la largeur, la portion quasi horizontale se réduira jusqu'à ce qu'il n'y ait plus qu'une courbe. Et bien sûr, l'angle de courbure des cotés variera également en fonction de la largeur de la fenêtre, sinon il suffirait de découper l'image en trois et de dupliquer le morceau du milieu.

    D'où ma petite question: est-il possible de faire ça en CSS?

  2. #2
    Rédacteur

    Homme Profil pro
    Responsable de projet
    Inscrit en
    Mai 2009
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 634
    Points : 3 511
    Points
    3 511
    Par défaut
    Salut,

    J'ai 2 solutions à te proposer:

    La première, elle ne fonctionne pas sur tous les navigateurs étant donné qu'il s'agit d'une propriété CSS3 appelé background-size. On lui spécifie une largeur ( 100% pour que l'image de fond s'agrandisse en fonction de la largeur du navigateur) et une hauteur (la hauteur de l'image)

    voici un exemple :
    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
     
    <html>
    	<head>
    		<style type="text/css">
    			.background{
    				width:100%;
    				height:128px;
    				position:absolute;
    				top:0px;
    				right:0px;
    				left:0px;
    				bottom:0px;
    				background:url(courbesample.png) no-repeat;background-size: 100% 128px;
    			}
    		</style>
    	</head>
    	<body>
    		<div class="background">
    			&nbsp;
    		</div>
    	</body>
    </html>
    L'autre solution n'utilise pas a proprement parlé du css. Cela consiste par l'utilisation d'une balise "<img />" en guise de fond

    voici un exemple:
    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
     
    <html>
    	<head>
    		<style type="text/css">
    			.back{
    				width:100%;
    				height:100%;
    				position:absolute;
    				top:0px;
    				right:0px;
    				left:0px;
    				bottom:0px;
    			}
    		</style>
    	</head>
    	<body>
    		<div class="back">
    			<img src="courbesample.png" width="100%" height="128" />
    		</div>
    	</body>
    </html>
    Je ne sais pas si c'est exactement ce que tu demandes mais ça devrait s'en rapprocher.

  3. #3
    Membre éprouvé

    Homme Profil pro
    Développeur J2EE Senior
    Inscrit en
    Mai 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 419
    Points : 900
    Points
    900
    Par défaut
    Bonjour


    Merci beaucoup pour ces conseils. Je creuserai sans doute la deuxième possibilité, car je recherche la compatibilité IE6.

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  2. [Débutant] Tracer une courbe sur une image
    Par kouloukass dans le forum Images
    Réponses: 1
    Dernier message: 06/01/2010, 14h17
  3. Réponses: 3
    Dernier message: 15/04/2009, 07h30
  4. [OpenOffice][Tableur] Courbe de tendance sur une partie d'une courbe
    Par sloyvy dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 29/10/2008, 17h20
  5. Réponses: 3
    Dernier message: 14/10/2005, 13h50

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