@@ -38,6 +38,8 @@ xmlns="http://www.w3.org/2000/svg" fill="black" height="18px">\
38
38
--code-block-border-radius : 6px ;
39
39
--impl-items-indent : 0.3em ;
40
40
--docblock-indent : 24px ;
41
+ --mobile-top-navbar-height : 45px ;
42
+ --collapse-toggle-left : -24px ;
41
43
}
42
44
43
45
/* See FiraSans-LICENSE.txt for the Fira Sans license. */
@@ -746,7 +748,8 @@ ul.block, .block li, .block ul {
746
748
/* extend click target to far edge of screen (mile wide bar) */
747
749
border-left : solid var (--sidebar-elems-left-padding ) transparent;
748
750
background-clip : border-box;
749
- margin : 0 calc (-24px + 0.25rem ) 0 calc (-0.2rem - var (--sidebar-elems-left-padding ));
751
+ margin : 0 calc (var (--collapse-toggle-left ) + 0.25rem ) 0
752
+ calc (-0.2rem - var (--sidebar-elems-left-padding ));
750
753
/* Align the sidebar crate link with the search bar, which have different
751
754
font sizes.
752
755
@@ -2163,13 +2166,13 @@ details.toggle > summary.hideme::before {
2163
2166
2164
2167
details .toggle > summary : not (.hideme )::before {
2165
2168
position : absolute;
2166
- left : -24 px ;
2169
+ left : var ( --collapse-toggle-left ) ;
2167
2170
top : 4px ;
2168
2171
}
2169
2172
2170
2173
.impl-items > details .toggle > summary : not (.hideme )::before {
2171
2174
position : absolute;
2172
- left : -24 px ;
2175
+ left : var ( --collapse-toggle-left ) ;
2173
2176
}
2174
2177
2175
2178
/* We indent items of an impl block to have a visual marker that these items are part
@@ -2181,6 +2184,26 @@ details.toggle > summary:not(.hideme)::before {
2181
2184
margin-left : var (--impl-items-indent );
2182
2185
}
2183
2186
2187
+ h2 .section-header + div > details .implementors-toggle > summary ,
2188
+ details .toggle .big-toggle > summary {
2189
+ position : sticky;
2190
+ top : 0 ;
2191
+ background : var (--main-background-color );
2192
+ z-index : 1 ;
2193
+ padding-left : calc (var (--collapse-toggle-left ) * -1 );
2194
+ margin-left : var (--collapse-toggle-left );
2195
+ }
2196
+ h2 .section-header + div > details .implementors-toggle > summary : not (.hideme )::before ,
2197
+ details .toggle .big-toggle > summary : not (.hideme )::before {
2198
+ left : -4px ;
2199
+ }
2200
+ h2 .section-header + div > details .implementors-toggle > summary .anchor {
2201
+ left : calc (-0.5rem - var (--collapse-toggle-left ));
2202
+ }
2203
+ details .toggle .big-toggle > summary .anchor {
2204
+ left : -0.8rem ;
2205
+ }
2206
+
2184
2207
details .big-toggle > summary : not (.hideme )::before {
2185
2208
left : -34px ;
2186
2209
top : 9px ;
@@ -2272,14 +2295,15 @@ in src-script.js and main.js
2272
2295
@media (max-width : 700px ) {
2273
2296
: root {
2274
2297
--impl-items-indent : 0.7em ;
2298
+ --collapse-toggle-left : -11px ;
2275
2299
}
2276
2300
2277
2301
/* When linking to an item with an `id` (for instance, by clicking a link in the sidebar,
2278
2302
or visiting a URL with a fragment like `#method.new`, we don't want the item to be obscured
2279
2303
by the topbar. Anything with an `id` gets scroll-margin-top equal to .mobile-topbar's size.
2280
2304
*/
2281
2305
* [id ] {
2282
- scroll-margin-top : 45 px ;
2306
+ scroll-margin-top : var ( --mobile-top-navbar-height ) ;
2283
2307
}
2284
2308
2285
2309
/* We don't display this button on mobile devices. */
@@ -2327,13 +2351,13 @@ in src-script.js and main.js
2327
2351
2328
2352
.sidebar {
2329
2353
position : fixed;
2330
- top : 45 px ;
2354
+ top : var ( --mobile-top-navbar-height ) ;
2331
2355
/* Hide the sidebar offscreen while not in use. Doing this instead of display: none means
2332
2356
the sidebar stays visible for screen readers, which is useful for navigation. */
2333
2357
left : -1000px ;
2334
2358
z-index : 11 ;
2335
2359
/* Reduce height slightly to account for mobile topbar. */
2336
- height : calc (100vh - 45 px );
2360
+ height : calc (100vh - var ( --mobile-top-navbar-height ) );
2337
2361
width : 200px ;
2338
2362
}
2339
2363
@@ -2390,7 +2414,7 @@ in src-script.js and main.js
2390
2414
position : sticky;
2391
2415
z-index : 10 ;
2392
2416
font-size : 2rem ;
2393
- height : 45 px ;
2417
+ height : var ( --mobile-top-navbar-height ) ;
2394
2418
width : 100% ;
2395
2419
left : 0 ;
2396
2420
top : 0 ;
@@ -2418,11 +2442,6 @@ in src-script.js and main.js
2418
2442
display : none !important ;
2419
2443
}
2420
2444
2421
- # main-content > details .toggle > summary ::before ,
2422
- # main-content > div > details .toggle > summary ::before {
2423
- left : -11px ;
2424
- }
2425
-
2426
2445
/* sidebar button becomes topbar button */
2427
2446
# sidebar-button > a : before {
2428
2447
content : url ('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" \
@@ -2493,6 +2512,11 @@ in src-script.js and main.js
2493
2512
margin : 0 0 -25px 0 ;
2494
2513
padding : var (--nav-sub-mobile-padding );
2495
2514
}
2515
+
2516
+ h2 .section-header + div > details .implementors-toggle > summary ,
2517
+ details .toggle .big-toggle > summary {
2518
+ top : var (--mobile-top-navbar-height );
2519
+ }
2496
2520
}
2497
2521
2498
2522
@@ -2552,6 +2576,10 @@ in src-script.js and main.js
2552
2576
.search-form {
2553
2577
align-self : stretch;
2554
2578
}
2579
+
2580
+ # main-content > details .toggle > summary ::before {
2581
+ left : var (--collapse-toggle-left );
2582
+ }
2555
2583
}
2556
2584
2557
2585
.variant ,
0 commit comments