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 (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}
color = this.Em(w)+" "+color;
var H = (f === 1 ? this.Em(h+d) : min+"px"), D = this.Em(-d);
var style = {display: "inline-block", overflow:"hidden", verticalAlign: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",{
style: {borderLeft: color, display: "inline-block", overflow:"hidden",
width:0, height:H, verticalAlign:D},
bbox: {h:h, d:d, w:w, rw:w, lw:0, exactW:true}, noAdjust:true, HH:h+d, isMathJax:true
style: style, noAdjust:true, HH:h+d, isMathJax:true,
bbox: {h:h, d:d, w:w, rw:w, lw:0, exactW: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}
return rule;
},