mirror of
https://github.com/WatchOutNewsAgency/wona.github.com.git
synced 2026-01-01 01:16:26 +00:00
fix(bug): navigation component position
This commit is contained in:
@ -8,6 +8,15 @@
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<!-- Mobile toggle button -->
|
||||
<button type="button" class="navbar-toggle" id="mobile-menu-toggle">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
|
||||
<div class="social pull-right">
|
||||
<a href="/about">About</a>
|
||||
<a href="/guide">Guide</a>
|
||||
@ -16,6 +25,28 @@
|
||||
<a href="https://www.youtube.com/channel/UCthZ7tKOzy4EJpuVxtdcp1A"><img src="/images/youtube-play.svg"></a>
|
||||
<a href="mailto:watchout@iitr.ac.in"><img src="/images/email.png" width="16px"></a>
|
||||
</div>
|
||||
|
||||
<!-- Mobile navigation menu -->
|
||||
<div class="mobile-nav" id="mobile-nav">
|
||||
<ul class="nav">
|
||||
{% for cat in site.data.categories %}
|
||||
{% if cat.subcategories != nil %}
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-category="{{ cat.name }}">{{ cat.title }}</a>
|
||||
<ul class="dropdown-menu">
|
||||
{% for subcat in cat.subcategories %}
|
||||
{% if site.categories[subcat.name] != nil %}
|
||||
<li><a href="/category/{{ subcat.name }}/">{{ subcat.title }}</a></li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% elsif site.categories[cat.name] != nil%}
|
||||
<li><a href="/category/{{ cat.name }}/">{{ cat.title }}</a></li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<nav class="navbar navbar-default" data-spy="affix" data-offset-top="110">
|
||||
@ -54,3 +85,44 @@
|
||||
<!--/.nav-collapse -->
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Mobile Navigation JavaScript -->
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Mobile menu toggle functio
|
||||
const mobileToggle = document.getElementById('mobile-menu-toggle');
|
||||
const mobileNav = document.getElementById('mobile-nav');
|
||||
|
||||
if (mobileToggle && mobileNav) {
|
||||
mobileToggle.addEventListener('click', function() {
|
||||
mobileNav.classList.toggle('show');
|
||||
});
|
||||
}
|
||||
|
||||
// Mobile dropdown functionality
|
||||
const dropdownToggles = document.querySelectorAll('.mobile-nav .dropdown-toggle');
|
||||
dropdownToggles.forEach(function(toggleBtn) {
|
||||
toggleBtn.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
const dropdown = this.parentElement;
|
||||
|
||||
// Close other open dropdowns jab some other dropdown is clicked
|
||||
const otherDropdowns = document.querySelectorAll('.mobile-nav .dropdown.open');
|
||||
otherDropdowns.forEach(function(otherDropdown) {
|
||||
if (otherDropdown !== dropdown) {
|
||||
otherDropdown.classList.remove('open');
|
||||
}
|
||||
});
|
||||
|
||||
dropdown.classList.toggle('open');
|
||||
});
|
||||
});
|
||||
|
||||
// Close mobile menu when clicking outside
|
||||
document.addEventListener('click', function(e) {
|
||||
if (mobileNav && !mobileNav.contains(e.target) && !mobileToggle.contains(e.target)) {
|
||||
mobileNav.classList.remove('show');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
155
css/mobile.css
155
css/mobile.css
@ -15,7 +15,9 @@
|
||||
/* Pre-nav and Navigation */
|
||||
.pre-nav, .pre-footer {
|
||||
height: auto;
|
||||
min-height: 80px;
|
||||
padding: 15px 0;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.pre-nav .brand,
|
||||
@ -52,7 +54,133 @@
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
/* Navbr */
|
||||
/* Mobile Toggle Button Styles */
|
||||
.navbar-toggle {
|
||||
position: absolute;
|
||||
right: 15px;
|
||||
top: 25px;
|
||||
transform: translateY(-50%);
|
||||
border: 1px solid #ddd;
|
||||
background-color: transparent;
|
||||
padding: 4px 6px;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.navbar-toggle:hover,
|
||||
.navbar-toggle:focus {
|
||||
background-color: #f5f5f5;
|
||||
border-color: #bbb;
|
||||
}
|
||||
|
||||
.navbar-toggle .icon-bar {
|
||||
display: block;
|
||||
width: 22px;
|
||||
height: 2px;
|
||||
background-color: #888;
|
||||
border-radius: 1px;
|
||||
margin: 4px 0;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
/* Hide original navbar on mobile */
|
||||
.navbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Mobile Navigation Menu Styles */
|
||||
.mobile-nav {
|
||||
display: none;
|
||||
margin-top: 10px;
|
||||
border-top: 1px solid #e5e5e5;
|
||||
padding-top: 15px;
|
||||
clear: both;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mobile-nav.show {
|
||||
display: block;
|
||||
animation: slideDown 0.3s ease-out;
|
||||
}
|
||||
|
||||
@keyframes slideDown {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(-10px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
.mobile-nav ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.mobile-nav li {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.mobile-nav a {
|
||||
display: block;
|
||||
padding: 12px 15px;
|
||||
text-decoration: none;
|
||||
color: #333;
|
||||
border-bottom: 1px solid #eee;
|
||||
transition: background-color 0.2s ease;
|
||||
}
|
||||
|
||||
.mobile-nav a:hover {
|
||||
background-color: #f5f5f5;
|
||||
text-decoration: none;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
/* Mobile Dropdown Styles */
|
||||
.mobile-nav .dropdown-menu {
|
||||
position: static;
|
||||
display: none;
|
||||
float: none;
|
||||
width: auto;
|
||||
margin-top: 0;
|
||||
background-color: #f9f9f9;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
box-shadow: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.mobile-nav .dropdown.open .dropdown-menu {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.mobile-nav .dropdown-menu a {
|
||||
padding-left: 30px;
|
||||
background-color: #f9f9f9;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.mobile-nav .dropdown-menu a:hover {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
|
||||
.mobile-nav .dropdown-toggle::after {
|
||||
content: ' ▼';
|
||||
font-size: 10px;
|
||||
float: right;
|
||||
margin-top: 2px;
|
||||
transition: transform 0.2s ease;
|
||||
}
|
||||
|
||||
.mobile-nav .dropdown.open .dropdown-toggle::after {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
/* Navbar */
|
||||
.navbar-nav {
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
@ -313,7 +441,7 @@
|
||||
h5 { font-size: 14px; }
|
||||
h6 { font-size: 13px; }
|
||||
|
||||
|
||||
/* Remove margins and padding that cause horizontal scroll */
|
||||
.row {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
@ -374,4 +502,27 @@
|
||||
.pre-nav .name-container .desc {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
/* Adjust togge button for smaller screens */
|
||||
.navbar-toggle {
|
||||
right: 10px;
|
||||
padding: 3px 5px;
|
||||
}
|
||||
|
||||
.navbar-toggle .icon-bar {
|
||||
width: 18px;
|
||||
height: 2px;
|
||||
margin: 3px 0;
|
||||
}
|
||||
|
||||
/* Mobile nav adjustments for small screensss */
|
||||
.mobile-nav a {
|
||||
padding: 10px 12px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.mobile-nav .dropdown-menu a {
|
||||
padding-left: 25px;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user