@@ -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
}
@@ -758,7 +773,7 @@ ul.block, .block li, .block ul {
758
773
}
759
774
760
775
.rustdoc .example-wrap > pre {
761
- border-radius : 6 px ;
776
+ border-radius : var ( --container-border-radius ) ;
762
777
}
763
778
764
779
/* For the last child of a div, the margin will be taken care of
@@ -2006,6 +2021,115 @@ However, it's not needed with smaller screen width because the doc/code block is
2006
2021
2007
2022
/* Media Queries */
2008
2023
2024
+ /* Very-large-screen mode. */
2025
+ @supports (display : grid) and (display : contents) {
2026
+ @media (min-width : 1600px ) {
2027
+ .rustdoc : not (.src ) {
2028
+ display : grid;
2029
+ grid-template-columns :
2030
+ var (--desktop-sidebar-width )
2031
+ var (--width-limiter-width )
2032
+ minmax (0 , 1fr );
2033
+ grid-template-rows : min-content 1fr ;
2034
+ grid-template-areas :
2035
+ "sidebar-title main sidebar-cratenav"
2036
+ "sidebar-modnav main sidebar-toc" ;
2037
+ grid-column-gap : var (--desktop-grid-column-gap );
2038
+ }
2039
+ .sidebar-resizing .rustdoc : not (.src ) {
2040
+ padding-left : 0 ;
2041
+ }
2042
+ .hide-sidebar .rustdoc : not (.src ) {
2043
+ grid-template-columns :
2044
+ var (--width-limiter-width )
2045
+ minmax (0 , 1fr );
2046
+ grid-template-rows : minmax (min-content, calc (64px + 0.75rem )) 1fr ;
2047
+ grid-template-areas :
2048
+ "main sidebar-cratenav"
2049
+ "main sidebar-toc" ;
2050
+ padding-left : var (--desktop-grid-column-gap );
2051
+ }
2052
+ .rustdoc : not (.src ) .sidebar ,
2053
+ .rustdoc : not (.src ) main {
2054
+ display : contents;
2055
+ }
2056
+ .width-limiter {
2057
+ grid-area : main;
2058
+ width : var (--width-limiter-width );
2059
+ --desktop-sidebar-width : 0 ;
2060
+ }
2061
+ .rustdoc : not (.src ) nav .sub {
2062
+ padding-top : 10px ;
2063
+ }
2064
+ .rustdoc : not (.src ) .doc-sidebar-title {
2065
+ grid-area : sidebar-title;
2066
+ background : var (--sidebar-background-color );
2067
+ position : sticky;
2068
+ top : 0 ;
2069
+ }
2070
+ .rustdoc : not (.src ) .sidebar-crate {
2071
+ margin-bottom : 0.5rem ;
2072
+ }
2073
+ .rustdoc : not (.src ) # rustdoc-toc ,
2074
+ .rustdoc : not (.src ) # rustdoc-cratenav {
2075
+ grid-area : sidebar-toc;
2076
+ background : var (--main-background-color );
2077
+ padding-left : 0 ;
2078
+ }
2079
+ .rustdoc : not (.src ) # rustdoc-cratenav {
2080
+ grid-area : sidebar-cratenav;
2081
+ align-self : middle;
2082
+ }
2083
+ .rustdoc : not (.src ) # rustdoc-modnav {
2084
+ grid-area : sidebar-modnav;
2085
+ background : var (--sidebar-background-color );
2086
+ padding-left : 0 ;
2087
+ }
2088
+ .rustdoc : not (.src ) # rustdoc-modnav .in-crate {
2089
+ display : none;
2090
+ }
2091
+ .rustdoc : not (.src ) # rustdoc-toc section ,
2092
+ .rustdoc : not (.src ) # rustdoc-modnav section {
2093
+ position : sticky;
2094
+ top : 0 ;
2095
+ bottom : 0 ;
2096
+ overflow-y : scroll;
2097
+ overscroll-behavior : contain;
2098
+ max-height : 100vh ;
2099
+ padding-left : 24px ;
2100
+ }
2101
+ .rustdoc : not (.src ) # rustdoc-toc .location ,
2102
+ .rustdoc : not (.src ) # rustdoc-modnav h2 {
2103
+ margin-top : 0 ;
2104
+ }
2105
+ .rustdoc : not (.src ) # rustdoc-modnav section {
2106
+ top : calc (64px + 0.75rem );
2107
+ height : calc (100vh - 64px - 0.75rem );
2108
+ background : var (--sidebar-background-color );
2109
+ }
2110
+ .rustdoc : not (.src ) # rustdoc-modnav section .scrolled {
2111
+ border-top : solid 1px var (--border-color );
2112
+ }
2113
+ .rustdoc : not (.src ) # rustdoc-toc section {
2114
+ max-height : calc (100vh - (2 * var (--desktop-grid-toc-top )));
2115
+ top : var (--desktop-grid-toc-top );
2116
+ margin : 0 var (--desktop-grid-column-gap ) var (--desktop-grid-column-gap ) 0 ;
2117
+ border : solid 1px var (--border-color );
2118
+ padding : 14px 0 14px var (--sidebar-elems-left-padding );
2119
+ border-radius : var (--container-border-radius );
2120
+ max-width : var (--desktop-grid-toc-max-width );
2121
+ }
2122
+ .rustdoc : not (.src ) # rustdoc-cratenav .block : last-child ,
2123
+ .rustdoc : not (.src ) # rustdoc-toc .block : last-child {
2124
+ margin-bottom : 0 ;
2125
+ }
2126
+ .rustdoc : not (.src ) # rustdoc-cratenav a : hover ,
2127
+ .rustdoc : not (.src ) # rustdoc-toc a : hover {
2128
+ background-color : var (--sidebar-background-color );
2129
+ }
2130
+ }
2131
+ }
2132
+
2009
2133
/* Make sure all the buttons line wrap at the same time */
2010
2134
@media (max-width : 850px ) {
2011
2135
# search-tabs .count {
0 commit comments