Như đã đề cập trong câu trả lời khác, để tạo kiểu cho máy chủ của DOM bóng, hãy sử dụng bộ chọn @host
. Trong trường hợp của một phần tử tùy chỉnh, máy chủ của phần tử tùy chỉnh là chính nó.
Dưới đây là ví dụ về cách tạo kiểu cho phần tử máy chủ hoặc chính phần tử tùy chỉnh, từ trong thẻ <style>
của phần tử tùy chỉnh.
<!DOCTYPE html>
<html>
<head>
<title>index</title>
<script src="packages/polymer/boot.js"></script>
</head>
<body>
<polymer-element name="my-element">
<template>
<style>
@host {
my-element {
display: block;
border: 1px solid black;
}
}
p {
color: red;
}
#message {
color: pink;
}
.important {
color: green;
}
</style>
<p>Inside element, should be red</p>
<div id="message">
The message should be pink
</div>
<div class="important">
Important is green
</div>
<div>
<content></content>
</div>
</template>
<script type="application/dart" src="index.dart"></script>
</polymer-element>
<p>outside of element, should be black</p>
<div id="message">
The outside message should be black
</div>
<div class="important">
Outside important is black
</div>
<my-element>Hello from content</my-element>
<!-- If the script is just an empty main, it's OK to include inline. -->
<!-- Otherwise, put the app into a separate .dart file. -->
<script type="application/dart">main() {}</script>
</body>
</html>
Thông báo các @host
khối theo phong cách:
@host {
my-element {
display: block;
border: 1px solid black;
}
}
Bởi vì yếu tố tùy chỉnh đặc biệt này không mở rộng bất kỳ yếu tố, nó không mặc định đến một khối.
Đây là những gì nó trông giống như khi theo kiểu:

Nguồn
2013-08-25 13:02:28
Những ngày này bạn không còn cần một thuộc tính constructor cho polymer.dart. Ít nhất, tôi không cần nó. –