Делает поле-left:2px; представьте быстрее, чем margin:0 0 0 2 пкс;?

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

5
задан Kevin Brown 20 February 2015 в 02:10
поделиться

2 ответа

Нет, в зависимости от вашего браузера, он будет распаковывать значения по-разному, прежде чем даже применить стили, а в Firefox это немного повлияет на скорость исполнения. В любом случае рекомендуется использовать сокращенный CSS.

Если вы хотите понять, как это работает, Firefox распаковывает значение:

{margin: 0 0 0 2px;}

как

{margin-top: 0pt;margin-right: 0pt;margin-bottom: 0pt;margin-left: .04pt;}

перед применением стилей к странице. Это для нормализации.

* (. 04pt - оценка)

1
ответ дан 15 December 2019 в 06:20
поделиться

Я не уверен, что он "обрабатывается" быстрее. НО: Вторая версия на несколько байтов больше, чем первая версия. (И я бы предположил, что сеть медленнее, чем время рендеринга страницы, поэтому первая версия фактически «рендерится быстрее»)

2
ответ дан 15 December 2019 в 06:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: