Use px rather than em for rule thicknesses, and use borderTop for wide rules rather than borderLeft. This makes them less likely to disappear. Resolves issue #1095.

This commit is contained in:
Davide P. Cervone 2015-08-04 09:19:41 -04:00
parent 8c2ed0c91c
commit 922eabdf72

View File

@ -1136,14 +1136,20 @@
if (w > 0 && w*this.em < min) {w = min/this.em} if (w > 0 && w*this.em < min) {w = min/this.em}
if (h+d > 0 && (h+d)*this.em < min) {f = 1/(h+d)*(min/this.em); h *= f; d *= f} if (h+d > 0 && (h+d)*this.em < min) {f = 1/(h+d)*(min/this.em); h *= f; d *= f}
if (!color) {color = "solid"} else {color = "solid "+color} if (!color) {color = "solid"} else {color = "solid "+color}
color = this.Em(w)+" "+color; var style = {display: "inline-block", overflow:"hidden", verticalAlign:this.Em(-d)};
var H = (f === 1 ? this.Em(h+d) : min+"px"), D = this.Em(-d); if (w > h+d) {
style.borderTop = this.Px(h+d)+" "+color;
style.width = this.Em(w);
style.height = (this.msieRuleBug && h+d > 0 ? this.Em(h+d) : 0);
} else {
style.borderLeft = this.Px(w)+" "+color;
style.width = (this.msieRuleBug && w > 0 ? this.Em(w) : 0);
style.height = this.Em(h+d);
}
var rule = this.addElement(span,"span",{ var rule = this.addElement(span,"span",{
style: {borderLeft: color, display: "inline-block", overflow:"hidden", style: style, noAdjust:true, HH:h+d, isMathJax:true,
width:0, height:H, verticalAlign:D}, bbox: {h:h, d:d, w:w, rw:w, lw:0, exactW:true}
bbox: {h:h, d:d, w:w, rw:w, lw:0, exactW:true}, noAdjust:true, HH:h+d, isMathJax:true
}); });
if (this.msieRuleBug && w > 0) {rule.style.width = this.Em(w)}
if (span.isBox || span.className == "mspace") {span.bbox = rule.bbox, span.HH = h+d} if (span.isBox || span.className == "mspace") {span.bbox = rule.bbox, span.HH = h+d}
return rule; return rule;
}, },