search results:

    • Standard
    • React
    Pricing Learn Community
    • + D
    • Light
    • Dark
    • System
    logo TW Elements
    • Getting started
      • Quick start
      • Dark mode
      • Theming
      • Changelog
    • CommercialNew
      • Pricing
      • License
      • Installation
      • Git & repository
      • Premium Support
    • Integrations
      • Next
    • Content & styles
      • Animations
      • Animations extended
      • Colors
      • Dividers
      • Figures
      • Headings
      • Hover effects
      • Icons
      • Images
      • Mask
      • Shadows
      • Typography
    • Navigation
      • Breadcrumbs
      • Footer
      • Pagination
      • Pills
      • Tabs
    • Components
      • Accordion
      • Alerts
      • Avatar
      • Badges
      • Button group
      • Buttons
      • Cards
      • Carousel
      • Collapse
      • Dropdown
      • Link
      • List group
      • Modal
      • Paragraphs
      • Placeholders
      • Popover
      • Progress
      • Rating
      • Scroll back to top button
      • Social buttons
      • Spinners
      • Timeline
      • Toasts
      • Tooltip
      • Video carousel
    • Forms
      • Checkbox
      • File input
      • Form templates
      • Inputs
      • Login form
      • Radio
      • Range
      • Registration form
      • Search
      • Select
      • Switch
      • Textarea
    • Data
      • Charts
      • Tables
    • Methods
      • Ripple
    • ResourcesNew
      • Playground
      • YouTube Channel
      • Private FB Group
      • Newsletter
      • UI Design course New

    Tables

    Tailwind CSS React Tables

    Use responsive table component, with helper examples for table column width, bordered and striped tables, pagination, fixed header, overflow, spacing & more.


    Basic example

    Use the following example of a responsive table component to show multiple rows and columns of text data.

    # First Last Handle
    1 Mark Otto @mdo
    2 Jacob Thornton @fat
    3 Larry Wild @twitter
    • JSX
            
                
          import React from 'react';
    
          export default function App() {
            return (
              <div className="flex flex-col">
                <div className="overflow-x-auto sm:-mx-6 lg:-mx-8">
                  <div className="inline-block min-w-full py-2 sm:px-6 lg:px-8">
                    <div className="overflow-hidden">
                      <table className="min-w-full text-left text-sm font-light">
                        <thead className="border-b font-medium dark:border-neutral-500">
                          <tr>
                            <th scope="col" className="px-6 py-4">#</th>
                            <th scope="col" className="px-6 py-4">First</th>
                            <th scope="col" className="px-6 py-4">Last</th>
                            <th scope="col" className="px-6 py-4">Handle</th>
                          </tr>
                        </thead>
                        <tbody>
                          <tr className="border-b dark:border-neutral-500">
                            <td className="whitespace-nowrap px-6 py-4 font-medium">1</td>
                            <td className="whitespace-nowrap px-6 py-4">Mark</td>
                            <td className="whitespace-nowrap px-6 py-4">Otto</td>
                            <td className="whitespace-nowrap px-6 py-4">@mdo</td>
                          </tr>
                          <tr className="border-b dark:border-neutral-500">
                            <td className="whitespace-nowrap px-6 py-4 font-medium">2</td>
                            <td className="whitespace-nowrap px-6 py-4">Jacob</td>
                            <td className="whitespace-nowrap px-6 py-4">Thornton</td>
                            <td className="whitespace-nowrap px-6 py-4">@fat</td>
                          </tr>
                          <tr className="border-b dark:border-neutral-500">
                            <td className="whitespace-nowrap px-6 py-4 font-medium">3</td>
                            <td className="whitespace-nowrap px-6 py-4">Larry</td>
                            <td className="whitespace-nowrap px-6 py-4">Wild</td>
                            <td className="whitespace-nowrap px-6 py-4">@twitter</td>
                          </tr>
                        </tbody>
                      </table>
                    </div>
                  </div>
                </div>
              </div>
            );
          }
          
            
        

    Hey there 👋 we're excited about TW Elements for React and want to see it grow! If you enjoy it, help the project grow by sharing it with your peers. Every share counts, thank you!

    Variants

    Below are the color variations that can be used in the table component.

    Class Heading Heading
    Default Cell Cell
    Primary Cell Cell
    Secondary Cell Cell
    Success Cell Cell
    Danger Cell Cell
    Warning Cell Cell
    Info Cell Cell
    Light Cell Cell
    Dark Cell Cell
    • JSX
            
                
          import React from 'react';
    
          export default function App() {
            return (
              
          <div className="flex flex-col">
            <div className="overflow-x-auto sm:-mx-6 lg:-mx-8">
              <div className="inline-block min-w-full py-2 sm:px-6 lg:px-8">
                <div className="overflow-hidden">
                  <table className="min-w-full text-center text-sm font-light">
                    <thead className="border-b font-medium dark:border-neutral-500">
                      <tr>
                        <th scope="col" className="px-6 py-4">className</th>
                        <th scope="col" className="px-6 py-4">Heading</th>
                        <th scope="col" className="px-6 py-4">Heading</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr className="border-b dark:border-neutral-500">
                        <td className="whitespace-nowrap px-6 py-4 font-medium">
                          Default
                        </td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                      </tr>
                      <tr
                        className="border-b border-primary-200 bg-primary-100 text-neutral-800">
                        <td className="whitespace-nowrap px-6 py-4 font-medium">
                          Primary
                        </td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                      </tr>
                      <tr
                        className="border-b border-secondary-200 bg-secondary-100 text-neutral-800">
                        <td className="whitespace-nowrap px-6 py-4 font-medium">
                          Secondary
                        </td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                      </tr>
                      <tr
                        className="border-b border-success-200 bg-success-100 text-neutral-800">
                        <td className="whitespace-nowrap px-6 py-4 font-medium">
                          Success
                        </td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                      </tr>
                      <tr
                        className="border-b border-danger-200 bg-danger-100 text-neutral-800">
                        <td className="whitespace-nowrap px-6 py-4 font-medium">
                          Danger
                        </td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                      </tr>
                      <tr
                        className="border-b border-warning-200 bg-warning-100 text-neutral-800">
                        <td className="whitespace-nowrap px-6 py-4 font-medium">
                          Warning
                        </td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                      </tr>
                      <tr
                        className="border-b border-info-200 bg-info-100 text-neutral-800">
                        <td className="whitespace-nowrap px-6 py-4 font-medium">
                          Info
                        </td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                      </tr>
                      <tr
                        className="border-b border-neutral-100 bg-neutral-50 text-neutral-800 dark:bg-neutral-50">
                        <td className="whitespace-nowrap px-6 py-4 font-medium">
                          Light
                        </td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                      </tr>
                      <tr
                        className="border-b border-neutral-700 bg-neutral-800 text-neutral-50 dark:border-neutral-600 dark:bg-neutral-700">
                        <td className="whitespace-nowrap px-6 py-4 font-medium">
                          Dark
                        </td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                        <td className="whitespace-nowrap px-6 py-4">Cell</td>
                      </tr>
                    </tbody>
                  </table>
                </div>
              </div>
            </div>
          </div>
            );
          }
          
            
        

    Striped

    Use this example to increase the readability of the data sets by alternating the background colors of every second table row.

    # First Last Handle
    1 Mark Otto @mdo
    2 Jacob Thornton @fat
    3 Larry the Bird @twitter
    • JSX
            
                
          import React from 'react';
    
          export default function App() {
            return (
              <div className="flex flex-col">
                <div className="overflow-x-auto sm:-mx-6 lg:-mx-8">
                  <div className="inline-block min-w-full py-2 sm:px-6 lg:px-8">
                    <div className="overflow-hidden">
                      <table className="min-w-full text-left text-sm font-light">
                        <thead
                          className="border-b bg-white font-medium dark:border-neutral-500 dark:bg-neutral-600">
                          <tr>
                            <th scope="col" className="px-6 py-4">#</th>
                            <th scope="col" className="px-6 py-4">First</th>
                            <th scope="col" className="px-6 py-4">Last</th>
                            <th scope="col" className="px-6 py-4">Handle</th>
                          </tr>
                        </thead>
                        <tbody>
                          <tr
                            className="border-b bg-neutral-100 dark:border-neutral-500 dark:bg-neutral-700">
                            <td className="whitespace-nowrap px-6 py-4 font-medium">1</td>
                            <td className="whitespace-nowrap px-6 py-4">Mark</td>
                            <td className="whitespace-nowrap px-6 py-4">Otto</td>
                            <td className="whitespace-nowrap px-6 py-4">@mdo</td>
                          </tr>
                          <tr
                            className="border-b bg-white dark:border-neutral-500 dark:bg-neutral-600">
                            <td className="whitespace-nowrap px-6 py-4 font-medium">2</td>
                            <td className="whitespace-nowrap px-6 py-4">Jacob</td>
                            <td className="whitespace-nowrap px-6 py-4">Thornton</td>
                            <td className="whitespace-nowrap px-6 py-4">@fat</td>
                          </tr>
                          <tr
                            className="border-b bg-neutral-100 dark:border-neutral-500 dark:bg-neutral-700">
                            <td className="whitespace-nowrap px-6 py-4 font-medium">3</td>
                            <td
                              colSpan={2}
                              className="whitespace-nowrap px-6 py-4 text-center">
                              Larry the Bird
                            </td>
                            <td className="whitespace-nowrap px-6 py-4">@twitter</td>
                          </tr>
                        </tbody>
                      </table>
                    </div>
                  </div>
                </div>
              </div>
            );
          }
          
            
        

    Hoverable

    Use the hover:{bg-*} utility class from to change the background color of a data row when hovering over the element with the cursor.

    # First Last Handle
    1 Mark Otto @mdo
    2 Jacob Thornton @fat
    3 Larry Wild @twitter
    • JSX
            
                
          import React from 'react';
    
          export default function App() {
            return (
              <div className="flex flex-col">
                <div className="overflow-x-auto sm:-mx-6 lg:-mx-8">
                  <div className="inline-block min-w-full py-2 sm:px-6 lg:px-8">
                    <div className="overflow-hidden">
                      <table className="min-w-full text-left text-sm font-light">
                        <thead className="border-b font-medium dark:border-neutral-500">
                          <tr>
                            <th scope="col" className="px-6 py-4">#</th>
                            <th scope="col" className="px-6 py-4">First</th>
                            <th scope="col" className="px-6 py-4">Last</th>
                            <th scope="col" className="px-6 py-4">Handle</th>
                          </tr>
                        </thead>
                        <tbody>
                          <tr
                            className="border-b transition duration-300 ease-in-out hover:bg-neutral-100 dark:border-neutral-500 dark:hover:bg-neutral-600">
                            <td className="whitespace-nowrap px-6 py-4 font-medium">1</td>
                            <td className="whitespace-nowrap px-6 py-4">Mark</td>
                            <td className="whitespace-nowrap px-6 py-4">Otto</td>
                            <td className="whitespace-nowrap px-6 py-4">@mdo</td>
                          </tr>
                          <tr
                            className="border-b transition duration-300 ease-in-out hover:bg-neutral-100 dark:border-neutral-500 dark:hover:bg-neutral-600">
                            <td className="whitespace-nowrap px-6 py-4 font-medium">2</td>
                            <td className="whitespace-nowrap px-6 py-4">Jacob</td>
                            <td className="whitespace-nowrap px-6 py-4">Thornton</td>
                            <td className="whitespace-nowrap px-6 py-4">@fat</td>
                          </tr>
                          <tr
                            className="border-b transition duration-300 ease-in-out hover:bg-neutral-100 dark:border-neutral-500 dark:hover:bg-neutral-600">
                            <td className="whitespace-nowrap px-6 py-4 font-medium">3</td>
                            <td className="whitespace-nowrap px-6 py-4">Larry</td>
                            <td className="whitespace-nowrap px-6 py-4">Wild</td>
                            <td className="whitespace-nowrap px-6 py-4">@twitter</td>
                          </tr>
                        </tbody>
                      </table>
                    </div>
                  </div>
                </div>
              </div>
            );
          }
          
            
        

    Bordered

    Using a bordered table allows you to visibly organize your data with a solid border.

    Add the .border class for borders on all sides of the table and cells.

    # First Last Handle
    1 Mark Otto @mdo
    2 Jacob Thornton @fat
    3 Larry the Bird @twitter
    • JSX
            
                
          import React from 'react';
    
          export default function App() {
            return (
              <div className="flex flex-col">
                <div className="overflow-x-auto sm:-mx-6 lg:-mx-8">
                  <div className="inline-block min-w-full py-2 sm:px-6 lg:px-8">
                    <div className="overflow-hidden">
                      <table
                        className="min-w-full border text-center text-sm font-light dark:border-neutral-500">
                        <thead className="border-b font-medium dark:border-neutral-500">
                          <tr>
                            <th
                              scope="col"
                              className="border-r px-6 py-4 dark:border-neutral-500">
                              #
                            </th>
                            <th
                              scope="col"
                              className="border-r px-6 py-4 dark:border-neutral-500">
                              First
                            </th>
                            <th
                              scope="col"
                              className="border-r px-6 py-4 dark:border-neutral-500">
                              Last
                            </th>
                            <th scope="col" className="px-6 py-4">Handle</th>
                          </tr>
                        </thead>
                        <tbody>
                          <tr className="border-b dark:border-neutral-500">
                            <td
                              className="whitespace-nowrap border-r px-6 py-4 font-medium dark:border-neutral-500">
                              1
                            </td>
                            <td
                              className="whitespace-nowrap border-r px-6 py-4 dark:border-neutral-500">
                              Mark
                            </td>
                            <td
                              className="whitespace-nowrap border-r px-6 py-4 dark:border-neutral-500">
                              Otto
                            </td>
                            <td className="whitespace-nowrap px-6 py-4">@mdo</td>
                          </tr>
                          <tr className="border-b dark:border-neutral-500">
                            <td
                              className="whitespace-nowrap border-r px-6 py-4 font-medium dark:border-neutral-500">
                              2
                            </td>
                            <td
                              className="whitespace-nowrap border-r px-6 py-4 dark:border-neutral-500">
                              Jacob
                            </td>
                            <td
                              className="whitespace-nowrap border-r px-6 py-4 dark:border-neutral-500">
                              Thornton
                            </td>
                            <td className="whitespace-nowrap px-6 py-4">@fat</td>
                          </tr>
                          <tr className="border-b dark:border-neutral-500">
                            <td
                              className="whitespace-nowrap border-r px-6 py-4 font-medium dark:border-neutral-500">
                              3
                            </td>
                            <td
                              colSpan={2}
                              className="whitespace-nowrap border-r px-6 py-4 dark:border-neutral-500">
                              Larry the Bird
                            </td>
                            <td className="whitespace-nowrap px-6 py-4">@twitter</td>
                          </tr>
                        </tbody>
                      </table>
                    </div>
                  </div>
                </div>
              </div>
            );
          }
          
            
        

    Borderless

    Borderless table is useful for layouts where lightness is important and we won't be putting much data in its structure.

    # First Last Handle
    1 Mark Otto @mdo
    2 Jacob Thornton @fat
    3 Larry the Bird @twitter
    • JSX
            
                
          import React from 'react';
    
          export default function App() {
            return (
              <div className="flex flex-col">
                <div className="overflow-x-auto sm:-mx-6 lg:-mx-8">
                  <div className="inline-block min-w-full py-2 sm:px-6 lg:px-8">
                    <div className="overflow-hidden">
                      <table className="min-w-full text-center text-sm font-light">
                        <thead className="font-medium">
                          <tr>
                            <th scope="col" className="px-6 py-4">#</th>
                            <th scope="col" className="px-6 py-4">First</th>
                            <th scope="col" className="px-6 py-4">Last</th>
                            <th scope="col" className="px-6 py-4">Handle</th>
                          </tr>
                        </thead>
                        <tbody>
                          <tr>
                            <td className="whitespace-nowrap px-6 py-4 font-medium">1</td>
                            <td className="whitespace-nowrap px-6 py-4">Mark</td>
                            <td className="whitespace-nowrap px-6 py-4">Otto</td>
                            <td className="whitespace-nowrap px-6 py-4">@mdo</td>
                          </tr>
                          <tr>
                            <td className="whitespace-nowrap px-6 py-4 font-medium">2</td>
                            <td className="whitespace-nowrap px-6 py-4">Jacob</td>
                            <td className="whitespace-nowrap px-6 py-4">Thornton</td>
                            <td className="whitespace-nowrap px-6 py-4">@fat</td>
                          </tr>
                          <tr>
                            <td className="whitespace-nowrap px-6 py-4 font-medium">3</td>
                            <td colSpan={2} className="whitespace-nowrap px-6 py-4">
                              Larry the Bird
                            </td>
                            <td className="whitespace-nowrap px-6 py-4">@twitter</td>
                          </tr>
                        </tbody>
                      </table>
                    </div>
                  </div>
                </div>
              </div>
            );
          }
          
            
        

    Small

    Use small table to make tables more compact by cutting cell padding in half.

    # First Last Handle
    1 Mark Otto @mdo
    2 Jacob Thornton @fat
    3 Larry the Bird @twitter
    • JSX
            
                
          import React from 'react';
    
          export default function App() {
            return (
              <div className="flex flex-col">
                <div className="overflow-x-auto sm:-mx-6 lg:-mx-8">
                  <div className="inline-block min-w-full py-2 sm:px-6 lg:px-8">
                    <div className="overflow-hidden">
                      <table className="min-w-full text-center text-sm font-light">
                        <thead className="border-b font-medium dark:border-neutral-500">
                          <tr>
                            <th scope="col" className="px-6 py-2">#</th>
                            <th scope="col" className="px-6 py-2">First</th>
                            <th scope="col" className="px-6 py-2">Last</th>
                            <th scope="col" className="px-6 py-2">Handle</th>
                          </tr>
                        </thead>
                        <tbody>
                          <tr className="border-b dark:border-neutral-500">
                            <td className="whitespace-nowrap px-6 py-2 font-medium">1</td>
                            <td className="whitespace-nowrap px-6 py-2">Mark</td>
                            <td className="whitespace-nowrap px-6 py-2">Otto</td>
                            <td className="whitespace-nowrap px-6 py-2">@mdo</td>
                          </tr>
                          <tr className="border-b dark:border-neutral-500">
                            <td className="whitespace-nowrap px-6 py-2 font-medium">2</td>
                            <td className="whitespace-nowrap px-6 py-2 ">Jacob</td>
                            <td className="whitespace-nowrap px-6 py-2">Thornton</td>
                            <td className="whitespace-nowrap px-6 py-2">@fat</td>
                          </tr>
                          <tr className="border-b dark:border-neutral-500">
                            <td className="whitespace-nowrap px-6 py-2 font-medium">3</td>
                            <td colSpan={2} className="whitespace-nowrap px-6 py-2">
                              Larry the Bird
                            </td>
                            <td className="whitespace-nowrap px-6 py-2">@twitter</td>
                          </tr>
                        </tbody>
                      </table>
                    </div>
                  </div>
                </div>
              </div>
            );
          }
          
            
        

    Light Head

    Use .bg-neutral-50 class to make the head table light.

    # First Last Handle
    1 Mark Otto @mdo
    2 Jacob Thornton @fat
    3 Larry the Bird @twitter
    • JSX
            
                
          import React from 'react';
    
          export default function App() {
            return (
              <div className="flex flex-col">
                <div className="overflow-x-auto sm:-mx-6 lg:-mx-8">
                  <div className="inline-block min-w-full py-2 sm:px-6 lg:px-8">
                    <div className="overflow-hidden">
                      <table className="min-w-full text-center text-sm font-light">
                        <thead
                          className="border-b bg-neutral-50 font-medium dark:border-neutral-500 dark:text-neutral-800">
                          <tr>
                            <th scope="col" className=" px-6 py-4">#</th>
                            <th scope="col" className=" px-6 py-4">First</th>
                            <th scope="col" className=" px-6 py-4">Last</th>
                            <th scope="col" className=" px-6 py-4">Handle</th>
                          </tr>
                        </thead>
                        <tbody>
                          <tr className="border-b dark:border-neutral-500">
                            <td className="whitespace-nowrap  px-6 py-4 font-medium">1</td>
                            <td className="whitespace-nowrap  px-6 py-4">Mark</td>
                            <td className="whitespace-nowrap  px-6 py-4">Otto</td>
                            <td className="whitespace-nowrap  px-6 py-4">@mdo</td>
                          </tr>
                          <tr className="border-b dark:border-neutral-500">
                            <td className="whitespace-nowrap  px-6 py-4 font-medium">2</td>
                            <td className="whitespace-nowrap  px-6 py-4 ">Jacob</td>
                            <td className="whitespace-nowrap  px-6 py-4">Thornton</td>
                            <td className="whitespace-nowrap  px-6 py-4">@fat</td>
                          </tr>
                          <tr className="border-b dark:border-neutral-500">
                            <td className="whitespace-nowrap  px-6 py-4 font-medium">3</td>
                            <td colSpan={2} className="whitespace-nowrap  px-6 py-4">
                              Larry the Bird
                            </td>
                            <td className="whitespace-nowrap  px-6 py-4">@twitter</td>
                          </tr>
                        </tbody>
                      </table>
                    </div>
                  </div>
                </div>
              </div>
            );
          }
          
            
        

    Dark Head

    Use .bg-neutral-800 class to make the head table dark.

    # First Last Handle
    1 Mark Otto @mdo
    2 Jacob Thornton @fat
    3 Larry the Bird @twitter
    • JSX
            
                
          import React from 'react';
    
          export default function App() {
            return (
              <div className="flex flex-col">
                <div className="overflow-x-auto sm:-mx-6 lg:-mx-8">
                  <div className="inline-block min-w-full py-2 sm:px-6 lg:px-8">
                    <div className="overflow-hidden">
                      <table className="min-w-full text-center text-sm font-light">
                        <thead
                          className="border-b bg-neutral-800 font-medium text-white dark:border-neutral-500 dark:bg-neutral-900">
                          <tr>
                            <th scope="col" className=" px-6 py-4">#</th>
                            <th scope="col" className=" px-6 py-4">First</th>
                            <th scope="col" className=" px-6 py-4">Last</th>
                            <th scope="col" className=" px-6 py-4">Handle</th>
                          </tr>
                        </thead>
                        <tbody>
                          <tr className="border-b dark:border-neutral-500">
                            <td className="whitespace-nowrap  px-6 py-4 font-medium">1</td>
                            <td className="whitespace-nowrap  px-6 py-4">Mark</td>
                            <td className="whitespace-nowrap  px-6 py-4">Otto</td>
                            <td className="whitespace-nowrap  px-6 py-4">@mdo</td>
                          </tr>
                          <tr className="border-b dark:border-neutral-500">
                            <td className="whitespace-nowrap  px-6 py-4 font-medium">2</td>
                            <td className="whitespace-nowrap  px-6 py-4 ">Jacob</td>
                            <td className="whitespace-nowrap  px-6 py-4">Thornton</td>
                            <td className="whitespace-nowrap  px-6 py-4">@fat</td>
                          </tr>
                          <tr className="border-b dark:border-neutral-500">
                            <td className="whitespace-nowrap  px-6 py-4 font-medium">3</td>
                            <td colSpan={2} className="whitespace-nowrap  px-6 py-4">
                              Larry the Bird
                            </td>
                            <td className="whitespace-nowrap  px-6 py-4">@twitter</td>
                          </tr>
                        </tbody>
                      </table>
                    </div>
                  </div>
                </div>
              </div>
            );
          }
          
            
        

    Always responsive

    Responsive table will display a horizontal scroll bar if the screen is too small to display the full content. Resize the browser window to see the effect.

    # Heading Heading Heading Heading Heading Heading Heading Heading
    1 Cell Cell Cell Cell Cell Cell Cell Cell
    2 Cell Cell Cell Cell Cell Cell Cell Cell
    3 Cell Cell Cell Cell Cell Cell Cell Cell
    • JSX
            
                
          import React from 'react';
    
          export default function App() {
            return (
              <div className="flex flex-col overflow-x-auto">
                <div className="sm:-mx-6 lg:-mx-8">
                  <div className="inline-block min-w-full py-2 sm:px-6 lg:px-8">
                    <div className="overflow-x-auto">
                      <table className="min-w-full text-left text-sm font-light">
                        <thead className="border-b font-medium dark:border-neutral-500">
                          <tr>
                            <th scope="col" className="px-6 py-4">#</th>
                            <th scope="col" className="px-6 py-4">Heading</th>
                            <th scope="col" className="px-6 py-4">Heading</th>
                            <th scope="col" className="px-6 py-4">Heading</th>
                            <th scope="col" className="px-6 py-4">Heading</th>
                            <th scope="col" className="px-6 py-4">Heading</th>
                            <th scope="col" className="px-6 py-4">Heading</th>
                            <th scope="col" className="px-6 py-4">Heading</th>
                            <th scope="col" className="px-6 py-4">Heading</th>
                          </tr>
                        </thead>
                        <tbody>
                          <tr className="border-b dark:border-neutral-500">
                            <td className="whitespace-nowrap px-6 py-4 font-medium">1</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                          </tr>
                          <tr className="border-b dark:border-neutral-500">
                            <td className="whitespace-nowrap px-6 py-4 font-medium ">2</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4 ">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4 ">Cell</td>
                          </tr>
                          <tr className="border-b ">
                            <td className="whitespace-nowrap px-6 py-4 font-medium ">3</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                            <td className="whitespace-nowrap px-6 py-4">Cell</td>
                          </tr>
                        </tbody>
                      </table>
                    </div>
                  </div>
                </div>
              </div>
            );
          }
          
            
        

    Related resources

    Comparison table How to make table responsive in Bootstrap Bootstrap Table Tutorial

    If you are looking for more advanced options, try Bootstrap Tables from MDBootstrap.

    • Basic example
    • Variants
    • Striped
    • Hoverable
    • Bordered
    • Borderless
    • Small
    • Light Head
    • Dark Head
    • Always responsive
    • Related resources
    Get useful tips & free resources directly to your inbox along with exclusive subscriber-only content.
    Join our mailing list now
    © 2023 Copyright: MDBootstrap.com