What is table UI design for mobile?

Gør dine DataTables Fuldstændig Responsive

27/04/2026

Rating: 4.79 (6055 votes)

I en verden domineret af mobile enheder er responsivt design ikke længere en luksus, men en nødvendighed. Dette gælder især for datatabeller, som ofte indeholder store mængder information, der kan være en udfordring at præsentere overskueligt på små skærme. DataTables, som er et af de mest populære jQuery-plugins til håndtering af tabeller, er i sig selv utrolig kraftfuldt, men dets indbyggede funktionalitet har historisk set ikke været fuldt responsiv ud af boksen. Heldigvis er der effektive metoder til at sikre, at dine DataTables tilpasser sig elegant til enhver skærmstørrelse, fra den mindste smartphone til den største desktopmonitor.

How do I initialise a responsive DataTable?
Responsive is initialised using the responsive option in the DataTables constructor - a simple boolean true will enable the feature. Further options can be specified using this option as an object - see the documentation for details. Example:

Denne artikel vil udforske, hvordan du kan gøre dine DataTables responsive. Vi vil dække den moderne, officielle tilgang samt ældre, men stadig relevante, manuelle metoder, der giver dig fuld kontrol over tabellernes adfærd på forskellige enheder. Målet er at give dig en omfattende guide til at optimere dine tabeller for den bedste brugeroplevelse, uanset enhed.

Traditionelle HTML-tabeller er designet til at vise data i et fast grid, hvilket fungerer fint på store skærme. Men når skærmstørrelsen reduceres, opstår der ofte problemer som vandret scrollbar, overlappende indhold eller simpelthen ulæselige data. Dette fører til frustration hos brugerne og en dårlig oplevelse. En responsiv tabel løser dette ved at justere sin visning dynamisk, ofte ved at skjule mindre vigtige kolonner, omarrangere data eller omdanne rækker til detaljerede visninger, der kan udvides.

Indholdsfortegnelse

Den Moderne Tilgang: DataTables Responsive Udvidelsen

Den mest ligetil og anbefalede måde at gøre en DataTable responsiv på i dag er ved at bruge den officielle DataTables Responsive udvidelse. Denne udvidelse er designet specifikt til at håndtere responsiv adfærd gennem dynamisk kontrol af kolonnevisning. Den er utroligt nem at implementere og tilbyder en robust løsning for de fleste scenarier.

Installation og Grundlæggende Brug

For at komme i gang med DataTables Responsive skal du inkludere de nødvendige CSS- og JavaScript-filer. Den primære måde er ofte via DataTables downloader, men du kan også inkludere individuelle filer fra DataTables CDN eller bruge pakkehåndteringssystemer som NPM eller Bower (datatables.net-responsive).

Efter at have inkluderet de nødvendige filer, er initialiseringen af en responsiv DataTable bemærkelsesværdigt enkel. Du skal blot tilføje responsive: true til din DataTables-konstruktør:

$(document).ready(function() { $('#myTable').DataTable({ responsive: true }); });

Dette simple trin aktiverer den responsive funktionalitet. Udvidelsen vil automatisk detektere skærmstørrelsen og justere tabellens layout ved at skjule kolonner, der ikke får plads, og vise en '+' knap, der kan udvides for at vise de skjulte detaljer. Dette giver en meget mere brugervenlig oplevelse på mindre skærme.

Tilpasning af Responsiv Adfærd

Selvom responsive: true er tilstrækkeligt for grundlæggende funktionalitet, kan du tilpasse responsiv adfærd yderligere ved at give responsive-optionen et objekt i stedet for en boolean. Dette giver dig kontrol over, hvilke kolonner der prioriteres, og hvordan de skjules. For eksempel kan du definere specifikke 'breakpoints' eller styre kolonnens synlighed baseret på enhedstype.

Fordele ved den Officielle Udvidelse

  • Nem implementering: Kræver minimal kode.
  • Automatisk tilpasning: Håndterer de fleste responsive behov automatisk.
  • Integration: Fungerer problemfrit med DataTables' øvrige funktioner.
  • Vedligeholdelse: Understøttes og vedligeholdes af DataTables-teamet.

Manuelle Hjælpere og Ældre Metoder

Før den officielle DataTables Responsive udvidelse var så moden, som den er i dag, var det almindeligt at bruge tredjeparts-hjælpere eller plugins til at opnå responsivitet. En bemærkelsesværdig tilgang, der er beskrevet i den oprindelige tekst, forsøgte at emulere funktionaliteten fra FooTable, et andet populært responsivt tabel-plugin. Denne metode involverer en mere manuel opsætning og er især relevant, hvis du arbejder med ældre DataTables-versioner (f.eks. 1.9.x eller 1.10.x) eller har meget specifikke krav til, hvordan dine tabeller skal opføre sig.

