@@ -34,6 +34,13 @@ xmlns="http://www.w3.org/2000/svg" fill="black" height="18px">\
34
34
</ g></svg>');
35
35
--button-left-margin : 4px ;
36
36
--button-border-radius : 2px ;
37
+ /* Used to manage the big screen three column layout */
38
+ --width-limiter-width : 960px ;
39
+ --desktop-grid-column-gap : 45px ;
40
+ --container-border-radius : 6px ;
41
+ /* height of header, plus header margin, plus top logo section */
42
+ --desktop-grid-toc-top : calc ((1.25 * 1.5rem ) + 76px + 23px );
43
+ --desktop-grid-toc-max-width : 512px ;
37
44
}
38
45
39
46
/* See FiraSans-LICENSE.txt for the Fira Sans license. */
@@ -336,7 +343,7 @@ button#toggle-all-docs {
336
343
main {
337
344
position : relative;
338
345
flex-grow : 1 ;
339
- padding : 10px 15px 40px 45 px ;
346
+ padding : 10px 15px 40px var ( --desktop-grid-column-gap ) ;
340
347
min-width : 0 ; /* avoid growing beyond the size limit */
341
348
}
342
349
@@ -345,7 +352,7 @@ main {
345
352
}
346
353
347
354
.width-limiter {
348
- max-width : 960 px ;
355
+ max-width : var ( --width-limiter-width ) ;
349
356
margin-right : auto;
350
357
}
351
358
@@ -369,6 +376,7 @@ pre {
369
376
}
370
377
pre .item-decl {
371
378
overflow-x : auto;
379
+ border-radius : var (--container-border-radius );
372
380
}
373
381
/* This rule allows to have scrolling on the X axis. */
374
382
.item-decl .type-contents-toggle {
@@ -460,7 +468,7 @@ img {
460
468
.sidebar-resizing .sidebar {
461
469
position : fixed;
462
470
}
463
- .sidebar-resizing > body {
471
+ .sidebar-resizing . rustdoc {
464
472
padding-left : var (--resizing-sidebar-width );
465
473
}
466
474
@@ -534,7 +542,7 @@ img {
534
542
scrollbar-width : initial;
535
543
scrollbar-color : var (--scrollbar-color );
536
544
}
537
- .sidebar {
545
+ .sidebar , # rustdoc-toc section , # rustdoc-modnav section {
538
546
scrollbar-width : thin;
539
547
scrollbar-color : var (--scrollbar-color );
540
548
}
@@ -543,17 +551,24 @@ img {
543
551
::-webkit-scrollbar {
544
552
width : 12px ;
545
553
}
546
- .sidebar ::-webkit-scrollbar {
554
+ .sidebar ::-webkit-scrollbar ,
555
+ # rustdoc-toc section ::-webkit-scrollbar ,
556
+ # rustdoc-modnav section ::-webkit-scrollbar {
547
557
width : 8px ;
548
558
}
549
559
::-webkit-scrollbar-track {
550
560
-webkit-box-shadow : inset 0 ;
551
561
background-color : var (--scrollbar-track-background-color );
552
562
}
553
- .sidebar ::-webkit-scrollbar-track {
563
+ .sidebar ::-webkit-scrollbar-track ,
564
+ # rustdoc-toc section ::-webkit-scrollbar-track ,
565
+ # rustdoc-modnav section ::-webkit-scrollbar-track {
554
566
background-color : var (--scrollbar-track-background-color );
555
567
}
556
- ::-webkit-scrollbar-thumb , .sidebar ::-webkit-scrollbar-thumb {
568
+ ::-webkit-scrollbar-thumb ,
569
+ .sidebar ::-webkit-scrollbar-thumb ,
570
+ # rustdoc-toc section ::-webkit-scrollbar-thumb ,
571
+ # rustdoc-modnav section ::-webkit-scrollbar-thumb {
557
572
background-color : var (--scrollbar-thumb-background-color );
558
573
}
559
574
@@ -742,7 +757,7 @@ ul.block, .block li, .block ul {
742
757
overflow-wrap : break-word;
743
758
}
744
759
745
- .sidebar-crate + .version {
760
+ .sidebar > .version {
746
761
margin-top : -1rem ;
747
762
margin-bottom : 1rem ;
748
763
}
@@ -760,7 +775,7 @@ ul.block, .block li, .block ul {
760
775
.rustdoc .example-wrap > pre ,
761
776
.rustdoc .scraped-example .src-line-numbers ,
762
777
.rustdoc .scraped-example .src-line-numbers > pre {
763
- border-radius : 6 px ;
778
+ border-radius : var ( --container-border-radius ) ;
764
779
}
765
780
766
781
/*
@@ -2078,6 +2093,115 @@ However, it's not needed with smaller screen width because the doc/code block is
2078
2093
2079
2094
/* Media Queries */
2080
2095
2096
+ /* Very-large-screen mode. */
2097
+ @supports (display : grid) and (display : contents) {
2098
+ @media (min-width : 1600px ) {
2099
+ .rustdoc : not (.src ) {
2100
+ display : grid;
2101
+ grid-template-columns :
2102
+ var (--desktop-sidebar-width )
2103
+ var (--width-limiter-width )
2104
+ minmax (0 , 1fr );
2105
+ grid-template-rows : min-content 1fr ;
2106
+ grid-template-areas :
2107
+ "sidebar-title main sidebar-cratenav"
2108
+ "sidebar-modnav main sidebar-toc" ;
2109
+ grid-column-gap : var (--desktop-grid-column-gap );
2110
+ }
2111
+ .sidebar-resizing .rustdoc : not (.src ) {
2112
+ padding-left : 0 ;
2113
+ }
2114
+ .hide-sidebar .rustdoc : not (.src ) {
2115
+ grid-template-columns :
2116
+ var (--width-limiter-width )
2117
+ minmax (0 , 1fr );
2118
+ grid-template-rows : minmax (min-content, calc (64px + 0.75rem )) 1fr ;
2119
+ grid-template-areas :
2120
+ "main sidebar-cratenav"
2121
+ "main sidebar-toc" ;
2122
+ padding-left : var (--desktop-grid-column-gap );
2123
+ }
2124
+ .rustdoc : not (.src ) .sidebar ,
2125
+ .rustdoc : not (.src ) main {
2126
+ display : contents;
2127
+ }
2128
+ .width-limiter {
2129
+ grid-area : main;
2130
+ width : var (--width-limiter-width );
2131
+ --desktop-sidebar-width : 0 ;
2132
+ }
2133
+ .rustdoc : not (.src ) nav .sub {
2134
+ padding-top : 10px ;
2135
+ }
2136
+ .rustdoc : not (.src ) .doc-sidebar-title {
2137
+ grid-area : sidebar-title;
2138
+ background : var (--sidebar-background-color );
2139
+ position : sticky;
2140
+ top : 0 ;
2141
+ }
2142
+ .rustdoc : not (.src ) .sidebar-crate {
2143
+ margin-bottom : 0.5rem ;
2144
+ }
2145
+ .rustdoc : not (.src ) # rustdoc-toc ,
2146
+ .rustdoc : not (.src ) # rustdoc-cratenav {
2147
+ grid-area : sidebar-toc;
2148
+ background : var (--main-background-color );
2149
+ padding-left : 0 ;
2150
+ }
2151
+ .rustdoc : not (.src ) # rustdoc-cratenav {
2152
+ grid-area : sidebar-cratenav;
2153
+ align-self : middle;
2154
+ }
2155
+ .rustdoc : not (.src ) # rustdoc-modnav {
2156
+ grid-area : sidebar-modnav;
2157
+ background : var (--sidebar-background-color );
2158
+ padding-left : 0 ;
2159
+ }
2160
+ .rustdoc : not (.src ) # rustdoc-modnav .in-crate {
2161
+ display : none;
2162
+ }
2163
+ .rustdoc : not (.src ) # rustdoc-toc section ,
2164
+ .rustdoc : not (.src ) # rustdoc-modnav section {
2165
+ position : sticky;
2166
+ top : 0 ;
2167
+ bottom : 0 ;
2168
+ overflow-y : scroll;
2169
+ overscroll-behavior : contain;
2170
+ max-height : 100vh ;
2171
+ padding-left : 24px ;
2172
+ }
2173
+ .rustdoc : not (.src ) # rustdoc-toc .location ,
2174
+ .rustdoc : not (.src ) # rustdoc-modnav h2 {
2175
+ margin-top : 0 ;
2176
+ }
2177
+ .rustdoc : not (.src ) # rustdoc-modnav section {
2178
+ top : calc (64px + 0.75rem );
2179
+ height : calc (100vh - 64px - 0.75rem );
2180
+ background : var (--sidebar-background-color );
2181
+ }
2182
+ .rustdoc : not (.src ) # rustdoc-modnav section .scrolled {
2183
+ border-top : solid 1px var (--border-color );
2184
+ }
2185
+ .rustdoc : not (.src ) # rustdoc-toc section {
2186
+ max-height : calc (100vh - (2 * var (--desktop-grid-toc-top )));
2187
+ top : var (--desktop-grid-toc-top );
2188
+ margin : 0 var (--desktop-grid-column-gap ) var (--desktop-grid-column-gap ) 0 ;
2189
+ border : solid 1px var (--border-color );
2190
+ padding : 14px 0 14px var (--sidebar-elems-left-padding );
2191
+ border-radius : var (--container-border-radius );
2192
+ max-width : var (--desktop-grid-toc-max-width );
2193
+ }
2194
+ .rustdoc : not (.src ) # rustdoc-cratenav .block : last-child ,
2195
+ .rustdoc : not (.src ) # rustdoc-toc .block : last-child {
2196
+ margin-bottom : 0 ;
2197
+ }
2198
+ .rustdoc : not (.src ) # rustdoc-cratenav a : hover ,
2199
+ .rustdoc : not (.src ) # rustdoc-toc a : hover {
2200
+ background-color : var (--sidebar-background-color );
2201
+ }
2202
+ }
2203
+ }
2204
+
2081
2205
/* Make sure all the buttons line wrap at the same time */
2082
2206
@media (max-width : 850px ) {
2083
2207
# search-tabs .count {
0 commit comments