3 border: 1px solid #aaa;
11 border-collapse: separate;
16 .data-grid .header-container,
17 .data-grid .data-container {
24 .data-grid .header-container {
29 .data-grid .data-container {
33 transform: translateZ(0);
36 .data-grid.inline .header-container,
37 .data-grid.inline .data-container {
41 .data-grid.inline .corner {
49 border-left: 0 none transparent !important;
52 .data-grid .top-filler-td,
53 .data-grid .bottom-filler-td {
54 height: auto !important;
55 padding: 0 !important;
58 .data-grid table.data {
64 border-top: 0 none transparent;
65 background-image: linear-gradient(to bottom, white, white 50%, rgb(234, 243, 255) 50%, rgb(234, 243, 255));
66 background-size: 128px 32px;
70 .data-grid.inline table.data {
74 .data-grid table.data tr {
78 .data-grid table.data tr.revealed {
85 text-overflow: ellipsis;
88 border-left: 1px solid #aaa;
91 .data-grid th:first-child,
92 .data-grid td:first-child {
93 border-left: none !important;
97 height: 16px; /* Keep in sync with .data-grid table.data @ background-size */
100 -webkit-user-select: text;
106 background-color: #eee;
107 border-bottom: 1px solid #aaa;
109 vertical-align: middle;
114 .data-grid th > div {
116 text-overflow: ellipsis;
120 .data-grid td.editing > div {
132 .data-grid th.sortable div {
136 .data-grid th.sortable:active {
137 background-color: rgba(0, 0, 0, 0.15);
140 .data-grid th.sort-ascending > div::after,
141 .data-grid th.sort-descending > div::after {
145 background-image: url(Images/statusbarButtonGlyphs.png);
146 background-size: 320px 144px;
154 @media (-webkit-min-device-pixel-ratio: 1.5) {
155 .data-grid th.sort-ascending > div::after,
156 .data-grid th.sort-descending > div::after {
157 background-image: url(Images/statusbarButtonGlyphs_2x.png);
161 .data-grid th.sort-ascending > div::after {
162 background-position: -4px -108px;
165 .data-grid th.sort-descending > div::after {
166 background-position: -20px -96px;
169 .data-grid th:hover {
170 background-color: rgba(0, 0, 0, 0.1);
178 .data-grid tr.parent td.disclosure::before {
179 -webkit-user-select: none;
180 -webkit-mask-image: url(Images/statusbarButtonGlyphs.png);
181 -webkit-mask-size: 320px 144px;
191 .data-grid tr.parent td.disclosure::before {
192 background-color: rgb(110, 110, 110);
193 -webkit-mask-position: -4px -96px;
196 @media (-webkit-min-device-pixel-ratio: 1.5) {
197 .data-grid tr.parent td.disclosure::before {
198 -webkit-mask-image: url(Images/statusbarButtonGlyphs_2x.png);
202 .data-grid tr.expanded td.disclosure::before {
203 -webkit-mask-position: -20px -96px;
206 .data-grid tr.selected {
207 background-color: rgb(212, 212, 212);
211 .data-grid:focus tr.selected {
212 background-color: rgb(56, 121, 217);
216 .data-grid:focus tr.selected a {
220 .data-grid:focus tr.parent.selected td.disclosure::before {
221 background-color: white;
222 -webkit-mask-position: -4px -96px;
225 .data-grid:focus tr.expanded.selected td.disclosure::before {
226 background-color: white;
227 -webkit-mask-position: -20px -96px;
230 .data-grid tr:not(.parent) td.disclosure {