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

XSL/XSLT/XPATH XML Discussion :

Hauteur des lignes


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Par défaut Hauteur des lignes
    Bonjour,

    je souhaite faire apparaître des bandes de couleur horizontales.
    Pour cela, j'utilise un tableau et je joue sur les paramètres :
    - au niveau de la ligne : <fo:table-row height="2cm">
    - au niveau du texte : <fo:block color="#FFFFFF" background-color="#868382" line-height="40pt">

    La ligne change bien de hauteur avec le paramètre du table-row, mais la couleur garde toujours la même hauteur. Je pensais que c'était le line-height qui s'occupait de ça.
    Que faut-il faire pour augmenter la hauteur de la bande de couleur ?

    Merci pour votre aide ...

  2. #2
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut
    Bonjour,

    La ligne change bien de hauteur avec le paramètre du table-row, mais la couleur garde toujours la même hauteur.
    Si tu modifie table-row/@height, alors la hauteur des cellules de ta ligne va être modifiée, ok ... mais cela ne change en rien la valeur de @line-height

    Je pensais que c'était le line-height qui s'occupait de ça.
    A priori, si tu modifie la valeur de @line-height, ton background devrait avoir une surface modifiée.

    En fait, l'idéal serais que montre ton code source, car là j'ai seulement l'impression d'écrire une évidence !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Par défaut voici le code
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <fo:table>
    		<fo:table-column column-width="5%"/> <!-- case bleue -->
    		<fo:table-column column-width="87%"/> <!-- texte de bas de page -->
    		<fo:table-column column-width="8%"/> <!-- n° page -->
     
    			<fo:table-body>
     
    				<fo:table-row height="0.2cm"> <!-- 1ere ligne -->
    					<fo:table-cell>  <!-- 1ere cellule -->
    						<fo:block background-color="#FFD500" line-height="10pt">
    							&nbsp; <!-- case bleue -->
    						</fo:block>
    					</fo:table-cell>
    				</fo:table-row>
     
    				<fo:table-row height="2cm"> <!-- 2eme ligne -->
    					<fo:table-cell> <!-- 1ere cellule -->
    					</fo:table-cell>
     
    					<fo:table-cell> <!-- 2eme cellule -->
    						<fo:block text-align="left" font-family="Arial" font-size="8pt" font-style="italic" color="#FFFFFF" background-color="#868382" line-height="40pt">
     
    							<xsl:if test="//XxCufVO/XxCufVORow/BasDePage1!=''">
    							&nbsp; <xsl:value-of select="//XxCufVO/XxCufVORow/BasDePage1"/>
    							</xsl:if>
    						</fo:block>
    					</fo:table-cell>
     
    					<fo:table-cell> <!-- 3eme cellule -->
    						<fo:block text-align="right" font-family="Arial" font-size="8pt" font-style="italic" color="#FFFFFF" background-color="#868382">
    							<xsl:value-of select="//PromptVO/PromptVORow/AsoPquotePage"/>:<fo:page-number/>/<fo:page-number-citation ref-id="LastBlock"/>
    						</fo:block>
    					</fo:table-cell>
     
    				</fo:table-row>
     
    			</fo:table-body>
     
    </fo:table>

  4. #4
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut
    Bonjour,

    avant toute chose, il te faut un tableau "clair" :
    - ta première ligne n'a qu'une cellule alors que la seconde à trois cellules,
    tu devrais utiliser l'attribut number-columns-spanned par exemple;
    - la première cellule de la seconde ligne n'as pas d'élément,
    alors que XSL-FO nécessite au moins un élément <fo:block/>;
    - ensuite assure toi que les hauteurs des lignes de ton tableau
    soient compatibles avec les hauteurs des lignes de texte des cellules
    (je n'ai pas vérifié !).
    - je crois que tu devrais remplacer entité caractère &nbsp; par &#x00A0;
    (tu ne donne pas l'en-tête de ton fichier, dommage).

    Voilà, avec ces éléments, tu devrais avoir déjà un code plus propre.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Par défaut
    Bonjour,

    merci pour tout ces conseils.
    J'ai "éclairci" mon tableau avec un nombre de cellules identique et au moins un élément <fo:block/>;.

    Pour l'attribut number-columns-spanned, il sert à spécifié le nombre de colonnes dans une cellule lorsqu'il y a plusieurs valeurs à afficher si j'ai bien compris.
    Comme je n'ai qu'une valeur, je ne l'ai pas utilisé.

    Pour la compatibilité des hauteurs des lignes, j'ai fait des tests. C'est la hauteur la plus fine qui prime, c'est à dire que si la hauteur de la police de caractères est plus grande que celle de la ligne (font-size>line-height), alors c'est la hauteur de la police qui prime.
    Et si line-height>height de la cellule, c'est line-height qui prime.

    De ce que j'ai compris, seule la hauteur de la police détermine la hauteur de la couleur. Mais je ne maîtrise pas forcément bien toutes les options ...

    Pour l'entête du fichier, je peux te le fournir.
    Comme le code fait 4000 lignes, il faudrait que tu me dises les informations qui t'intéressent.
    S'il existe des options du genre "espace au dessus de la police", je suis preneur.

  6. #6
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut
    Bonjour,

    S'il existe des options du genre "espace au dessus de la police", je suis preneur.
    Tu peux toujours utiliser l'attribut padding-top dans tes éléments block.

Discussions similaires

  1. Modification de la hauteur des lignes d'un TCustomTree
    Par Mickey9683 dans le forum C++Builder
    Réponses: 4
    Dernier message: 30/08/2006, 08h59
  2. [VB.NET]Hauteur des lignes d'un listview
    Par olbi dans le forum Windows Forms
    Réponses: 2
    Dernier message: 31/05/2006, 09h01
  3. [HTML] Hauteur des lignes d'un tableau
    Par leloup84 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 06/03/2006, 10h46

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