我正在使用rangy为已使用pdf.js呈现的文本的选择创建突出显示。突出显示的 CSSspan
非常简单:
.image-highlight {
background-color: rgba(152, 210, 146, 0.45);
border: 1px solid #000000; //added this for debugging.
cursor: pointer;
}
由于 rangy 中的连续高光依赖于先前的高光,我试图复制span
由 rangy 创建的高度和宽度,然后将其放置在另一个根节点中。但是,我注意到新创建的宽度span
大于原始的span
. 同样令人沮丧的是,Chrome 报告两个span
s in的宽度相同px
,即使它们明显不同!
在开发人员工具栏中查看时,第一个span
(由 rangy 创建)的宽度auto
由 Chrome 报告Metrics
,而第二个跨度(我创建)的宽度通过$.width
.
这是我复制span
过来的方式:
var $selectionSpan = jQuery("<span></span>").
attr("id", "created-" + new Date().getTime()).
css("position", "absolute").
css("z-index", 999).
offset({
top: $span.offset().top,
left: $span.offset().left
}).
height($span.height()).
width($span.width());
$selectionSpan.get(0).className = $span.get(0).className;
以下是 Chrome 报告的图片,显示两个 s 的宽度相同span
:
如您所见,112px
即使它们明显不同,也会报告宽度。为什么会这样?