search
HomeWeb Front-endCSS TutorialThree CSS Alternatives to JavaScript Navigation

Three CSS Alternatives to JavaScript Navigation

In website navigation design, are you used to using JavaScript to implement hamburger menus? In fact, there are simpler and easier to access alternatives. This article will introduce three navigation modes without JavaScript to improve user experience and enhance website accessibility.

Follow the principle of gradual enhancement, prioritize building web pages for users who use old versions or weaker technologies, and then gradually add enhanced functions. If the basic technology can provide a quality experience, you don't need to rely on JavaScript. Avoiding JavaScript in navigation ensures that users can still browse the website normally even if JavaScript is disabled or if the script fails to load due to network problems.

Let's take a look at three alternatives to the JavaScript burger menu:

Alternative Solution 1: Independent Menu Page

Navigation does not have to always be at the head of each page. For situations where front-end lightweight websites or more navigation projects are available, it may be more practical to create a separate page to list all navigation links. WordPress theme Susty adopts this approach.

This mode is especially suitable for static websites that use file system routing. If the project is built using a static website generator, the page may be loading faster than the user can detect, and the templates are also more modular.

Just replace the Menu button with the Close button. There are several ways to bring the user back to the previous page when clicking the Close button. If you use a server-side CMS (such as WordPress), you can use $_SERVER['HTTP_REFERER'] to get the previous URL and set it to the URL of the Close button.

But if the server-side settings are not used, several lines of JavaScript code may be required to get the previous URL.

 <code><a href="https://www.php.cn/link/61c68ac879a7ec23b78912aa04f59d78" onclick="handleClick(event)">×</a> function handleClick(event) { event.preventDefault(); window.history.back(); return false; }</code>

So while this approach and pattern are good, specific projects may require JavaScript.

Alternative Two: Horizontal Rolling

This method is suitable for situations where the link list is short, and users can access all navigation items without opening anything or leaving the current page. GitHub uses this method in its submenu.

Just use a combination of scroll overflow in flexbox and CSS!

Alternative Three: Pure CSS burger menu

The hamburger menu mode usually uses JavaScript, but this is not necessary. Using CSS pseudo-selectors and HTML, you can create a rich mobile menu and use JavaScript for other features that really require it.

It can be seen that popular conventions do not mean that they are the only way. There are often easier and easier access methods, especially when it comes to navigation. Creating JavaScript-free functional, lightweight, immersive navigation is effortless and has some extra benefits. If you have created any interesting pure CSS navigation mode, please share it in the comments!

The above is the detailed content of Three CSS Alternatives to JavaScript Navigation. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Iterating a React Design with Styled ComponentsIterating a React Design with Styled ComponentsApr 21, 2025 am 11:29 AM

In a perfect world, our projects would have unlimited resources and time. Our teams would begin coding with well thought out and highly refined UX designs.

Oh, the Many Ways to Make Triangular Breadcrumb Ribbons!Oh, the Many Ways to Make Triangular Breadcrumb Ribbons!Apr 21, 2025 am 11:26 AM

Oh, the Many Ways to Make Triangular Breadcrumb Ribbons

SVG Properties in CSS GuideSVG Properties in CSS GuideApr 21, 2025 am 11:21 AM

SVG has its own set of elements, attributes and properties to the extent that inline SVG code can get long and complex. By leveraging CSS and some of the forthcoming features of the SVG 2 specification, we can reduce that code for cleaner markup.

A Few Functional Uses for Intersection Observer to Know When an Element is in ViewA Few Functional Uses for Intersection Observer to Know When an Element is in ViewApr 21, 2025 am 11:19 AM

You might not know this, but JavaScript has stealthily accumulated quite a number of observers in recent times, and Intersection Observer is a part of that

Revisting prefers-reduced-motionRevisting prefers-reduced-motionApr 21, 2025 am 11:18 AM

We may not need to throw out all CSS animations. Remember, it’s prefers-reduced-motion, not prefers-no-motion.

How to Get a Progressive Web App into the Google Play StoreHow to Get a Progressive Web App into the Google Play StoreApr 21, 2025 am 11:10 AM

PWA (Progressive Web Apps) have been with us for some time now. Yet, each time I try explaining it to clients, the same question pops up: "Will my users be

The Simplest Ways to Handle HTML IncludesThe Simplest Ways to Handle HTML IncludesApr 21, 2025 am 11:09 AM

It's extremely surprising to me that HTML has never had any way to include other HTML files within it. Nor does there seem to be anything on the horizon that

Change Color of SVG on HoverChange Color of SVG on HoverApr 21, 2025 am 11:04 AM

There are a lot of different ways to use SVG. Depending on which way, the tactic for recoloring that SVG in different states or conditions — :hover,

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools