Se eu tiver uma <sup>
tag em uma tag de várias linhas <p>
, a linha com o sobrescrito terá um espaçamento maior acima das outras linhas, independentemente da altura da linha que eu coloquei <p>
.
Editar para esclarecimento : não quero dizer que tenho muitos <p>
s, cada um em uma única linha. Eu tenho um single <p>
com conteúdo suficiente para causar quebra automática em várias linhas. Em algum lugar (em qualquer lugar) do texto, pode haver um <sup>
ou <sub>
. Isso afeta a altura da linha, adicionando espaçamento extra acima / abaixo. Se eu definir uma altura de linha maior, <p>
isso não fará diferença para o problema. A altura da linha é aumentada, mas o espaçamento extra ainda permanece.
Como posso torná-lo consistente - ou seja, todas as linhas têm o mesmo espaçamento, independentemente de conterem <sup>
ou não?
Suas soluções devem ser entre navegadores (IE 6+, FF, safari, opera, chrome)
fonte
vertical-align: bottom
(embora isso não te leve tanto quantotop
) e depoisposition:relative;
com um positivotop
.O truque é definir a
<sup>
altura da linha como 0. @Scott disse que usa normal, mas isso nem sempre funciona.Isso significa que você não precisa alterar a altura da linha do texto ao redor para acomodar o texto sobrescrito. Eu testei isso no IE7 + e nos outros principais navegadores.
fonte
line-height
atributos. Ainda pode causar interseções com a linha anterior se o conjuntoline-height
estiver definido como pequeno, é claro.line-height: 100%
neste caso.line-height
foram 0, 1, 1em e 100%. Tudo isso certamente funciona no Chrome e Firefox.Eu tive o mesmo problema e nenhuma das respostas fornecidas funcionou. Mas encontrei um commit do git com uma correção que funcionou para mim:
fonte
mantenha a calma:
[ tamanho da fonte dependente da sua face de texto individual]
fonte
fonte
Eu prefiro usar
length
no alinhamento vertical. Isso alinha a linha de base do elemento no comprimento especificado acima da linha de base de seu pai.fonte
A razão pela qual a
<sup>
tag está afetando o espaçamento entre duas linhas está relacionada a vários fatores. Os fatores são: altura da linha, tamanho do sobrescrito em relação à fonte regular, altura da linha do sobrescrito e, por último mas não menos importante, qual é a parte inferior do sobrescrito alinhada com ... Se você definir ... a altura da linha de texto normal para estar em uma "faixa de túnel" (é o que eu chamo) de 135%, em seguida, o texto normal (os 100%) fica branco com 35% de mais branco. Para um parágrafo, fica assim:Se você não colocar o sobrescrito em branco ... (ou seja, manter a altura da linha em 0), o sobrescrito terá apenas a largura de seu próprio texto ... se você solicitar ao sobrescrito uma porcentagem da fonte regular (por exemplo 70%) e você o alinha com o meio do texto normal (meio do texto), você pode eliminar o problema e obter um sobrescrito que se pareça com um sobrescrito. Aqui está:
fonte
Prefiro a solução sugerida aqui , como exemplificado por este jsfiddle :
CSS:
HTML:
A vantagem desta solução é que você pode personalizar o posicionamento vertical do sobrescrito e do subscrito, para evitar conflitos com a linha acima ou abaixo ... acima, apenas aumente ou diminua o valor
0.2em
para atender às suas necessidades.fonte
Para tornar todas as linhas mais altas , ter a mesma aparência da linha com o sobrescrito, defina uma maior
line-height
para o parágrafo inteiroou qualquer valor que dê o efeito que você deseja.
Pode parecer estranho, mas foi assim que você descreveu seus requisitos.
EDIT: Para fazer com que todas as linhas tenham a mesma aparência quando apenas uma precisar de mais espaço vertical do que as outras , TODAS as linhas do parágrafo deverão ser mais altas.
Isso, como eu disse, pode não ser uma solução atraente. Talvez algo possa ser feito com um intervalo, tornando apenas o texto com o sub / sobrescrito menor , além disso, não acredito que o que você deseja possa ser alcançado. Mas eu gostaria de ver a solução de outra pessoa.
EDIT2: Aliás, eu tentei um pequeno arquivo html contendo
E as linhas têm a mesma altura no FF3.0.14 e no Konqueror (não posso falar por outros navegadores)
fonte
Eu tenho usado line-height: normal para o sobrescrito, o que funciona bem para mim no Safari, Chrome e Firefox, mas não tenho certeza sobre o IE.
fonte
Use isso especialmente no boletim informativo -
fonte
Gosto da solução de Milingu Kilu, mas com o mesmo espírito que prefiro
fonte
& sup1, & sup2 etc. podem fazer o truque. é um truque de HTML para substituir
fonte
A resposta daqui funciona em phantomjs e em HTML incorporado por email:
fonte