Получить значение границы с помощью getComputedStyle (). GetPropertyValue ()? (Mozilla, FF) - PullRequest
2 голосов
/ 20 ноября 2010

В некоторых браузерах (а именно, Firefox) getComputedStyle().getPropertyValue() ничего не сообщает для сокращенного CSS, например border. Есть ли способ неконкретного кода для получения этих сокращенных значений CSS? Я рассмотрел создание белого списка сокращенных CSS и их соответствующих сокращенных значений CSS. Но я понимаю, что это было бы большой болью и несовместимым дизайном.

1 Ответ

2 голосов
/ 20 ноября 2010

Мне интересно, что вы хотите сделать с строкой , как border: 1px solid #000?

Скажем, вы хотите воспроизвести элемент border, чтобы скопировать его copyStyle(el2, el, "border"):

// Copies a set of styles from one element to another.
function copyStyle(dest, source, shorthand) {
  var computed = window.getComputedStyle(source, null);
  for (var i = computed.length; i--;) {
    var property = camelize(computed[i]);
    if (property.indexOf(shorthand) > -1) {
      console.log(property)
      dest.style[property] = computed[property];
    }
  }
}

// prototype.js
function camelize(text) {
  return text.replace(/-+(.)?/g, function (match, chr) {
    return chr ? chr.toUpperCase() : '';
  });
}

Сравнение, если заданный набор стилей для двух элементов может быть выполнен одинаково,Кроме этого, я действительно не вижу использования строки, которая должна быть проанализирована, если вы хотите что-то с ней вычислить.

...