Utilizing the dynamic nth-child selection feature in CSS

There is an element in this code snippet:

<div>
<li>
item 1
</li>
<li>
item 2
</li>
<li>
item 3
</li>
<li>
item 4
</li>
</div>

I always want to display the first two items, so I used the following CSS:

li {
  &:nth-child(1),
  &:nth-child(2) {
    display: none;
  }
}

However, if another item gets added, then the visible items will be the last two. Is there a way to always show only two items? Do I need to modify my CSS?

Answer №1

Initially, the term li signifies 'list-item', therefore it is only applicable within a list (ol or ul). In this case, I have adjusted the div to be an ul (unordered list) element.

Furthermore, your current code consistently hides the first two elements, despite your intention to always display them. To achieve this, begin by defaulting to hiding all li elements using display: none, and then only displaying the first two with display: block:

li {
  display: none;
}

li:nth-child(1), li:nth-child(2) {
  display: block;
}
<ul>
  <li>item 1</li>
  <li>item 2</li>
  <li>item 3</li>
  <li>item 4</li>
</ul>

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

Combine values in CSS without any spacing

Currently, I am attempting to create a LESS mixin that can take a numerical value (degrees for rotation) and generate the appropriate CSS code to rotate an element. However, I am facing difficulties trying to handle both "270deg" and the integer "3" (which ...

Retrieve the ultimate content of a text field when a key is pressed, only if the click action is permitted to proceed

Is there a method to prevent users from entering certain characters into a text box based on the resulting text in the textbox? One possible approach is outlined below: <input type="text" id="test" /> document.getElementById(&qu ...

Create a button that matches the dimensions of the background image

I am working with a form that includes a submit button featuring a background image. <button type="button" class="button" alt="Send" onclick="validate_form_newsletter_wide( form )"></button> Everything works well when I define the dimensions ...

Increasing a numerical value in JavaScript

When inputting a prefix of 'A' and a value of 10, the desired result should be A1 to A10. However, in my current code, it is producing the output as 10A1 instead of just A1 to A10. Any assistance with this issue would be greatly appreciated. Apol ...

"Enhanced interactivity: Hover effects and selection states on an image map

Hello there, I need assistance with my code. Here it is: <img id="body_image" usemap="#body_map" src="assets/images/body.jpg" alt=""> <map name="body_map"> <area shape="poly" alt="d" href="#body_chart" name="ad" coords="153, 153, 145, 1 ...

Fade effects on hover with a changing background color

Here is the CSS code to be used: #onec-fourth:hover { background-color: #F36DE1; color: white; } I am looking to keep the background color and text color effects for 1 second after I move my mouse off the object (#onec-fourth). Currently, when I mov ...

Utilizing Bootstrap's column grid system (col-sm) to set the width of form controls

Is it possible to utilize col-sm or col-xs within the input tag to specify its width? <div> <input type="button" class="col-sm-2" value="Clear"> <input type="button" class="col-sm-2" value="Confirm"> </div> ...

Design a layout featuring an array of boxes in varied sizes

Is it possible to create a grid layout with 3 columns containing div boxes of varying heights, all populated with content extracted from a database? ...

Can CSS Grid be substituted for Material UI's grid component?

Exploring the Material-UI Grid Component, I have found that it is built on flexbox and offers great functionality. However, my curiosity lies in comparing it to CSS Grid, which I find equally user-friendly. Despite my preference for CSS Grid, I am hesita ...

How can the entire menu be closed in Bootstrap 5 when clicking on a link or outside of the page?

I'm currently utilizing BootStrap 5 for constructing my webpage. Within my page, I have a NavBar Menu containing various links. <head> <link href="https://cdn.jsdelivr.net/npm/<a href="/cdn-cgi/l/email-protection" class="__cf_email__ ...

Issue with displaying multiple checkboxes using Materialize CSS in combination with Leaflet for web-mapping overlays

I'm currently using Materialize 0.97.7 along with Leaflet 1.0.1 (the latest version). <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.1/leaflet-src.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com ...

Tips for combining two property values to create a unified data table column in Angular 7's data table system (e.g. merging first and last names into one column)

I need to combine the first name and last name of a person into a single "Name" column in my Angular 7 data table. The first name and last name are stored as separate properties. <data-table [items]="userItems" [itemCount]=" ...

Styling with Chemistry: CSS for Chemical Formulas

Is there a way to write multiple formulas in CSS, or is there an alternative method I should consider? I want to integrate these formulas on my quiz website for students to use. I came across some intriguing examples that could be useful: However, I am s ...

What reasons might lead an individual to enclose form elements within <div> elements?

Consider this basic example of a form that I frequently use: <form class="login"> <input class="login_username" type="text" value="username"/> <input class="login_password" type="text" value="password"/> <input type= ...

Trouble arises when trying to use add event listener on dynamically generated elements through (*ngFor)

Expanding the Accordion View Issue Whenever the section button is clicked, the event listener userSelection[i].addEventListener changes the id to 'open', thus expanding the accordion. This functionality works without any issues when not using t ...

Show off on social media but not in person

Check out this HTML snippet: <div class="d-sm-flex flex-sm-row flex-sm-row-reverse"> <div class='ml-2'></div> <div class='ml-2'></div> <div class='ml-2'></div> </div> ...

CSS Transition not activating upon initial mouseover

My attempt at a simple transition is not working properly on Safari. I am trying to change background images from A to B on hover, but the transition is not smooth when I first hover over the element. Instead of gradually fading in/out, it instantly change ...

What type of programming language is utilized in creating this online interactive calculator?

I have a strong interest in creating an interactive calculator like the one found on keto-calculator, but I am unsure of where to begin my research on how to develop it. Can you provide insights on the coding language typically used for such calcula ...

Creating a dynamic animation for a navigation bar's underline

I'm attempting to add a smooth underline effect to the links in my navbar when they are hovered over. Unfortunately, the entire ul element is being underlined instead of just the selected link. Is there a way to resolve this issue? a { text-deco ...

Issues with responsiveness in CSS

I'm currently working on a website and facing some challenges. Right now, I'm building the dashboard section of the site, which includes a header with basic settings buttons (Home, Profile, and Log out), a navigation bar on the left side of the b ...