Skip to content

Commit 7f7d2a6

Browse files
committed
Add left-positioned dropdown submenu styles
Mark certain dropdowns (Gridmaster, Other Export Options, Third Party Logbooks) with a new dropdown-submenu-left class in header.php so submenus can open to the left. Update general.css to style .dropdown-submenu and .dropdown-submenu-left positioning, refine .navbar .dropdown-menu appearance, and improve dropdown item spacing, hover effects and submenu chevron styling for better alignment and visual consistency (prevents overflow and improves UX).
1 parent f26c112 commit 7f7d2a6

2 files changed

Lines changed: 53 additions & 8 deletions

File tree

application/views/interface_assets/header.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@
171171
<div class="dropdown-divider"></div>
172172
<?php } ?>
173173
<?php if ($user_awards->gridmaster_dl == 1 || $user_awards->gridmaster_lx == 1 || $user_awards->gridmaster_ja == 1 || $user_awards->gridmaster_us == 1 || $user_awards->gridmaster_uk == 1) { ?>
174-
<div class="nav-item dropdown dropdown-submenu" aria-labelledby="navbarDropdown"><a class="dropdown-item dropdown-toggle" href="#"><i class="fas fa-th"></i> Gridmaster</a>
174+
<div class="nav-item dropdown dropdown-submenu dropdown-submenu-left" aria-labelledby="navbarDropdown"><a class="dropdown-item dropdown-toggle" href="#"><i class="fas fa-th"></i> Gridmaster</a>
175175
<ul class="dropdown-menu">
176176
<?php if ($user_awards->gridmaster_dl == 1) { ?>
177177
<li><a class="dropdown-item" href="<?php echo site_url('awards/gridmaster/dl'); ?>"><i class="fas fa-th"></i> <?php echo lang('menu_dl_gridmaster'); ?></a></li>
@@ -381,7 +381,7 @@ function handleKeyPress(event) {
381381

382382
<a class="dropdown-item" href="<?php echo site_url('adif'); ?>" title="Amateur Data Interchange Format (ADIF) import / export"><i class="fas fa-sync-alt"></i> <?php echo lang('menu_adif_import_export'); ?></a>
383383

384-
<div class="nav-item dropdown dropdown-submenu" aria-labelledby="navbarDropdown"><a class="dropdown-item dropdown-toggle" href="#"><i class="fas fa-file-export"></i> Other Export Options</a>
384+
<div class="nav-item dropdown dropdown-submenu dropdown-submenu-left" aria-labelledby="navbarDropdown"><a class="dropdown-item dropdown-toggle" href="#"><i class="fas fa-file-export"></i> Other Export Options</a>
385385
<ul class="dropdown-menu">
386386
<a class="dropdown-item" href="<?php echo site_url('kmlexport'); ?>" title="KML Export for Google Earth"><i class="fas fa-map"></i> <?php echo lang('menu_kml_export'); ?></a>
387387

@@ -393,7 +393,7 @@ function handleKeyPress(event) {
393393
</ul>
394394
</div>
395395

396-
<div class="nav-item dropdown dropdown-submenu" aria-labelledby="navbarDropdown"><a class="dropdown-item dropdown-toggle" href="#"><i class="fas fa-sync"></i> Third Party Logbooks</a>
396+
<div class="nav-item dropdown dropdown-submenu dropdown-submenu-left" aria-labelledby="navbarDropdown"><a class="dropdown-item dropdown-toggle" href="#"><i class="fas fa-sync"></i> Third Party Logbooks</a>
397397
<ul class="dropdown-menu">
398398
<a class="dropdown-item" href="<?php echo site_url('lotw'); ?>" title="Synchronise with Logbook of the World (LoTW)"><i class="fas fa-sync"></i> <?php echo lang('menu_logbook_of_the_world'); ?></a>
399399

assets/css/general.css

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -969,12 +969,57 @@ table.dataTable tfoot td {
969969
}*/
970970

971971
.dropdown-submenu {
972-
position:relative;
972+
position: relative;
973+
}
974+
975+
.dropdown-submenu > .dropdown-menu {
976+
top: 0;
977+
left: 100%;
978+
margin-top: 0;
979+
margin-left: 0.125rem;
980+
}
981+
982+
.dropdown-submenu-left > .dropdown-menu {
983+
left: auto;
984+
right: 100%;
985+
margin-left: 0;
986+
margin-right: 0.125rem;
987+
}
988+
989+
.navbar .dropdown-menu {
990+
padding: 0.35rem 0;
991+
border-radius: 0.5rem;
992+
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
973993
}
974-
.dropdown-submenu>.dropdown-menu {
975-
top:0;
976-
left:50%;
977-
margin-top:30px;
994+
995+
.navbar .dropdown-item {
996+
padding: 0.45rem 1rem;
997+
margin: 0.1rem 0.35rem;
998+
border-radius: 0.35rem;
999+
transition: background-color 120ms ease, color 120ms ease, transform 120ms ease;
1000+
}
1001+
1002+
.navbar .dropdown-item:hover,
1003+
.navbar .dropdown-item:focus {
1004+
background-color: rgba(var(--bs-primary-rgb), 0.12);
1005+
color: var(--bs-primary);
1006+
transform: translateX(2px);
1007+
}
1008+
1009+
.dropdown-submenu > .dropdown-toggle {
1010+
display: flex;
1011+
align-items: center;
1012+
gap: 0.5rem;
1013+
}
1014+
1015+
.dropdown-submenu > .dropdown-toggle::after {
1016+
content: "";
1017+
margin-left: auto;
1018+
border: solid currentColor;
1019+
border-width: 0 0.12rem 0.12rem 0;
1020+
padding: 0.2rem;
1021+
transform: rotate(-45deg);
1022+
opacity: 0.65;
9781023
}
9791024
.dropdown-menu > li > a:hover:after {
9801025
transform: rotate(-90deg);

0 commit comments

Comments
 (0)