【发布时间】:2013-07-23 01:16:11
【问题描述】:
我正在使用rangy 为已使用pdf.js 呈现的文本的选择创建突出显示。突出显示的span 的 CSS 非常简单:
.image-highlight {
background-color: rgba(152, 210, 146, 0.45);
border: 1px solid #000000; //added this for debugging.
cursor: pointer;
}
由于 rangy 中的连续高光依赖于之前的高光,我试图复制由 rangy 创建的span 的高度和宽度,然后将其放置在另一个根节点中。但是,我注意到新创建的span 的宽度大于原始span。同样令人沮丧的是,Chrome 报告的 spans 和 px 的宽度相同,尽管它们明显不同!
第一个 span(由 rangy 创建)的宽度为 auto,当在开发人员工具栏中的 Metrics 下查看时,Chrome 报告了该宽度,而第二个跨度(我创建)的宽度通过$.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 的图片,报告称 spans 的宽度相同:
如您所见,宽度被报告为112px,即使它们明显不同。为什么会这样?
【问题讨论】: