diff --git a/src/librustdoc/html/static/css/rustdoc.css b/src/librustdoc/html/static/css/rustdoc.css
index cbb078f2ab3..e5c667a37c6 100644
--- a/src/librustdoc/html/static/css/rustdoc.css
+++ b/src/librustdoc/html/static/css/rustdoc.css
@@ -2007,6 +2007,16 @@ details.rustdoc-toggle[open] > summary.hideme::after {
max-width: 100vw;
width: 100vw;
}
+
+ /* Position of the "[-]" element. */
+ details.rustdoc-toggle:not(.top-doc) > summary {
+ margin-left: 10px;
+ }
+ .impl-items > details.rustdoc-toggle > summary:not(.hideme)::before,
+ #main-content > details.rustdoc-toggle:not(.top-doc) > summary::before,
+ #main-content > div > details.rustdoc-toggle > summary::before {
+ left: -11px;
+ }
}
@media print {
diff --git a/src/test/rustdoc-gui/toggle-docs-mobile.goml b/src/test/rustdoc-gui/toggle-docs-mobile.goml
index 471d88701d4..b370dd012fa 100644
--- a/src/test/rustdoc-gui/toggle-docs-mobile.goml
+++ b/src/test/rustdoc-gui/toggle-docs-mobile.goml
@@ -9,6 +9,16 @@ assert-attribute: (".top-doc", {"open": ""})
click: (3, 280)
assert-attribute: (".top-doc", {"open": ""})
+// Assert the position of the toggle on the top doc block.
+assert-position: (".top-doc summary::before", {"x": 4})
+// Assert the position of the toggle on the impl block.
+assert-position: ("#implementations + details > summary::before", {"x": 4})
+// Assert the position of the toggle on a method.
+assert-position: (
+ "#trait-implementations-list .impl-items .method-toggle > summary::before",
+ {"x": 4},
+)
+
// Now we do the same but with a little bigger width
size: (600, 600)
assert-attribute: (".top-doc", {"open": ""})