Что такое стиль цепочки? - PullRequest
       5

Что такое стиль цепочки?

2 голосов
/ 15 февраля 2012

Я постоянно сталкиваюсь со многими ссылками на style protochain в документации по css в flex. Я пытался найти это, но я не мог найти какую-либо соответствующую информацию. Может кто-нибудь сказать мне, что делает класс StyleProtochain? В исходном коде есть следующий комментарий.

/**
 *  @private
 *  This is an all-static class with methods for building the protochains
 *  that Flex uses to look up CSS style properties.
 */

Круто, это говорит мне о том, что есть несколько методов для создания проточей, теперь я должен знать, что он делает, но я понятия не имею, что такое protochain.

1 Ответ

1 голос
/ 15 февраля 2012

CSS стили наследуются.Это означает, что когда вы создаете новый объект и помещаете его как дочерний элемент другого в DOM, этот новый объект должен будет унаследовать все «наследуемые» стили от родительского.Затем он будет переопределять эти стили с помощью своего стилена или встроенного стиля.

Класс StyleProtoChain отвечает за построение этого списка стилей любого создаваемого объекта (который может иметь стиль).Он назван так, потому что этот класс должен идти вверх по дереву DOM (например, подниматься по цепочке прототипов ... возможно, неправильно!) И составлять список стилей для этого объекта.Порядок, в котором это происходит, определяется этим комментарием.

/**
     *  @private
     *  If the styleName property points to a UIComponent, then we search
     *  for stylable properties in the following order:
     *  
     *  1) Look for inline styles on this object
     *  2) Look for inline styles on the styleName object
     *  3) Look for class selectors on the styleName object
     *  4) Look for type selectors on the styleName object
     *  5) Look for type selectors on this object
     *  6) Follow the usual search path for the styleName object
     *  
     *  If this object doesn't have any type selectors, then the
     *  search path can be simplified to two steps:
     *  
     *  1) Look for inline styles on this object
     *  2) Follow the usual search path for the styleName object
     */

Надеюсь, это поможет.Если кому-то нужна дополнительная ссылка, вы можете найти ссылку на источник здесь

...