Is DataTables responsive?
Datatables did everything brilliantly but was not responsive. After some research, I found FooTable which handles the responsive behavior perfectly. After tinkering around, I've come up with something that helps make Datatables respond like FooTable. Complete working examples are provided using Bootstrap.

Trin for Trin: Opsætning af en Manuel Responsiv Helper

1. Tilføj Viewport Meta Tag

For at understøtte mobilvisning korrekt skal du inkludere den standard viewport meta-tag i din HTML-side's <head>-sektion. Dette sikrer, at browseren render tabellen korrekt baseret på enhedens bredde:

<meta name="viewport" content="width=device-width, initial-scale=1.0">

2. Inkluder Nødvendige CSS-filer

Du skal inkludere CSS-filer til dit foretrukne front-end framework (f.eks. Bootstrap), DataTables' integration med det framework, og den specifikke responsive helper CSS-fil. Eksempler for Bootstrap 3.x med DataTables 1.9.x og 1.10.x er:

<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" />

<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap-theme.min.css" />

<link rel="stylesheet" href="//cdn.datatables.net/plug-ins/e9421181788/integration/bootstrap/3/dataTables.bootstrap.css" />

<link rel="stylesheet" href="../../files/1.10/css/datatables.responsive.css" />

Bemærk, at stien til datatables.responsive.css vil variere afhængigt af din projektstruktur.

3. Inkluder Nødvendige JavaScript-filer

Ligesom med CSS skal du inkludere jQuery, DataTables' kerne-JS, DataTables' Bootstrap-integration og den responsive helper JavaScript-fil. For DataTables 1.10.x og Bootstrap 3.x, vil det se ud som:

<script src="//code.jquery.com/jquery.min.js"></script>

<script src="//cdn.datatables.net/1.10.0/js/jquery.dataTables.min.js"></script>

<script src="//cdn.datatables.net/plug-ins/e9421181788/integration/bootstrap/3/dataTables.bootstrap.js"></script>

<script src="../../files/1.10/js/datatables.responsive.js"></script>

4. Initialiser DataTables med Responsive Helper

Denne manuelle metode kræver oprettelsen af en ResponsiveDatatablesHelper-instans og integration af den i DataTables' callbacks. Du skal definere breakpoints for forskellige enhedstyper (f.eks. tablet, phone) og initialisere hjælperen i preDrawCallback, oprette udvidelsesikoner i rowCallback og reagere på vinduesændringer i drawCallback.

var responsiveHelper;

var breakpointDefinition = { tablet: 1024, phone: 480 };

var tableElement = $('#example');

tableElement.dataTable({ autoWidth: false, preDrawCallback: function() { if ( ! responsiveHelper ) { responsiveHelper = new ResponsiveDatatablesHelper(tableElement, breakpointDefinition); } }, rowCallback: function(nRow) { responsiveHelper.createExpandIcon(nRow); }, drawCallback: function(oSettings) { responsiveHelper.respond(); } });

Indstilling af autoWidth til false er vigtigt for at give den responsive hjælper fuld kontrol over kolonnebredderne.

5. Tilføj Data-attributter til Tabel-elementer

For at styre den responsive adfærd på kolonneniveau, skal du tilføje specifikke data-attributter til dine <th>-elementer:

  • data-class="expand": Tilføjes til den kolonne, hvor du ønsker at vise udvidelsesikonet (denne kolonne kan ikke skjules).
  • data-hide="phone,tablet": Bestemmer, hvornår en kolonne skal skjules (f.eks. på telefoner og tablets). Du kan også bruge data-hide="always" til at holde en kolonne permanent skjult.
  • data-name="Hidden Column Name": Angiver den label, der skal bruges, når kolonnen er skjult og vises i detaljevisningen.

Eksempel på <thead>-struktur:

<thead><tr><th class="centered-cell"><input type="checkbox" id="masterCheck" class="checkbox" /></th><th data-class="expand">Rendering engine</th><th>Browser</th><th data-hide="phone" data-name="Plat">Platform(s)</th><th data-hide="phone,tablet" data-name="Eng Ver">Engine version</th><th data-hide="phone,tablet" data-name="CSS Grd">CSS grade</th></tr></thead>

6. Avancerede Indstillinger for den Responsive Helper

