L'obtention d'un élément hauteur intérieure

Comment obtenez-vous un élément de hauteur intérieure, sans rembourrage et les frontières?

Pas de jQuery, juste pur JS, et une solution de navigateur (IE7 inclus)

L'obtention d'un élément hauteur intérieure

  • Pourquoi ne pas utiliser border-box en css? De cette façon, vous n'avez pas à vous soucier de ces choses... Alors vous pouvez utiliser offsetHeight qui sera de retour à la bonne hauteur sans la marge.
  • c'est une question très précise d'un plugin, je fais qui n'a pas de CSS de contrôle, j'ai juste eu à travailler avec ce que j'ai obtenu
  • Alors...je suppose que vous pouvez toujours définir la box-sizing: border-box, il va vous faire économiser du temps et des maux de tête.
  • Je ne peux pas, parce que mon plugin fonctionne sur les autres sites, sur lesquels il n'est pas à moi de changer leur CSS paramètres d'une façon qui puisse nuire à la conception
  • element.style.boxSizing = 'border-box';
  • Ne sais pas quel genre de plugin, mais je ne vois pas pourquoi vous ne devriez pas l'utiliser uniquement sur cet élément, je veux dire que vous n'êtes pas changer de CSS d'autres que ce qui est nécessaire pour votre plugin fonctionne.
  • oui, MAIS ce css paramètre n'est pas pour les vieux IE, et aussi, il pourrait y avoir un autre code qui fonctionne avec la page web qui pourrait mal calculer des choses, si j'ai un début de changement de CSS. c'est TOUJOURS une mauvaise idée. ne jamais changer, ne fonctionnent qu'avec ce que vous avez quand ce n'est pas votre propre site web
  • Peut-être que vous pourriez cloner l'élément, changer la box-sizing, puis calculer cela?
  • en gros une bonne idée, MAIS très lent chose à faire dans mon cas, car j'en ai besoin calculée sur chaque événement scroll. le clonage va tuer les performances de mon plugin, que j'essaie de l'améliorer.

InformationsquelleAutor vsync | 2012-11-17