blob: 06ce2e6142f52a7daf356362446deca8de27684a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
/**
*
*
* @param {string} $primaryStyleName (v-escalator) -
*
* @group escalator
*/
@mixin valo-escalator($primaryStyleName : v-escalator) {
$background-color: white;
$border-color: #aaa;
.#{$primaryStyleName} {
position: relative;
background-color: $background-color;
}
.#{$primaryStyleName}-scroller {
position: absolute;
overflow: auto;
z-index: 20;
}
.#{$primaryStyleName}-scroller-horizontal {
left: 0; /* Left position adjusted to align with frozen columns */
right: 0;
bottom: 0;
overflow-y: hidden;
-ms-overflow-y: hidden;
}
.#{$primaryStyleName}-scroller-vertical {
right: 0;
top: 0; /* this will be overridden by code, but it's a good default behavior */
bottom: 0; /* this will be overridden by code, but it's a good default behavior */
overflow-x: hidden;
-ms-overflow-x: hidden;
}
.#{$primaryStyleName}-tablewrapper {
position: absolute;
overflow: hidden;
}
.#{$primaryStyleName}-tablewrapper > table {
border-spacing: 0;
table-layout: fixed;
width: inherit; /* a decent default fallback */
}
.#{$primaryStyleName}-header,
.#{$primaryStyleName}-body,
.#{$primaryStyleName}-footer {
position: absolute;
left: 0;
width: inherit;
z-index: 10;
}
.#{$primaryStyleName}-header { top: 0; }
.#{$primaryStyleName}-footer { bottom: 0; }
.#{$primaryStyleName}-body {
z-index: 0;
top: 0;
.#{$primaryStyleName}-row {
position: absolute;
top: 0;
left: 0;
}
}
.#{$primaryStyleName}-row {
display: block;
.v-ie8 & {
/* IE8 doesn't let table rows be longer than body only with display block. Moar hax. */
float: left;
clear: left;
/*
* The inline style of margin-top from the <tbody> to offset the header's dimension is,
* for some strange reason, inherited into each contained <tr>.
* We need to cancel it:
*/
margin-top: 0;
}
> td, > th {
/* IE8 likes the bgcolor here instead of on the row */
background-color: $background-color;
}
}
.#{$primaryStyleName}-row {
width: inherit;
}
.#{$primaryStyleName}-cell {
display: block;
float: left;
border: 1px solid $border-color;
padding: 2px;
white-space: nowrap;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.#{$primaryStyleName}-cell.frozen {
position: relative;
z-index: 0;
}
}
|