Is it possible to enable horizontal scrolling for specific columns within a table?

I am facing an issue where I need to freeze a column in a table and have the other columns scroll horizontally. To better explain, here is a visual representation:

https://i.sstatic.net/Y5MP9.png

My attempt to use overflow scroll did not seem to work:

.horizontal-scrolling {
  display: flex;
  width: 500px;
  overflow: scroll;
}

.horizontal-scrolling th {
  width: 250px;
}

<table>
    <thead>
        <tr>
            <th>First</th>
            <span class="horizontal-scrolling">
                <th>Second</th>
                <th>Third</th>
                <th>Fourth</th>
            </span>
        </tr>
    <thead>
</table>

Answer №1

I have customized the standard table from W3Schools to ensure that one column remains fixed to the left. This type of design can be implemented on a specific column of your table using JavaScript

table {
  font-family: arial, sans-serif;
  border-collapse: collapse;
  width: 1000px;
}

td, th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
}

tr:nth-child(even) {
  background-color: #dddddd;
}
tr th:nth-of-type(1),/*this is where the table column gets its*/
tr td:nth-of-type(1){/*styling to stick to the left and stay on top of the rest*/
position:sticky;
left: 0;
z-index: 1;
background: white;
width: 150px
}
div {
width: 600px;
overflow: auto;
}
<body>

<h2>HTML Table</h2>
<div>
<table>
  <tr>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr>
    <td>Ernst Handel</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
  <tr>
    <td>Island Trading</td>
    <td>Helen Bennett</td>
    <td>UK</td>
  </tr>
  <tr>
    <td>Laughing Bacchus Winecellars</td>
    <td>Yoshi Tannamuri</td>
    <td>Canada</td>
  </tr>
  <tr>
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
</table>
</div>
</body>

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

Can you spot the real transformation happening?

Is there a built-in way (possibly in one of the frameworks) to determine if a form has been modified from its initial values? The onchange event is not sufficient, as it triggers even if no real change has occurred (such as toggling a checkbox on and off ...

Can you explain the distinction between using <router-view/> and <router-view></router-view>?

In various projects, I have encountered both of these. Are they just "syntactic sugar" or do they hold unique distinctions? ...

Implementing alpha value rounding within CSS color functions

When using Chrome and Firefox (I have not tested in other browsers), I noticed that setting element.style.color = rgba(0, 0, 0, 49.6%) actually resolves to rgba(0, 0, 0, 0.494) on my laptop instead of the expected rgba(0, 0, 0, 0.496). I am curious if thi ...

Error 404 occurred when trying to access the webpack file at my website address through next js

Check out my website at https://i.stack.imgur.com/i5Rjs.png I'm facing an error here and can't seem to figure it out. Interestingly, everything works fine on Vercel but not on Plesk VDS server. Visit emirpreview.vercel.app for comparison. ...

Retrieving information from a servlet in JSP and then transmitting it to another servlet using ajax technology

I am currently learning JSP and servlet development. I am working on creating a library management system in Tomcat version 10.0. When a user signs in using their user ID and password through an HTML form, the credentials are sent to a login servlet. Once ...

Avoid using the AJAX function if an identical request is already in progress

I have set up an AJAX request within a JavaScript function. By using the setInterval method, this AJAX function runs every 5000 milliseconds. I am curious if there is a way to determine if the previous AJAX call is still in progress to prevent multiple si ...

attach an event listener for the click event

I have a button set up like this Inside index.html: <body> <section> <button id="open-file">Open File</button> ...(series of other similar buttons)... </section> </body> <script> requir ...

Adjusting the height of a div according to the changing heights of other divs

The sidebar contains a search field, two lists, and a text div. The height of the search field and text div always remains constant, while the heights of the two lists vary dynamically. I am exploring the possibility of using only CSS to make the height o ...

How can you override the selected classes for menu items in Material-UI using React.js?

Hey there! I'm facing an issue where I can't override the class that displays the correct styling when a menuItem is selected. Below is my code: <MenuItem component={Link} to="/Acceuil" className={{root:classes.menuItem ,selected:cla ...

Guide to logging out from a website using AngularJS

I have developed a login page using AngularJS, where I input static username and password. Upon submitting the form, it redirects to a welcome screen. Now, I am looking to implement a logout feature that will transition from the welcome page back to the lo ...

Is the definition of uniforms present in the THREE.js RawShaderMaterial?

The suggested reading regarding THREE.Js RawShaderMaterial states: Default uniforms and attributes are not automatically included in the GLSL shader code. Nevertheless, I have successfully executed the following shader using a rawShaderMaterial: ...

Using the Button within Material-Table to Trigger an OnClick Event

Hello! I need assistance with a functionality where clicking the button "xet duyet" should switch to another component (Checkdetail) without displaying its content. Can you provide me with a solution to this issue? Thank you in advance! I have made some a ...

How can I remove a post from a list using AJAX?

Imagine I am creating a website that displays a feed of user posts, similar to Twitter's timeline. If a user wants to delete a post from the feed, I have set up a dynamic list using PHP and MySQL database. Additionally, I have a delete.php file which ...

Here is a step-by-step guide on how to use JQuery to swap out text with

Requesting assistance on displaying JSON values in a JQuery table with corresponding image icons. The JSON values include "Success", "Failed", and "Aborted" which should be represented by image icons named Success.png, Failed.png, and Aborted.png. Any guid ...

Is Nuxt's FingerprintJS Module the Ultimate Server and Client Solution?

I am currently using fingerprintJS in my NuxtJS+Firebase project VuexStore. When I call the function on the client side, I can retrieve the Visitor ID. However, I am encountering issues when trying to use it on the server side, such as in nuxtServerInit. ...

Including a .css file in ejs

I'm currently developing an application using Node.js (express) with EJS, and I'm facing an issue while including a .css file in it. When I tried the same setup as a standalone HTML-CSS project, it worked perfectly fine. How can I include the CSS ...

Timeout function not being triggered for mousedown or touchstart event handlers

Fiddle - http://jsbin.com/AYeFEHi/1/edit Could someone help troubleshoot why this code is not functioning as expected? (I am using Chromium on a Linux system) The goal is to trigger the alert box only after holding down the button for 2 seconds, and if r ...

Extract keys from the string

Is there a better way to extract keys from a string? const {Builder, By, Key, until} = require('selenium-webdriver'); ... const obj = {val: 'Key.SPACE'} if(obj.val.startsWith('Key.'))obj.val = eval(obj.val); (...).sendKeys(obj ...

Issue with parsing JSON object within a React component

Within my project, I have implemented three key components. The first is a search bar used to input values for an API query. The second component, mainPage, acts as the central hub, connecting all elements and sending the searched value to the API. Finally ...

CSS for Centering Text and ImageAchieving the perfect alignment

I have a footer positioned at the bottom of my webpage containing some text along with a few PNG images. I am attempting to center everything within the footer. I tried using margin: 0 auto, but it didn't work due to the footer not being a block elem ...