Guide on making a Vertical Navigation Menu

Check out this menu designed with HTML and CSS. The menu items are currently displayed horizontally, but the submenus use a vertical layout. How can we modify the main menu items to also be arranged vertically?

<ul>
  <li>
    <a>item1</a>
    <ul>
      <li><a>subitem1</a></li>
      <li><a>subitem2</a></li>
      <li><a>subitem3</a></li>
    </ul>
  </li>
</ul>

Answer №1

To make it work as a vertical menu, just make some minor adjustments. If you want to add more style to it, that's also easily achievable.

For a detailed example, check out this fiddle HERE

#menu
{
    width: 120px;/*adjust width*/
}
#menu li
{

    display: block; /*keep it as a block element*/
    }
#menu ul
{

    top: 0; /*make changes here */
    left: 100%; /*make changes here */
}
#menu ul li:first-child > a:after
{
    content: '';
    position: absolute;
    left:-13px; /* adjust this value*/
    top:7px; /* adjust this value*/
    width: 0;
    height: 0;
    border: 5px solid transparent; /* tweak this value*/
    /*border-right: 5px solid transparent;*/ /*this line is not needed*/
    border-right: 8px solid #444; /* modify this value*/
}

#menu ul li:first-child a:hover:after
{
    border-right-color: #04acec;  /* change the color here*/
}

I've included comments on what to specifically modify in order to achieve your desired outcome. Feel free to experiment further!

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Completion status of circle loader: 100%

I am currently facing some challenges getting the circle loader to work correctly. Although I can handle basic animations, the code I found on CodePen is a bit more advanced than what I am used to. I am using it as a learning experience to understand how i ...

Extracting text from a JSON file and populating text fields: A step-by-step guide

Utilizing this JSFIDDLE to duplicate text fields has been quite helpful. I am now looking to create JSON data based on the input from all the text fields. When it comes to updating a page, I need to extract the JSON data and accurately populate the corresp ...

What is the best way to hide the button when a user is viewing their own profile in an Angular application?

Each user has their own profile on the platform. A unique feature allows users to send messages by clicking a button when viewing other profiles. However, an issue arises where this messaging button also appears on a user's own profile. Is there a way ...

Stylishly implementing Bootstrap for input elements within labels

Incorporating an input or a textarea within a label and presenting it inline in a Bootstrap 3 styled form has been a challenge for me. Though the code snippet provided below is merely a sample, my original implementation is more intricate. I aim to ensure ...

Retrieve the value of a dynamically generated input element within a form object

I'm trying to figure out how to reference a dynamic 'name' of an input element in a form. Can anyone help? Here's an example using HTML: <form> <input type="text" name="qty1" value="input1" /> <input type="text ...

Activate a module within a Vuex action only upon dispatching

Is there a way to import a package for use in a Vuex Action only when the Action is dispatched, in order to reduce the size of my entry bundle? Here's what I've tried: export const actions = { async createNewBin(store, bin) { const fireba ...

The Ajax request is failing to function properly

Check out this code snippet I have: var _07votes = $("#07votes"); $(document).ready(function() { setInterval(function() { $.ajax({ url: "http://services.runescape.com/m=poll/retro_ajax_result?callback=?", ...

A helpful guide on how to separate text using Java Script and the "/" character

Just diving into the world of JavaScript and encountering some challenges with splitting text. The string that needs to be split looks like this: mobile)/index.m3u8 The desired output should be: mobile and index.m3u8 I attempted to use .split("&bso ...

Acquiring data from a server using React and Express: Fixing the error "TypeError: Cannot read property '' of undefined"

My challenge lies in parsing a JSON response received from my server within the client-side code. When I make a simple request to my mongoDB server: GET http://localhost:4000/food/ I receive the following response, which consists of an array of objects. ...

The structure becomes disrupted when the Material Ui grid is enclosed within a div container

I currently have a responsive dashboard built with Material Ui's Grid elements. One of the grid items is wrapped in a div element, causing the layout to break. Check out the playground with the div element here: https://codesandbox.io/s/basicgrid-mat ...

I am looking to show images based on the number chosen from the dropdown menu in CodeIgniter

When a number is selected from the dropdown menu, I want to display images accordingly. The options in the dropdown are 9, 12, and 18. Here is the code snippet for my view page: <form action="<?php echo base_url();?>roxcontrol/numberdisplay" id=" ...

Is the user currently browsing the 'Home screen webpage' or using the Safari browser?

In JavaScript, is there a method to determine if the user has accessed the website from their home screen after adding it to their home screen, or if they are browsing via Safari as usual? ...

An error was thrown due to an unexpected end of JSON input while fetching from localhost

After running the code snippet provided, I encountered an Uncaught SyntaxError: Unexpected end of JSON input. As a beginner in coding, any guidance or assistance would be greatly appreciated. Thank you. fetch('http://localhost:3000/add-user', { ...

Sending a POST Request between two websites using JavaScript

I am facing an issue where I need to send a POST request from an application on SERVER1 to another application running on SERVER2. SERVER1: <form name="submitForm" method="POST" action="http://SERVER2:4120/download_item/&qu ...

What's the best way to ensure these have equal heights?

There seems to be a difference in height between the verses at the bottom, and I want each verse next to each other to have equal heights. Here is my current code setup: .verse img { height: 1em; } <h1>PSALM 1</h1> <p> <div> ...

It appears that Promise.all is not adequately ensuring that all tasks are completed before moving on

In my current project, I am trying to achieve a complex cycle where an HTTP GET request is executed to fetch data, followed by the creation of multiple "subrequests" based on that data. The goal is to ensure that the next iteration of the cycle begins only ...

The arrows are hidden when using the input type number

On my page, I noticed that the input of type=number is missing its arrows and appears like a regular text input. After doing some investigating, I think it might be due to this: https://i.stack.imgur.com/G1BrV.png My browser of choice is Google Chrome. D ...

Angular Card Flip Directive and Its Isolated Scope

In my AngularJs project, I am working on a directive to achieve card flipping functionality. Using HTML(Jade) card display | this is sid input.btn.btn-primary(type='submit', value=&apos ...

Determine the combined height of the initial group of elements using jQuery

Is there a way to calculate the total height of the first three elements with the "latest" class in my Angular directive using the Ticker jQuery plugin? <div class="myWrapper" ticker> <div> <div ng-repeat="latest in latests" class="late ...

Retrieve data from an HTML table with the power of jQuery

I have a table with the following structure. <form id="myform"> <table> <tr><th>TEST</th> <th>VALUES</th> <th>UNIT</th> <tr><td>Abc</td><td><input type="text" & ...