styleChecker.js 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.isStyleSupport = isStyleSupport;
  7. var _canUseDom = _interopRequireDefault(require("./canUseDom"));
  8. var isStyleNameSupport = function isStyleNameSupport(styleName) {
  9. if ((0, _canUseDom.default)() && window.document.documentElement) {
  10. var styleNameList = Array.isArray(styleName) ? styleName : [styleName];
  11. var documentElement = window.document.documentElement;
  12. return styleNameList.some(function (name) {
  13. return name in documentElement.style;
  14. });
  15. }
  16. return false;
  17. };
  18. var isStyleValueSupport = function isStyleValueSupport(styleName, value) {
  19. if (!isStyleNameSupport(styleName)) {
  20. return false;
  21. }
  22. var ele = document.createElement('div');
  23. var origin = ele.style[styleName];
  24. ele.style[styleName] = value;
  25. return ele.style[styleName] !== origin;
  26. };
  27. function isStyleSupport(styleName, styleValue) {
  28. if (!Array.isArray(styleName) && styleValue !== undefined) {
  29. return isStyleValueSupport(styleName, styleValue);
  30. }
  31. return isStyleNameSupport(styleName);
  32. }