Наследование стиля полимерного компонента нарушено в canary (36)

Я попробовал свой веб-сайт (http://fnndsc.github.io/fnndsc.babymri.org/) на последней канарейке, и многое напутано.

Что еще более важно, стиль больше не распространяется на подэлементы. Я читал, но не мог найти лучшую практику, чтобы справиться с этим.

Как я могу указать моему полимерному элементу использовать стиль его родителей. Есть ли специальный флаг для включения?

До Chrome 34 он работает нормально, но 35/36 кажется сломанным.

Спасибо


person Nicolas    schedule 10.04.2014    source источник


Ответы (1)


Chrome 35 удаляет префиксы новой реализации Shadow DOM (сообщение в блоге) и включает его по умолчанию. Некоторые из того, что вы видите, также могут быть различиями между родным Shadow DOM и шиммированием полифилла.

Без кодовой базы, на которую можно было бы посмотреть, может быть сколько угодно вещей. За последние несколько месяцев было много обновлений функций стиля Shadow DOM.

На что обратить внимание из того, что я увидел на вашем сайте

  • @host { :scope {display: block;} } -> :host {display: block; }
  • переместите таблицы стилей, от которых зависит элемент, в папку <polymer-element>.
  • applyAuthorStyles ушел. Если вы использовали его, единственный способ взять стили с внешней страницы — это использовать ::shadow, /deep/ или включить общие стили в <polymer-element>, если это необходимо.
  • Если вы используете <content> и распределенные узлы, убедитесь, что вы используете псевдоэлемент ::content

Вот несколько актуальных ресурсов по стилю:

person ebidel    schedule 10.04.2014
comment
Да, первую пулю я уже исправил, и прыгал, в полимерном элементе был атрибут, чтобы автоматически ловить внешний стиль. Думаю, я просто перенесу таблицы стилей в элементы, которые на них полагаются, это кажется лучшим вариантом, пока API не стабилизируется.... - person Nicolas; 11.04.2014