javascript - Why does .css('fontSize') produce different results in Edge? -
consider code (also in a fiddle):
document.getelementbyid("span").innerhtml += $('#input').css('fontsize');
span input { font-size: inherit; } input { font-size: 15px; }
<span id="span" style="font-size: 30px;"> <input id="input"/> </span> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
in chrome , firefox, .css('fontsize')
return 30px, in edge , ie it's 15px. why that? dom explorer in edge shows 15px in strikethrough, , therefore should take inherited 30px fontsize:
and input rendered 30px font, ie/edge picking rendering purposes.
update: bug below fixed; fremycompany says he/she program manager edge team , fix reach customers in 2017.
it looks ie , edge bug. not having found it, i reported it.
here's update snippet sees ie/edge telling jquery via getcomputedstyle
or currentstyle
:
var input = $("#input"); console.log("jquery: " + input.css('fontsize')); if (window.getcomputedstyle) { console.log("getcomputedstyle: " + getcomputedstyle(input[0]).fontsize); } if (input[0].currentstyle) { console.log("currentstyle: " + input[0].currentstyle.fontsize); }
span input { font-size: inherit; } input { font-size: 15px; }
<span id="span" style="font-size: 30px;"> <input id="input"/> <span id="size"></span> </span> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
for me, ie11 returns 15px
both getcomputedstyle
, microsoft-specific currentstyle
property (it's reassuring @ least same thing):
so it's not jquery bug, it's microsoft bug when reporting size via javascript (looks when inherit
governing rule), though it's rendering correctly.
i tried find way make grey area, couldn't think of anything. instance, according spec, having input
inside span
entirely valid.
Comments
Post a Comment