Fix header action alignment and language switcher spacing
This commit is contained in:
168
mandelstudio/static/mandelstudio/css/header-overrides.css
Normal file
168
mandelstudio/static/mandelstudio/css/header-overrides.css
Normal file
@@ -0,0 +1,168 @@
|
||||
header .header-inner .container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.75rem;
|
||||
}
|
||||
|
||||
header .page-menu-bar {
|
||||
flex: 1 1 auto;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
header .header-right {
|
||||
flex: 0 0 auto;
|
||||
margin-left: 0.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
header .header-right .language-dropdown,
|
||||
header .header-right .basket-dropdown {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex: 0 0 40px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
min-width: 40px;
|
||||
min-height: 40px;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
header .header-right > a.user-button.menu-circle {
|
||||
flex: 0 0 40px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
min-width: 40px;
|
||||
min-height: 40px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
header .header-right .menu-circle i,
|
||||
header .header-right .menu-circle svg {
|
||||
display: block;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
header .header-right .menu-circle {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: row !important;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
min-width: 40px;
|
||||
min-height: 40px;
|
||||
padding: 0;
|
||||
line-height: 1;
|
||||
align-self: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
header .header-right .dropdown-toggle.nav-link.menu-circle,
|
||||
header .header-right .dropdown-toggle.user-button.menu-circle {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 1460px) and (min-width: 992px) {
|
||||
header .page-menu-bar .navbar-nav > li > a,
|
||||
header .page-menu-bar .navbar-nav > li > span,
|
||||
header .page-menu-bar .navbar-nav > li > button {
|
||||
font-size: 2.15rem;
|
||||
padding-left: 0.7rem;
|
||||
padding-right: 0.7rem;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
header .language-dropdown {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
header .language-dropdown .dropdown-toggle::after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
header .language-dropdown .dropdown-toggle {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: row;
|
||||
gap: 0;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
padding: 0;
|
||||
color: #fff;
|
||||
line-height: 1;
|
||||
transition: transform 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
|
||||
}
|
||||
|
||||
header .language-dropdown .dropdown-toggle:hover,
|
||||
header .language-dropdown .dropdown-toggle:focus-visible {
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 10px 22px rgba(15, 23, 42, 0.18);
|
||||
}
|
||||
|
||||
header .language-dropdown .dropdown-toggle .language-icon,
|
||||
header .language-dropdown .dropdown-toggle .language-chevron {
|
||||
display: block;
|
||||
}
|
||||
|
||||
header .language-dropdown .dropdown-toggle .language-icon {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
font-size: 18px;
|
||||
line-height: 18px;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
header .basket-dropdown .dropdown-toggle svg {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
header .language-dropdown .dropdown-toggle .language-chevron {
|
||||
display: none;
|
||||
}
|
||||
|
||||
header .language-dropdown .dropdown-toggle.show .language-chevron {
|
||||
transform: rotate(180deg);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
header .language-dropdown .dropdown-menu {
|
||||
min-width: 15rem;
|
||||
padding: 0.5rem;
|
||||
border-radius: 0.9rem;
|
||||
border: 1px solid rgba(15, 23, 42, 0.08);
|
||||
box-shadow: 0 16px 44px rgba(15, 23, 42, 0.18);
|
||||
}
|
||||
|
||||
header .language-dropdown .dropdown-menu .dropdown-item {
|
||||
border-radius: 0.65rem;
|
||||
padding: 0.55rem 0.7rem;
|
||||
font-weight: 600;
|
||||
color: #0f172a;
|
||||
transition: background-color 120ms ease, color 120ms ease;
|
||||
}
|
||||
|
||||
header .language-dropdown .dropdown-menu .dropdown-item:hover,
|
||||
header .language-dropdown .dropdown-menu .dropdown-item:focus-visible {
|
||||
background: rgba(2, 132, 199, 0.1);
|
||||
color: #0b5aa3;
|
||||
}
|
||||
|
||||
header .language-dropdown .dropdown-menu svg {
|
||||
width: 1.35rem;
|
||||
height: auto;
|
||||
border-radius: 0.2rem;
|
||||
box-shadow: 0 1px 0 rgba(15, 23, 42, 0.06);
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
@@ -15,6 +15,7 @@
|
||||
{{ block.super }}
|
||||
{# Ensure Carbasa webshop styling is present so responsive header/footer render correctly. #}
|
||||
<link rel="stylesheet" type="text/x-scss" href="{% static 'carbasa/webshop_base.scss' %}">
|
||||
<link rel="stylesheet" href="{% static 'mandelstudio/css/header-overrides.css' %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block extrahead %}
|
||||
@@ -25,69 +26,6 @@
|
||||
<link rel="preconnect" href="https://www.google-analytics.com/">
|
||||
{% endif %}
|
||||
{{ block.super }}
|
||||
<style>
|
||||
header .language-dropdown .dropdown-toggle::after { display: none; }
|
||||
header .language-dropdown .dropdown-toggle {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
gap: 1px;
|
||||
color: #fff;
|
||||
line-height: 1;
|
||||
transition: transform 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
|
||||
}
|
||||
header .language-dropdown .dropdown-toggle:hover,
|
||||
header .language-dropdown .dropdown-toggle:focus-visible {
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 10px 22px rgba(15, 23, 42, .18);
|
||||
}
|
||||
header .language-dropdown .dropdown-toggle .language-icon,
|
||||
header .language-dropdown .dropdown-toggle .language-chevron {
|
||||
display: block;
|
||||
}
|
||||
header .language-dropdown .dropdown-toggle .language-icon {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
header .language-dropdown .dropdown-toggle .language-chevron {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
opacity: .9;
|
||||
transition: transform 120ms ease, opacity 120ms ease;
|
||||
}
|
||||
header .language-dropdown .dropdown-toggle.show .language-chevron {
|
||||
transform: rotate(180deg);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
header .language-dropdown .dropdown-menu {
|
||||
min-width: 15rem;
|
||||
padding: .5rem;
|
||||
border-radius: 0.9rem;
|
||||
border: 1px solid rgba(15, 23, 42, .08);
|
||||
box-shadow: 0 16px 44px rgba(15, 23, 42, .18);
|
||||
}
|
||||
header .language-dropdown .dropdown-menu .dropdown-item {
|
||||
border-radius: .65rem;
|
||||
padding: .55rem .7rem;
|
||||
font-weight: 600;
|
||||
color: #0f172a;
|
||||
transition: background-color 120ms ease, color 120ms ease;
|
||||
}
|
||||
header .language-dropdown .dropdown-menu .dropdown-item:hover,
|
||||
header .language-dropdown .dropdown-menu .dropdown-item:focus-visible {
|
||||
background: rgba(2, 132, 199, .10);
|
||||
color: #0b5aa3;
|
||||
}
|
||||
header .language-dropdown .dropdown-menu svg {
|
||||
width: 1.35rem;
|
||||
height: auto;
|
||||
border-radius: .2rem;
|
||||
box-shadow: 0 1px 0 rgba(15, 23, 42, .06);
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
</style>
|
||||
{% if cookie_jar.needs_approval %}
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'cookie_jar/css/cookie_jar.css' %}">
|
||||
{% endif %}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
{% get_available_languages as available_languages %}
|
||||
{% get_language_info_list for available_languages as languages %}
|
||||
|
||||
<div class="dropdown language-dropdown me-2">
|
||||
<div class="dropdown language-dropdown">
|
||||
<button
|
||||
type="button"
|
||||
class="dropdown-toggle user-button menu-circle"
|
||||
@@ -14,14 +14,7 @@
|
||||
aria-expanded="false"
|
||||
aria-label="{% trans 'Language switcher' %}"
|
||||
>
|
||||
<svg class="language-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" aria-hidden="true" focusable="false">
|
||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="9" />
|
||||
<path d="M3 12h18" />
|
||||
<path d="M12 3c3 3.5 3 14.5 0 18" />
|
||||
<path d="M12 3c-3 3.5-3 14.5 0 18" />
|
||||
</g>
|
||||
</svg>
|
||||
<i class="fa fa-globe language-icon" aria-hidden="true"></i>
|
||||
<svg class="language-chevron" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="10" height="10" aria-hidden="true" focusable="false">
|
||||
<path d="M5 7.5 10 12.5 15 7.5" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
</svg>
|
||||
@@ -29,13 +22,15 @@
|
||||
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="header-language-switcher">
|
||||
{% for language in languages %}
|
||||
<li>
|
||||
<a
|
||||
class="dropdown-item d-flex align-items-center gap-2"
|
||||
href="{% if language.code == 'nl' %}/{% else %}/{{ language.code }}/{% endif %}"
|
||||
>
|
||||
{% include "oxyan/partials/flags/"|add:language.code|add:".svg" %}
|
||||
<span>{{ language.name_local|title }}</span>
|
||||
</a>
|
||||
<form action="{% url 'set_language' %}" method="post" class="m-0">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="language" value="{{ language.code }}">
|
||||
<input type="hidden" name="next" value="{% if language.code == 'nl' %}/{% else %}/{{ language.code }}/{% endif %}">
|
||||
<button type="submit" class="dropdown-item d-flex align-items-center gap-2">
|
||||
{% include "oxyan/partials/flags/"|add:language.code|add:".svg" %}
|
||||
<span>{{ language.name_local|title }}</span>
|
||||
</button>
|
||||
</form>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user