|
1 |
| -@use '../global/variables' as *; |
2 |
| - |
3 |
| -@media (max-width: 640px) { |
4 |
| - :root, body { max-width: 100%; overflow-x: clip; } |
5 |
| -} |
6 |
| -@supports not (overflow-x: clip) { |
7 |
| - @media (max-width: 640px) { :root, body { overflow-x: hidden; } } |
8 |
| -} |
9 |
| - |
10 | 1 | /* ====== スクロール容器 ====== */
|
11 | 2 | .ttable-wrap{
|
12 | 3 | position: relative;
|
|
25 | 16 | table-layout: auto と最小幅制約を組み合わせる
|
26 | 17 | */
|
27 | 18 | .ttable{
|
28 |
| - --w-start: 8ch; |
29 |
| - --room-min: 20rem; |
| 19 | + table-layout: fixed; |
| 20 | + --w-start: 5rem; |
| 21 | + --room-min: clamp(235px, calc((100dvw - var(--w-start) - 10rem)), 20rem); |
30 | 22 | --row-h: 56px;
|
31 | 23 |
|
32 | 24 | width: calc(var(--w-start) + var(--room-min) * var(--room-count));
|
33 |
| - min-width: 100%; |
34 |
| - border-collapse: separate; |
35 |
| - border-spacing: 0; |
36 |
| - table-layout: auto; |
37 |
| - background: #fff; |
38 |
| - border: 1px solid #e6e6e9; |
39 | 25 | }
|
40 | 26 |
|
41 | 27 | /* ヘッダー */
|
|
59 | 45 | /* 会場ヘッダーと本文セルの最小幅をそろえる(PCで潰れない) */
|
60 | 46 | .ttable__th--room{ border-left: 1px solid #ececf1; color:#111; background:
|
61 | 47 | linear-gradient(0deg, rgba(255,255,255,0.88), rgba(255,255,255,0.88)), var(--room-color, #c43b3b);
|
62 |
| - min-width: var(--room-min); |
| 48 | + width: var(--room-min); |
63 | 49 | }
|
64 |
| -.ttable tbody td{ min-width: var(--room-min); } |
| 50 | +.ttable tbody td{ width: var(--room-min); } |
65 | 51 |
|
66 | 52 | /* 行ストライプ & グリッド線 */
|
67 | 53 | .ttable tbody tr{ height: var(--row-h); }
|
|
111 | 97 | box-shadow: 0 2px 8px rgba(0,0,0,0.06);
|
112 | 98 | padding: 10px 12px 12px;
|
113 | 99 | background: #fff;
|
114 |
| - overflow: hidden; |
115 | 100 | height: 100%;
|
116 | 101 | display: flex;
|
117 | 102 | flex-direction: column;
|
| 103 | + overflow: clip; |
118 | 104 | }
|
119 | 105 | .ttable__event::before{ content:""; position:absolute; inset:0 0 auto 0; height: 6px; background: var(--accent, #c43b3b); }
|
120 | 106 | .ttable__event-time{ font-weight: 800; font-size: 1.05rem; letter-spacing: .3px; margin: 8px 0 4px; color: #c43b3b; }
|
121 | 107 | .ttable__event-title{ font-weight: 800; line-height: 1.35; margin-bottom: 4px; color: #121212; }
|
122 | 108 | .ttable__event-subtitle{ color: #ee7d05; font-weight: 700; font-size: .92rem; line-height: 1.3; }
|
123 | 109 | .ttable__badge{ position: absolute; top: 8px; right: 10px; padding: 2px 8px; border-radius: 999px; font-size: .85rem; font-weight: 800; color: #fff; background: var(--accent,#c43b3b); box-shadow: 0 1px 4px rgba(0,0,0,.1); }
|
124 |
| - |
125 |
| -/* スマホ微調整 */ |
126 |
| -@media (max-width: 640px){ |
127 |
| - .ttable{ --row-h: 54px; --room-min: 16rem; --w-start: 7ch; } |
128 |
| - .ttable thead th, .ttable__cell{ padding: 8px; font-size: .95rem; } |
129 |
| - .ttable thead th{ white-space: normal; } |
130 |
| - .ttable__room-cap{ overflow-wrap: anywhere; word-break: keep-all; } |
131 |
| - .ttable tbody tr:nth-child(6n){ |
132 |
| - box-shadow: inset 0 -1.5px 0 rgba(0,0,0,0.18); |
133 |
| - } |
134 |
| - .ttable-wrap::before, .ttable-wrap::after{ |
135 |
| - content: ""; position: absolute; top: 0; bottom: 0; width: 18px; |
136 |
| - pointer-events: none; z-index: 6; |
137 |
| - } |
138 |
| - .ttable-wrap::before{ left: 0; background: linear-gradient(to right, #fff, rgba(255,255,255,0)); } |
139 |
| - .ttable-wrap::after{ right: 0; background: linear-gradient(to left, #fff, rgba(255,255,255,0)); } |
140 |
| - .ttable tbody tr{ background-image: linear-gradient(to right, rgba(0,0,0,0.08) 50%, rgba(0,0,0,0) 0); } |
141 |
| - .ttable__event-time{ font-size: 1rem; margin-top: 6px; } |
142 |
| - .ttable__event-title{ font-size: .98rem; } |
143 |
| - .ttable__event-subtitle{ font-size: .86rem; } |
144 |
| -} |
145 |
| - |
0 commit comments