Den responsive hjælper understøtter også en række avancerede indstillinger, der kan specificeres som et tredje parameter i konstruktøren:

  • hideEmptyColumnsInRowDetail (Boolean, standard: false): Hvis true, vil udvidelsesikonet kun vise skjulte kolonner, der faktisk indeholder indhold.
  • clickOn (String, acceptable værdier: icon, cell eller row, standard: icon): Bestemmer, hvor brugeren skal klikke for at udvide detaljevisningen.
  • showDetail (Funktion, standard: null): En callback-funktion, der kaldes, når detaljerækken er vist, og modtager jQuery tr-objektet for detaljerækken som argument.
  • hideDetail (Funktion, standard: null): En callback-funktion, der kaldes, når detaljerækken er ved at blive skjult, og modtager jQuery tr-objektet for detaljerækken som argument.

jQuery DataTable_Mobify: Et Alternativt Plugin

Et andet plugin, jQuery DataTable_Mobify, er specifikt designet til at få jQuery DataTables til at rendere korrekt på mobile og håndholdte enheder. Dette plugin fokuserer på at omarrangere tabelindholdet, så det passer til en mindre skærm, ofte ved at flytte kolonneoverskrifter til at stå foran cellens indhold, snarere end at skjule kolonner.

Nogle nøglepunkter for DataTable_Mobify:

  • Designet til responsivt design, hvilket kræver, at overordnede elementer (f.eks. en div, der indeholder tabellen) også tilpasser sig med procentbaserede bredder.
  • Bruger <span>-elementer til at tilføje overskrifter foran hver celles indhold, hvilket gør det nemmere at modificere med jQuery end CSS pseudo-elementer (::before).
  • Inkluderer specifik funktionalitet til håndtering af DataTables checkbox-elementer, som ellers ville fremstå tomme, da der ikke er nogen tekstværdi i den tilsvarende <th>.

Mens DataTable_Mobify tilbyder en interessant tilgang, især for ældre designfilosofier inspireret af CSS-Tricks' responsive tabelmetoder, er den officielle DataTables Responsive udvidelse generelt den mest robuste og moderne løsning for de fleste nye projekter.

Sammenligning og Anbefalinger

Valget mellem den officielle DataTables Responsive udvidelse og manuelle hjælpere/ældre plugins afhænger primært af dit projekts krav, eksisterende DataTables-version og behovet for specifik tilpasning.

body>

FunktionDataTables Responsive Udvidelse (Officiel)Manuel Helper (f.eks. FooTable-inspireret)jQuery DataTable_Mobify
ImplementeringMeget enkel (responsive: true)Mere kompleks, kræver flere konfigurationer og JS-callbacksKræver specifik CSS og JS, tilpasser celleindhold
DataTables VersionAnbefales til nyere versioner (1.10.x og op)Relevant for ældre versioner (1.9.x, 1.10.x)Kan være kompatibel med forskellige versioner, men mere niche
Kontrol over kolonnevisningAutomatisk med mulighed for prioritering og breakpointsManuel styring via data-hide attributterOmarrangerer indhold, skjuler ikke nødvendigvis kolonner
Brugeroplevelse'Udvide'-knap for skjulte detaljer, strømlinetLigner FooTable, 'udvide'-ikon, detaljevisningOmdanner tabel til en liste-lignende struktur på mobil
VedligeholdelseAktivt vedligeholdt af DataTables-teametAfhænger af tredjepartsudviklerAfhænger af tredjepartsudvikler
AnbefalingFørstevalg for nye projekterGodt for ældre projekter eller specifikke kravNicheløsning, hvis traditionel kolonne-skjul ikke er ønsket

For de fleste moderne webprojekter er den officielle DataTables Responsive udvidelse det klart bedste valg. Den er nem at implementere, yderst effektiv og vedligeholdes aktivt, hvilket sikrer kompatibilitet og fremtidige opdateringer. De manuelle metoder er værdifulde at kende, især hvis du arbejder med ældre kodebaser eller har unikke designkrav, der ikke kan opfyldes af standardudvidelsen.

How to make wide HTML tables mobile-friendly?
Responsive tables render their data correctly on both wide desktop and narrow mobile screens. We can make websites scroll to the right to reveal overflowing cells or stack some cells to make them fit mobile devices. This article presents the most commonly used methods to make wide HTML tables mobile-friendly. 1. Scrolling Tables

Bedste Praksis for Responsive Tabeller

