Widgets
Custom Layout
Custom Layout

With arcCustomLayout
, you can design your interface in Ninox exactly how you want it – completely without table constraints or rigid layouts. The widget is based on a flexible container approach (similar to flexbox
in CSS) and allows you to align, group, and customize content precisely.
Whether you want to arrange simple sections side by side, create an info card with a graphic background, or structure interactive elements on a page – arcCustomLayout
is your tool for that.
What you control:
Alignment (horizontal / vertical)
Spacing, colors, background images
Flexible behavior for screen sizes
Custom styles per block
Interactions (e.g., click actions on areas)
In contrast to arcCustomGrid
, which is designed for two-dimensional structures (rows and columns), the layout consciously works one-dimensionally: You determine whether the contents are displayed horizontally (side by side) or vertically (one below the other) – including alignment, spacing, colors, and responsive adjustments.
🎯 What you can do with it:
Card-like layouts with titles, descriptions, and buttons side by side
Hero sections with large text blocks + images side by side (horizontal)
Vertical form blocks with targeted spacing and background colors
Interactive blocks with click functions (popup, update, delete, etc.)
Combination of multiple data sources in a dynamic layout
Application Code
Quick Start – Simple Basic Layout
A compact example that you can start with directly. Ideal if you want to arrange a few contents side by side (direction: "horizontal"
) or one below the other (direction: "vertical"
) – for example, text blocks, KPIs, or buttons. The most important parameters such as alignment, width, and spacing are already set and can be easily adjusted.
✅ Quickly usable
✅ Flexibly adjustable
✅ Perfect for copying and getting started
Full Layout Base – Wide Layout in Record Container
This setup is intended for layouts that are not embedded and extend over the entire content area of a record or page. Particularly suitable for dashboards, overview pages, or start screens that should appear tidy and focused within Ninox.
✅ Full width within the tab or record
✅ No embedding – the layout stands alone
✅ Ideal for larger components, panels, or overview pages
Code with all Parameters
💡Note: You can also nest multiple layouts within each other. This allows you to build complex interfaces and make Ninox even clearer.
General Settings
The upper parameters specify the general settings of your entire layout. This is basically the outermost container of your layout.
uniqueId
uniqueId is the individual designation of your layout. Make sure to give a unique title here. This is important if you want to display multiple layouts on a page / in a table and not overwrite each other.
embedded
embedded specifies whether your layout should be integrated into another widget.
Fullscreen Settings
With fullscreen, you determine whether your layout should be displayed across the entire screen. For proper use, please specify in the ninoxVersion parameter which web version you are using. For example, "3.13".
With page, you define whether you are embedding the layout on a page or in a table. If you specify true here, you are on a page; if you specify false, you are in a table. So far, fullscreenMode: "full" has only worked on Ninox Pages, not on Ninox Tables. With the parameter "page", the fullscreenMode: "full" effects also work on records of a table. For this, you must set the page parameter to false.
With the fullscreenMode: "full", Ninox headers and tabs can be hidden. To continue using the layout fullscreenMode: "full", the version must be added as a parameter ninoxVersion: "3.13". The parameter also applies to versions after 3.13 (for example, if you have 3.15 set).
With showAdminTools, you decide whether to hide the admin button for admins.
Scroll Settings
In the scroll settings, you can determine whether your layout should be scrollable vertically (scrollY) or horizontally (scrollX). The layout also remembers the scroll position. This means: If you apply triggers that briefly reload Ninox, the layout remains at the last scroll position and does not change.
direction
direction specifies how your other contents (blocks) should be arranged.
alignX
alignX: specifies how your contents are arranged on the X-axis.
alignY
alignY: specifies how your contents are arranged on the Y-axis.
width
width specifies the width.
height
height specifies the height.
gap
With gap, you determine how much space should be between your blocks.

Settings in the Layout Block
The parameters within a block determine values that belong to a respective layout block. You can also add additional blocks (separated by commas).
width
width and height specify the width and height of the layout block.
lineHeight
With lineHeight, you determine the spacing between the lines in the layout.
alignX
alignX: specifies how your contents are arranged on the X-axis within the layout block.
color & backgroundColor
With color and backgroundColor you determine the font color and background color of the text within your layout block.
styles
In styles, you can add your own CSS styles to the layout block.
value
value is the value that is output within the layout block. Here you can specify, for example, text, Ninox fields, or customWidgets.
clickAction Block
clickAction describes your actions in the respective blocks.
openTable opens a table view in Ninox.
openURL opens an external URL that you define.
types in the clickActions are as follows:
Fullscreen Mode
fullscreenMode allows you to hide all Ninox elements in the form with fullscreen:true. Additionally, through showAdminTools, the Ninox key for other admins (e.g., admins in customer databases) can be hidden. You could, for example, use if else end to show the key only for your user. hideHeaderHeaderIcons can also give more control over hiding Ninox symbols in the header.