ФорумРазработкаКлиентская сторонаВерстка и оформление → CSS справа-налево. Чего, реальни?

CSS справа-налево. Чего, реальни?

  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 28 мая 2010 г. 8:02

    Цылка: http://vremenno.net/html-css/optimize-css-for-browser-rendering/
    И пруф: https://developer.mozilla.org/en/Writing_Efficient_CSS
    The style system matches rules by starting with the key selector, then moving to the left (looking for any ancestors in the rule’s selector). As long as the selector’s subtree continues to check out, the style system continues moving to the left until it either matches the rule, or abandons because of a mismatch.


    Никогда не задумывался над эффективностью CSS - пусть верстальщики парятся.
    Но всё-таки мне казалось очевидным следующее. Есть правило:
    ul#id li span {красненьким в полосочку}

    По нормальному, имхо, браузер должен найти сначала ul с заданным ID (быстрая операция), вынуть все его LI, потом поискать уже в этом значительно уменьшеном дереве спаны.

    Из ссылки же следует, что он сначала вытащит ваще-ваще все спаны из документа, проверит для каждого, нет ли где-то из его предков LI, а потом ещё для каждого из этих LI будет искать в предках ul#id.

    Есть знатоки, чтобы объяснить пиздец это или не пиздец?
  • SA

    Сообщения: 37 Репутация: N Группа: Адекваты

    Spritz 28 мая 2010 г. 8:43, спустя 40 минут 44 секунды

    Это очень странно и во многом придётся менять свои привычные представления о вёрстке.

    я например привык так прописывать стили для списков внутри списка (не вводя новых классов)

    #nav ul { }
    #nav ul li { }
    #nav ul li a { }

    а правильнее, по идее, придумать новый класс, назначить его всем этим ссылкам и прописать правило для него
    a.navlink { }

    Однако, мне кажется это только нагромождает код абсолютно лишними элементами. Но вопрос ещё в том сколько ты выиграешь по времени при загрузке страницы, 5 миллисекунд? В таких крупных проектах, как Yandex, когда аудитория — миллионы пользователей, миллионы страниц и материла, наверняка оптимизация играет очень важную роль. А оптимизацию на среднем сайте никто никогда не ощутит. Полезнее будет картинки оптимизировать.

    Кстати, совсем недавно Google сообщил, что вводит новый показатель, влияющий на релевантность сайта — скорость загрузки. Намекая всем, типа XXI век и пора задуматься об оптимизации кода. Кто не хочет этого делать, при всех остальных равных показателях, будет в конце списка выдачи.
  • SA

    Сообщения: 37 Репутация: N Группа: Адекваты

    Spritz 28 мая 2010 г. 10:26, спустя 1 час 42 минуты 54 секунды

    я например привык так прописывать стили для списков внутри списка (не вводя новых классов)


    *стили для ссылок внутри списка
  • Sinkler

    Сообщения: 8096 Репутация: N Группа: в ухо

    Spritz 28 мая 2010 г. 10:39, спустя 12 минут 53 секунды

    о, люди новые адекватные наконец-то хоть по чуть приходят…
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 28 мая 2010 г. 11:26, спустя 47 минут 45 секунд

    новые с 12 айдишником :)
    Спустя 86 сек.
    выдал "адеквата"
    adw/0
  • Sinkler

    Сообщения: 8096 Репутация: N Группа: в ухо

    Spritz 28 мая 2010 г. 11:27, спустя 7 секунд

    хуясе, я и не заметил =))))))))))
  • artoodetoo

    Сообщения: 5139 Репутация: N Группа: в ухо

    Spritz 28 мая 2010 г. 20:03, спустя 8 часов 36 минут

    Помоему всё прозрачно, я для себя никаких открытий не сделал.
    Разбор справа-налево делается чтобы минимизировать количество просматриваемых правил. Чем ближе к правому краю правила обнаружится "конкретный" селектор, тем меньше шагов понадобится браузеру, чтобы отбросить лишние правила. Конкретно — это #ид или .класс, а неконкретно — теги и атрибуты.

    "Пишите свои правила покороче и поконкретнее".
    КО



    ιιlllιlllι унц-унц

Пожалуйста, авторизуйтесь, чтобы написать комментарий!