Rollup merge of #103164 - notriddle:notriddle/media-min-width, r=GuillaumeGomez
rustdoc: remove CSS `@media (min-width: 701px)` The two rules within it can and should be done without the separate media query: * There ain't no rule saying a viewport can't be `700.5px` wide, since hardware pixels can be finer than CSS pixels. <details><summary>Screenshot</summary> ![image](https://user-images.githubusercontent.com/1593513/196283804-e946fbe3-d914-4819-ba2d-b4a6a07f190a.png) </details> * The rule for the first example-wrap child should probably apply on mobile. <details><summary>Screenshots</summary> ## Before ![rustdoc-before](https://user-images.githubusercontent.com/1593513/196282813-88b861c7-7b05-4de5-a421-914396f86a04.png) ## After ![rustdoc-after](https://user-images.githubusercontent.com/1593513/196282842-e57760c2-72d5-4dad-94f5-1d7175043326.png) </details> * The rule for the source sidebar is overriden by the mobile rule setting `max-width: 100vw`, so it can be merged with the rest of the styles.
This commit is contained in:
commit
2ae06ca329
@ -437,6 +437,7 @@ img {
|
|||||||
|
|
||||||
.source-sidebar-expanded .source .sidebar {
|
.source-sidebar-expanded .source .sidebar {
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
width: 300px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.source-sidebar-expanded .source .sidebar > *:not(#sidebar-toggle) {
|
.source-sidebar-expanded .source .sidebar > *:not(#sidebar-toggle) {
|
||||||
@ -1692,31 +1693,20 @@ details.rustdoc-toggle[open] > summary.hideme::after {
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Media Queries */
|
/* In case there is no documentation before a code block, we need to add some margin at the top
|
||||||
|
to prevent an overlay between the "collapse toggle" and the information tooltip.
|
||||||
/*
|
However, it's not needed with smaller screen width because the doc/code block is always put
|
||||||
WARNING: RUSTDOC_MOBILE_BREAKPOINT MEDIA QUERY;
|
"one line" below. */
|
||||||
If you update this line, then you also need to update the line with the same warning
|
.docblock > .example-wrap:first-child .tooltip {
|
||||||
in storage.js plus the media query with (max-width: 700px)
|
|
||||||
*/
|
|
||||||
@media (min-width: 701px) {
|
|
||||||
/* In case there is no documentation before a code block, we need to add some margin at the top
|
|
||||||
to prevent an overlay between the "collapse toggle" and the information tooltip.
|
|
||||||
However, it's not needed with smaller screen width because the doc/code block is always put
|
|
||||||
"one line" below. */
|
|
||||||
.docblock > .example-wrap:first-child .tooltip {
|
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
}
|
|
||||||
|
|
||||||
.source-sidebar-expanded .source .sidebar {
|
|
||||||
width: 300px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Media Queries */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
WARNING: RUSTDOC_MOBILE_BREAKPOINT MEDIA QUERY
|
WARNING: RUSTDOC_MOBILE_BREAKPOINT MEDIA QUERY
|
||||||
If you update this line, then you also need to update the line with the same warning
|
If you update this line, then you also need to update the line with the same warning
|
||||||
in storage.js plus the media query with (min-width: 701px)
|
in storage.js
|
||||||
*/
|
*/
|
||||||
@media (max-width: 700px) {
|
@media (max-width: 700px) {
|
||||||
/* When linking to an item with an `id` (for instance, by clicking a link in the sidebar,
|
/* When linking to an item with an `id` (for instance, by clicking a link in the sidebar,
|
||||||
|
@ -737,7 +737,7 @@ function loadCss(cssFileName) {
|
|||||||
|
|
||||||
window.rustdocMobileScrollLock = function() {
|
window.rustdocMobileScrollLock = function() {
|
||||||
const mobile_topbar = document.querySelector(".mobile-topbar");
|
const mobile_topbar = document.querySelector(".mobile-topbar");
|
||||||
if (window.innerWidth < window.RUSTDOC_MOBILE_BREAKPOINT) {
|
if (window.innerWidth <= window.RUSTDOC_MOBILE_BREAKPOINT) {
|
||||||
// This is to keep the scroll position on mobile.
|
// This is to keep the scroll position on mobile.
|
||||||
oldSidebarScrollPosition = window.scrollY;
|
oldSidebarScrollPosition = window.scrollY;
|
||||||
document.body.style.width = `${document.body.offsetWidth}px`;
|
document.body.style.width = `${document.body.offsetWidth}px`;
|
||||||
@ -783,7 +783,7 @@ function loadCss(cssFileName) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
window.addEventListener("resize", () => {
|
window.addEventListener("resize", () => {
|
||||||
if (window.innerWidth >= window.RUSTDOC_MOBILE_BREAKPOINT &&
|
if (window.innerWidth > window.RUSTDOC_MOBILE_BREAKPOINT &&
|
||||||
oldSidebarScrollPosition !== null) {
|
oldSidebarScrollPosition !== null) {
|
||||||
// If the user opens the sidebar in "mobile" mode, and then grows the browser window,
|
// If the user opens the sidebar in "mobile" mode, and then grows the browser window,
|
||||||
// we need to switch away from mobile mode and make the main content area scrollable.
|
// we need to switch away from mobile mode and make the main content area scrollable.
|
||||||
|
@ -10,9 +10,9 @@ window.currentTheme = document.getElementById("themeStyle");
|
|||||||
window.mainTheme = document.getElementById("mainThemeStyle");
|
window.mainTheme = document.getElementById("mainThemeStyle");
|
||||||
|
|
||||||
// WARNING: RUSTDOC_MOBILE_BREAKPOINT MEDIA QUERY
|
// WARNING: RUSTDOC_MOBILE_BREAKPOINT MEDIA QUERY
|
||||||
// If you update this line, then you also need to update the two media queries with the same
|
// If you update this line, then you also need to update the media query with the same
|
||||||
// warning in rustdoc.css
|
// warning in rustdoc.css
|
||||||
window.RUSTDOC_MOBILE_BREAKPOINT = 701;
|
window.RUSTDOC_MOBILE_BREAKPOINT = 700;
|
||||||
|
|
||||||
const settingsDataset = (function() {
|
const settingsDataset = (function() {
|
||||||
const settingsElement = document.getElementById("default-settings");
|
const settingsElement = document.getElementById("default-settings");
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
// This test ensures that the mobile sidebar preserves scroll position.
|
// This test ensures that the mobile sidebar preserves scroll position.
|
||||||
goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
|
goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
|
||||||
// Switching to "mobile view" by reducing the width to 600px.
|
// Switching to "mobile view" by reducing the width to 600px.
|
||||||
size: (600, 600)
|
size: (700, 600)
|
||||||
assert-css: (".sidebar", {"display": "block", "left": "-1000px"})
|
assert-css: (".sidebar", {"display": "block", "left": "-1000px"})
|
||||||
|
|
||||||
// Scroll down.
|
// Scroll down.
|
||||||
scroll-to: "//h2[@id='blanket-implementations']"
|
scroll-to: "//h2[@id='blanket-implementations']"
|
||||||
assert-window-property: {"pageYOffset": "651"}
|
assert-window-property: {"pageYOffset": "627"}
|
||||||
|
|
||||||
// Open the sidebar menu.
|
// Open the sidebar menu.
|
||||||
click: ".sidebar-menu-toggle"
|
click: ".sidebar-menu-toggle"
|
||||||
@ -21,11 +21,11 @@ assert-window-property: {"pageYOffset": "0"}
|
|||||||
// Close the sidebar menu. Make sure the scroll position gets restored.
|
// Close the sidebar menu. Make sure the scroll position gets restored.
|
||||||
click: ".sidebar-menu-toggle"
|
click: ".sidebar-menu-toggle"
|
||||||
wait-for-css: (".sidebar", {"left": "-1000px"})
|
wait-for-css: (".sidebar", {"left": "-1000px"})
|
||||||
assert-window-property: {"pageYOffset": "651"}
|
assert-window-property: {"pageYOffset": "627"}
|
||||||
|
|
||||||
// Now test that scrollability returns when the browser window is just resized.
|
// Now test that scrollability returns when the browser window is just resized.
|
||||||
click: ".sidebar-menu-toggle"
|
click: ".sidebar-menu-toggle"
|
||||||
wait-for-css: (".sidebar", {"left": "0px"})
|
wait-for-css: (".sidebar", {"left": "0px"})
|
||||||
assert-window-property: {"pageYOffset": "0"}
|
assert-window-property: {"pageYOffset": "0"}
|
||||||
size: (900, 600)
|
size: (900, 600)
|
||||||
assert-window-property: {"pageYOffset": "651"}
|
assert-window-property: {"pageYOffset": "627"}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user