Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 与<;保持一致的行距;sup>;及<;sub>;_Css - Fatal编程技术网

Css 与<;保持一致的行距;sup>;及<;sub>;

Css 与<;保持一致的行距;sup>;及<;sub>;,css,Css,添加或标记会使文本块的行距变小,如何防止这种情况发生 使用CSS覆盖默认浏览器样式: sup, sub { height: 0; line-height: 1; vertical-align: baseline; _vertical-align: bottom; position: relative; } sup { bottom: 1ex; } sub { top: .5ex; } 请注意,在版本7之前,IE在其他浏览器中唯一地处理垂直对齐。使用这种

添加
标记会使文本块的行距变小,如何防止这种情况发生


使用CSS覆盖默认浏览器样式:

sup, sub
{
    height: 0;
    line-height: 1;
    vertical-align: baseline;
    _vertical-align: bottom;
    position: relative;
}

sup { bottom: 1ex; }
sub { top: .5ex; }
请注意,在版本7之前,IE在其他浏览器中唯一地处理
垂直对齐
。使用这种方法,我需要IE 6及以下版本的下划线破解

之前:

之后:


使用CSS覆盖默认浏览器样式:

sup, sub
{
    height: 0;
    line-height: 1;
    vertical-align: baseline;
    _vertical-align: bottom;
    position: relative;
}

sup { bottom: 1ex; }
sub { top: .5ex; }
请注意,在版本7之前,IE在其他浏览器中唯一地处理
垂直对齐
。使用这种方法,我需要IE 6及以下版本的下划线破解

之前:

之后:


除了@DannyBeckett的优秀答案外,还有一种完全不同的方法,它可以在工作时产生更好的排版质量,但目前除了现代浏览器中的少数字体(主要是Microsoft C字体)外,其他字体都不起作用。我希望它在几年内成为一个现实的选择,甚至在现在的某些条件下也可以使用

您可以使用,例如,
,而不是使用
sup
,并通过设置

.sup { font-feature-settings: "sups"; }
以及浏览器的前缀版本

可用。它可以预期在现代Windows环境中工作,在其他地方几乎不起作用

这仅适用于实际包含此类字形的字体,使用OpenType功能可以访问,并且浏览器支持不断增加,但仍然有限。但是,当它工作时,它使用的字形是由创建字体的排字员设计的,因此可以预期它们会很好地适应字体(尽管这一预期并不总是得到满足)

因此,除了消除行距问题外,这还有助于解决
sup
的实现在更高的垂直位置使用普通字符的缩小版本的问题(因此笔划往往太细,为了避免问题变得太大,实现往往会使用适度的大小缩减,因此结果太大)

在这方面,通过
@font-face
使用可下载字体听起来是个好主意。然而,在我测试的谷歌字体中,只有Source Sans Pro似乎包含字母的上标符号,并且a)由于某种原因,使用谷歌托管的字体无法访问它们,b)使用FontSquirrel处理时,图示符在那里,但在某种程度上被扭曲了(例如,“h”看起来高于“t”),即使它们在原始的.ttf文件中看起来是正常的


(使用
span
而不是
sub
的原因是,对于后者,您必须将字体大小设置为100%,以避免默认大小的减少。如果IE没有在这种情况下错误解释百分比的严重错误,这就可以了,因为它与IE中元素的默认字体大小有关,而不是与父元素的默认字体大小有关字体大小。)

除了@DannyBeckett的优秀答案外,还有一种完全不同的方法,可以在工作时产生更好的排版质量,但目前除了少数字体(主要是Microsoft C字体)外,其他字体都不起作用在现代浏览器中,我希望它在几年内成为一个现实的选择,甚至在现在的某些条件下也可以使用

您可以使用,例如,
,而不是使用
sup
,并通过设置

.sup { font-feature-settings: "sups"; }
以及浏览器的前缀版本

它可以在现代Windows环境下工作,在其他地方几乎不可能

这只适用于实际包含此类字形的字体,使用OpenType功能可以访问,并且浏览器支持不断增加,但仍然有限。但是,当它起作用时,它使用的字形是由创建字体的排版人员设计的,因此可以预期它们能够很好地适应字体(尽管这一预期并不总是能够满足)

因此,除了消除行距问题外,这还有助于解决
sup
的实现在更高的垂直位置使用普通字符的缩小版本的问题(因此笔划往往太细,为了避免问题变得太大,实现往往会使用适度的大小缩减,因此结果太大)

在这方面,通过
@font-face
使用可下载字体听起来是个好主意。然而,在我测试的谷歌字体中,只有Source Sans Pro似乎包含字母的上标符号,并且a)由于某种原因,使用谷歌托管的字体无法访问它们,b)使用FontSquirrel处理时,图示符在那里,但在某种程度上被扭曲了(例如,“h”看起来高于“t”),即使它们在原始的.ttf文件中看起来是正常的

(使用
span
而不是
sub
的原因是,对于后者,您必须将字体大小设置为100%,以避免默认大小的减少。如果IE没有在这种情况下错误解释百分比的严重错误,这就可以了,因为它与IE中元素的默认字体大小有关,而不是与父元素的默认字体大小有关字体大小。)