Uanset hvilken metode du vælger, er der generelle bedste praksis, der kan forbedre din responsive tabel-oplevelse:

  • Prioriter indhold: Overvej, hvilke kolonner der er absolut nødvendige at vise på alle skærmstørrelser, og hvilke der kan skjules eller omarrangeres. Det vigtigste indhold skal altid være umiddelbart synligt.
  • Brug klare etiketter: Når kolonner skjules, sørg for, at deres indhold stadig er letforståeligt, når det udvides. Brug meningsfulde data-name attributter, hvis du bruger en manuel helper.
  • Test på tværs af enheder: Test altid dine responsive tabeller på en række forskellige enheder og skærmstørrelser for at sikre, at de fungerer som forventet og giver en god brugeroplevelse. Brug browserens udviklerværktøjer til at simulere forskellige enheder.
  • Overvej brugerinteraktion: Tænk over, hvordan brugere vil interagere med tabellen på en touch-skærm. Er knapper store nok? Er klikområder tydelige?
  • Hold det simpelt: Undgå overkomplicerede tabelstrukturer, hvis det er muligt. Jo færre kolonner og jo mere ligetil data, jo nemmere er det at gøre tabellen responsiv.

Ofte Stillede Spørgsmål (FAQ)

Hvad er DataTables Responsive?

DataTables Responsive er en officiel udvidelse til jQuery DataTables, der automatisk tilpasser tabellens layout til forskellige skærmstørrelser. Den gør dette ved dynamisk at styre synligheden af kolonner, så tabellen forbliver brugbar og æstetisk tiltalende på både desktop- og mobile skærme.

Hvordan gør jeg en DataTable responsiv?

Den nemmeste måde at gøre en DataTable responsiv på er at initialisere den med responsive: true i DataTables-konstruktøren, efter du har inkluderet de nødvendige CSS- og JavaScript-filer for den officielle Responsive udvidelse. For ældre versioner eller mere specifikke behov kan manuelle hjælpere med data-hide attributter og callbacks anvendes.

Hvorfor er mine tabeller ikke responsive som standard?

Standard HTML-tabeller er ikke designet med responsivitet for øje; de har en fast bredde baseret på indholdet. DataTables, som et jQuery-plugin, forbedrer interaktiviteten, men tilføjer ikke automatisk responsiv adfærd uden en specifik udvidelse eller tilpasning. Dette skyldes, at responsivitet kan opnås på mange måder, og DataTables giver fleksibilitet til at vælge den bedste tilgang for dit indhold.

Kan jeg tilpasse, hvilke kolonner der skjules?

Ja, absolut. Med den officielle DataTables Responsive udvidelse kan du definere prioritet for kolonner, så du styrer, hvilke der skjules først. Med manuelle hjælpere kan du bruge data-hide attributter på specifikke <th>-elementer til at angive, hvornår en kolonne skal skjules (f.eks. data-hide="phone,tablet").

Hvad er forskellen mellem DataTables Responsive og FooTable?

FooTable er et dedikeret jQuery-plugin til responsive tabeller, kendt for sin elegante måde at skjule og afsløre kolonne-data på mindre skærme. DataTables Responsive er en udvidelse til det allerede eksisterende DataTables-plugin, der tilføjer lignende responsiv funktionalitet direkte til dine DataTables. Forskellen ligger primært i deres oprindelse og integration: FooTable er et selvstændigt produkt, mens DataTables Responsive bygger oven på DataTables' fundament og udvider dets muligheder.

Hvad betyder 'always' breakpoint?

I manuelle responsive DataTables-opsætninger, hvor data-hide attributter bruges, betyder data-hide="always", at den pågældende kolonne altid vil være skjult, uanset skærmstørrelse. Dette kan være nyttigt for metadata eller andre informationer, der ikke behøver at være synlige som standard, men stadig er tilgængelige via udvidelsesfunktionaliteten.

Konklusion

At gøre dine DataTables responsive er et afgørende skridt mod at levere en fremragende brugeroplevelse på tværs af alle enheder. Uanset om du vælger den enkle og effektive officielle DataTables Responsive udvidelse eller en mere manuel tilgang for ældre versioner og specifikke behov, er målet det samme: at sikre, at dine data altid er læselige, tilgængelige og brugervenlige. Med de rigtige værktøjer og en forståelse af de underliggende principper kan du nemt mestre kunsten at skabe dynamiske og mobile-venlige tabeller, der imponerer dine brugere.

Hvis du vil læse andre artikler, der ligner Gør dine DataTables Fuldstændig Responsive, kan du besøge kategorien Teknologi.

Go up