Полимерная краска для каркасов и бумага
Я начинаю использовать polymer 0.5 для создания отзывчивого веб-сайта. Я знаю, что это не полностью закончено, но, тем не менее, я нахожу это довольно аккуратным и простым, чтобы быстро сделать вещи.
Теперь я использую core-scaffold как общий макет. Я знаю, как окрашивать боковую панель, но я не уверен, где я могу настроить основные настройки контента.
<html>
<head>
<style>
html,body {
height: 100%;
margin: 0;
background-color: #E5E5E5;
font-family: 'RobotoDraft', sans-serif;
}
core-toolbar {
background: #E5E5E5;
color: white;
}
paper-item.core-selected {
color: #99182c;
fill: #99182c;
}
</style>
</head>
<body unresolved touch-action="auto">
<core-scaffold>
<core-header-panel navigation flex mode="seamed">
<core-toolbar style="background-color: #99182c; color:#fff;">Main site name</core-toolbar>
<core-menu selected="0">
<paper-item icon="home" label="Home"></paper-item>
<paper-item icon="today" label="Activities"></paper-item>
<paper-item icon="account-box" label="People"></paper-item>
<paper-item icon="theaters" label="Pictures"></paper-item>
<paper-item icon="info" label="Info"></paper-item>
<paper-item icon="lock" label="Login"></paper-item>
</core-menu>
</core-header-panel>
<div tool>Home</div>
</core-scaffold>
</body>
</html>
Итак, панель инструментов ядра - это стиль левой боковой панели, но как я могу создать основную страницу?
Другая проблема, с которой я столкнулась, - это то, что я хотел бы работать с бумажными элементами. Однако при использовании этого core-scaffold
вы заметите, что когда экран достаточно мал, и на вкладке открывается открытая панель меню, это "нормальная" кнопка, а не бумажная. Поскольку это находится в core-scaffold
, я не знаю, как это изменить (если это возможно). Любые идеи?
Ответы
Ответ 1
Я столкнулся с той же проблемой, и оказалось, что вы можете стилизовать элементы (панель инструментов) внутри других элементов (ядро-леса) с помощью CSS со специальным синтаксисом для доступа к внутреннему компоненту (который находится внутри Shadow DOM) с использованием псевдоэлемента ::shadow
.
Верхнее правило изменяет цвет фона заголовка, а второй меняет фон области содержимого.
core-scaffold::shadow core-toolbar {
background: #E5E5E5;
color: black;
}
core-scaffold::shadow core-header-panel {
background: #FFF;
color: black;
}
Источник: http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom-201/#toc-style-cat-hat
Обновление. Это неправильно работает с Firefox из-за прокладок. Что добавили стили с директивой shim-shadowdom
, которая интерпретируется только тогда, когда на нестандартной платформе non webcomponent/shadowdom:
<style shim-shadowdom>
core-scaffold core-toolbar {
background: #EEE;
color: black;
}
core-scaffold #main core-header-panel {
background: #FFF;
color: black;
}
</style>
Обратите внимание, что для изменения фона области содержимого мне также нужно было выбрать #main
, поэтому для портирования правил ::shadow
может потребоваться небольшая проверка...
Наконец, когда вам нужно правильно работать с Firefox и другими браузерами из элемента webcomponent/polymer, вы можете использовать polyfill-rule
или polyfill-unscoped-rule
.
Ответ 2
Можно изменить стиль с темно-синего цвета, перекопав в тег в /bower _components/core-scaffold/core-scaffold.html и изменив фоновый цвет; однако это изменяет все значения по умолчанию.