Skip to content

Commit ed76cbf

Browse files
committed
style: improve scrollbar styling on the version dropdown
1 parent 33f1b1a commit ed76cbf

2 files changed

Lines changed: 51 additions & 34 deletions

File tree

static/css/v3/header.css

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,11 @@ html.dark .header__icon--theme-moon {
310310
width: 16px;
311311
height: 16px;
312312
flex-shrink: 0;
313+
transition: transform 0.2s ease;
314+
}
315+
316+
.header__version-toggle:checked ~ .header__version-trigger .header__icon--chevron {
317+
transform: rotate(180deg);
313318
}
314319

315320
.header__version-dropdown {
@@ -322,14 +327,20 @@ html.dark .header__icon--theme-moon {
322327
flex-direction: column;
323328
width: max-content;
324329
min-width: 100%;
325-
max-height: calc(var(--dropdown-item-height) * 7); /* Show up to 7 items, then scroll */
326-
overflow-y: auto;
327330
border-radius: var(--header-radius);
328331
border: 1px solid var(--color-stroke-weak);
329332
background: var(--color-surface-weak);
333+
overflow: hidden;
334+
z-index: 1000;
335+
}
336+
337+
.header__version-dropdown-scroll {
338+
display: flex;
339+
flex-direction: column;
340+
max-height: calc(var(--dropdown-item-height) * 7); /* Show up to 7 items, then scroll */
341+
overflow-y: auto;
330342
scrollbar-width: thin;
331343
scrollbar-color: var(--color-icon-primary) var(--color-surface-strong);
332-
z-index: 1000;
333344
}
334345

335346
.header__version-dropdown .header__version-option {
@@ -339,7 +350,7 @@ html.dark .header__icon--theme-moon {
339350
width: 100%;
340351
height: var(--dropdown-item-height);
341352
padding: 0 var(--space-large);
342-
border: none;
353+
border-bottom: 1px solid var(--color-stroke-mid);
343354
border-radius: 0;
344355
background: transparent;
345356
font-family: var(--font-sans);
@@ -353,6 +364,10 @@ html.dark .header__icon--theme-moon {
353364
transition: background-color 0.1s ease, color 0.1s ease;
354365
}
355366

367+
.header__version-dropdown .header__version-option:last-child {
368+
border-bottom: none;
369+
}
370+
356371
.header__version-dropdown .header__version-option + .header__version-option {
357372
border-top: 1px solid var(--color-stroke-subtle);
358373
}

templates/v3/includes/header/_header_version_dropdown.html

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -37,41 +37,43 @@
3737
<div id="{{ version_menu_id }}-dropdown"
3838
role="group"
3939
class="header__version-dropdown">
40-
{% if selected_version_is_url_driven %}
41-
{% if latest_href %}
42-
<a href="{{ latest_href }}"
43-
class="header__version-option"
44-
{% if not selected_version_is_non_latest %}aria-current="true"{% endif %}>Latest</a>
45-
{% endif %}
46-
{% for v in version_dropdown_options %}
47-
{% if v.href %}
48-
<a href="{{ v.href }}"
40+
<div class="header__version-dropdown-scroll">
41+
{% if selected_version_is_url_driven %}
42+
{% if latest_href %}
43+
<a href="{{ latest_href }}"
4944
class="header__version-option"
50-
{% if selected_version_is_non_latest and selected_version and v.slug == selected_version.slug %}aria-current="true"{% endif %}>
51-
{{ v.display_name }}
52-
</a>
45+
{% if not selected_version_is_non_latest %}aria-current="true"{% endif %}>Latest</a>
5346
{% endif %}
54-
{% endfor %}
55-
{% else %}
56-
<form method="post"
57-
action="{% url 'set-version' %}"
58-
class="header__version-form">
59-
{% csrf_token %}
60-
<button type="submit"
61-
name="version"
62-
value="latest"
63-
class="header__version-option"
64-
{% if not selected_version_is_non_latest %}aria-current="true"{% endif %}>Latest</button>
6547
{% for v in version_dropdown_options %}
48+
{% if v.href %}
49+
<a href="{{ v.href }}"
50+
class="header__version-option"
51+
{% if selected_version_is_non_latest and selected_version and v.slug == selected_version.slug %}aria-current="true"{% endif %}>
52+
{{ v.display_name }}
53+
</a>
54+
{% endif %}
55+
{% endfor %}
56+
{% else %}
57+
<form method="post"
58+
action="{% url 'set-version' %}"
59+
class="header__version-form">
60+
{% csrf_token %}
6661
<button type="submit"
6762
name="version"
68-
value="{{ v.slug }}"
63+
value="latest"
6964
class="header__version-option"
70-
{% if selected_version_is_non_latest and selected_version and v.slug == selected_version.slug %}aria-current="true"{% endif %}>
71-
{{ v.display_name }}
72-
</button>
73-
{% endfor %}
74-
</form>
75-
{% endif %}
65+
{% if not selected_version_is_non_latest %}aria-current="true"{% endif %}>Latest</button>
66+
{% for v in version_dropdown_options %}
67+
<button type="submit"
68+
name="version"
69+
value="{{ v.slug }}"
70+
class="header__version-option"
71+
{% if selected_version_is_non_latest and selected_version and v.slug == selected_version.slug %}aria-current="true"{% endif %}>
72+
{{ v.display_name }}
73+
</button>
74+
{% endfor %}
75+
</form>
76+
{% endif %}
77+
</div>
7678
</div>
7779
</div>

0 commit comments

Comments
 (0)