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 :

Aligner 2 div en utilisant HTML to PDF


Sujet :

Positionnement en CSS

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 128
    Par défaut Aligner 2 div en utilisant HTML to PDF
    Bonjour;
    j'ai utilisé html to pdf pour convertir mon fichier html en un fichier pdf; mais j'ai remarqué que j'ai pas pu d'aligner 2 div.
    j'ai penché sur le le net en cherchant sur la méthode et je l'avais trouvé.
    le problème c'est que le code fonctionne bien si j'affiche la page sans utiliser htmltopdf; mais lorsque j'utilise htmltopdf, mes 2 div s'affichent l'un en dessous de l'autre.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <body>
    	<div id="left_zone">Left Content</div>
    	<div id="right_zone">Right Content</div>
    </body>
    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
    body{
    display:block;
    width:500px;
    }
     
    #left_zone{
    display:inline-block;
    width:200px;
    float:left;
    }
    #right_zone{
    display:inline-block;
    width:300px;
    float:left;
    }

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 215
    Par défaut
    Bonjour,
    jamais testé mais essaies peut être avec un display:table-cell.

  3. #3
    Membre Expert

    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 049
    Billets dans le blog
    2
    Par défaut Aligner 2 div
    Citation Envoyé par alfred5 Voir le message
    mes 2 div s'affichent l'un en dessous de l'autre.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <body>
    	<div id="left_zone">Left Content</div>
    	<div id="right_zone">Right Content</div>
    </body>
    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
    body{
    display:block;
    width:500px;
    }
     
    #left_zone{
    display:inline-block;
    width:200px;
    float:left;
    }
    #right_zone{
    display:inline-block;
    width:300px;
    float:left;
    }
    C'est normal que les 2 div se superposent car il faut effectivement les placer en float:left mais la propriété display:block du body le contredit en les plaçant en bloc. Il ne faut plus répéter pour chaque ID la propriété display: inline(-block) puisque celle-ci est héritée du body.
    Voici le code corrigé:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <body>
    	<div id="left_zone">Left Content</div>
    	<div id="right_zone">Right Content</div>
    </body>
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    body{
    display:inline;
    width:500px;
    }
    #left_zone{
    width:200px;
    float:left;
    }
    #right_zone{
    width:300px;
    float:left;
    }

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 215
    Par défaut
    Citation Envoyé par miss_socrates
    C'est normal que les 2 div se superposent car il faut effectivement les placer en float:left mais la propriété display:block du body le contredit en les plaçant en bloc.
    Tu es sûr de ton coup sur ce point ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 9
    Par défaut
    Bonjour,
    Il faudrait augmenter le width du body le temps de trouver la solution, c'est un peu serré, et regarder avec un firebug le code généré avec htmltopdf et sans htmltopdf pour voir les différences au niveau padding, margin, width.

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 215
    Par défaut
    (...)et regarder avec un firebug le code généré avec htmltopdf et sans htmltopdf(...)
    j'ai du mal à comprendre les codes que tu cherches à comparer !

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 9
    Par défaut
    Moi aussi car je ne sais pas ce qu'est htmltopdf, j'ai cru à un plugin, je dois faire fausse route désolé .

  8. #8
    Membre Expert

    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 049
    Billets dans le blog
    2
    Par défaut Aligner
    Htmltopdf est un petit logiciel qui transforme une page html au format pdf. Quant à pdftohtml, il ... fait juste l'inverse.
    C'est dingue non???

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 9
    Par défaut
    Hello,
    Je pensais que c'etait une sorte de wrapper mais ok ils sont mal alignés dans le pdf donc, autant pour moi
    Pourquoi le display block du body contredit les float:left ?

  10. #10
    Membre Expert

    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 049
    Billets dans le blog
    2
    Par défaut Aligner
    Parce que les div placés en float:left vont se positionner inline c'est-à-dire côte à côte tandis que le display:block les place l'un en dessous de l'autre

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 9
    Par défaut
    Il me semble n'avoir jamais vu ce comportement des display:block qui ne peuvent pas flotter. Il me semblait aussi qu' un div sans propriété display est déja en display:block je crois mais merci de l'info j'irais potasser sur google

  12. #12
    Membre Expert

    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 049
    Billets dans le blog
    2
    Par défaut Aligner
    Oui, la valeur par défaut de display est block.
    Voici une petite explication :
    Block et Inline

    Display : block et Display : inline sont les utilisations les plus fréquentes de la propriété Display.

    block
    Induit un élément à générer une boîte de bloc principale

    inline
    Induit un élément à générer une ou plusieurs boîtes en-ligne

    Il existe principalement deux grands types de balises : les éléments en Bloc et les éléments en Ligne.

    les balises de type BLOC ("block") comme les balises <p>, <ul>, <li>, <div>, <form>, <input>, <blockquote>, <h1>...<h6>,... (voir la liste des éléments de type Bloc)
    les balises de type EN LIGNE ("inline") comme <a>, <strong>, <em>, <span>, <img>,... (voir la liste des éléments de type En-ligne)

    De ces deux groupes découlent des spécificités d'affichage :

    les blocs se placent toujours l'un en-dessous de l'autre (saut de ligne, affichage à la verticale). Par exemple: une suite de paragraphes ou une liste
    les inline se placent toujours l'un à côté de l'autre (ils restent dans le texte courant). Par exemple: la mise en gras d'une partie de texte à l'aide de la balise <strong>

  13. #13
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 215
    Par défaut
    Citation Envoyé par miss_socrates
    C'est normal que les 2 div se superposent car il faut effectivement les placer en float:left mais la propriété display:block du body le contredit en les plaçant en bloc. Il ne faut plus répéter pour chaque ID la propriété display: inline(-block) puisque celle-ci est héritée du body.
    Citation Envoyé par mondoudou
    Pourquoi le display block du body contredit les float:left ?
    Le display du BODY n’influence nullement les DIV en float:left, il existe des règles bien appliquées par les différents navigateurs.

    Ces relations sont données dans la recommandation § 9.7 Relationships between 'display', 'position', and 'float'.

    Concernant les valeurs par défaut (*)

    et bien sûr l'incontournable Glossaire des propriétés CSS sur DVP.

    (*) pas trouvé pour HTML5 et ces nouvelles balises...

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 9
    Par défaut
    Merci à vous deux pour toute ces explications et recommandations

Discussions similaires

  1. Perl > html to pdf
    Par shwin dans le forum Modules
    Réponses: 8
    Dernier message: 07/10/2006, 13h36
  2. Pb, Transformation d'un flux HTML en PDF
    Par elitost dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 05/09/2005, 17h28
  3. flux XML en HTML ou PDF
    Par bewyder dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 20/06/2005, 10h07
  4. [PowerBuilder] Sauvegarde HTML ou PDF d'une datawindow
    Par moussmouss dans le forum Powerbuilder
    Réponses: 6
    Dernier message: 13/05/2005, 17h32
  5. Réponses: 2
    Dernier message: 01/05/2005, 20h37

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