2013-07-02 20 views
7

Sto tentando di sottolineare un elemento block che contiene testo. Il blocco ha un attributo font-size e il testo all'interno dello block è circondato da un elemento inline che ha un diverso attributo font-size.Elemento di blocco sottolineato con dimensioni di carattere diverse senza una linea interrotta

Esiste un modo per garantire che la linea risultante dal text-decoration="underline" del blocco esterno sia una linea retta su tutto l'elemento del blocco (senza "spazi vuoti" - vedere l'immagine allegata) che non modifica la sua posizione con la dimensione del carattere?

Il mio codice:

<fo:block font-size="14pt" text-decoration="underline"> 
    Some text 
    <fo:inline font-size="10pt"> text with a smaller font size </fo:inline> 
    Another text 
</fo:block> 

Il mio risultato:

Problem with undelined block with different font sizes

Grazie in anticipo!

risposta

7

Ho due versioni del motore XSL-FO da un fornitore e la versione più aggiornata rende una sottolineatura comune senza spazi vuoti, mentre la versione precedente restituisce ciò che si vede con FOP. Quindi sembra essere dipendente dall'implementazione.

Ma si può imitare l'aspetto di ciò che si desidera in modo selettivo utilizzando il confine piuttosto che fare affidamento sulla realizzazione:

<block font-size="14pt"> 
    <inline border-after-width="1pt" border-after-style="solid"> 
Some text 
<inline font-size="10pt"> text with a smaller font size </inline> 
Another text 
    </inline> 
    </block> 

se questo funziona imitare nella FOP o no, non so come ho don usare la FOP.

+0

+1, ma si dovrebbe essere consapevoli del fatto che nella maggior parte dei motori di rendering, il bordo inferiore è un po 'più basso di una sottolineatura. – bytebuster

+0

Grazie mille! In effetti, il bordo inferiore è inferiore alla sottolineatura, ma per me va bene. –