Douglas Crockford описывает последствие JavaScript, запрашивающего стиль узла. Как просто просьба о поле отделения вызывает браузер к 'обратному течению' отделение в механизме визуализации браузера четыре раза.
Так, чтобы сделанный мной задаться вопросом, во время начального рендеринга страницы (или на жаргоне Crockford "веб-прокрутка") это было быстрее для записи CSS, который определяет только значения non-zero/non-default? Обеспечить пример:
div{
margin-left:2px;
}
Чем
div{
margin:0 0 0 2px;
}
Я знаю последствие этого, 'сбережения' незначительны, но я думаю, что все еще важно понять, как технологии реализованы. Кроме того, это не вопрос о форматировании CSS - это - вопрос о реализациях браузеров, представляющих CSS.
Ссылка: http://developer.yahoo.com/yui/theater/video.php?v=crockonjs-4
Нет, в зависимости от вашего браузера, он будет распаковывать значения по-разному, прежде чем даже применить стили, а в Firefox это немного повлияет на скорость исполнения. В любом случае рекомендуется использовать сокращенный CSS.
Если вы хотите понять, как это работает, Firefox распаковывает значение:
{margin: 0 0 0 2px;}
как
{margin-top: 0pt;margin-right: 0pt;margin-bottom: 0pt;margin-left: .04pt;}
перед применением стилей к странице. Это для нормализации.
* (. 04pt - оценка)
Я не уверен, что он "обрабатывается" быстрее. НО: Вторая версия на несколько байтов больше, чем первая версия. (И я бы предположил, что сеть медленнее, чем время рендеринга страницы, поэтому первая версия фактически «рендерится быстрее»)