<div class="rtds-py-6 rtds-space-y-8">
<div class="rtds-px-6">
<h1 class="rtds-text-2xl rtds-font-bold">Containers</h1>
<p>Demo for used containers: custom utility (with project prefix).</p>
</div>
<div class="rtds-grid rtds-gap-6">
<div class="rtds-container-xxs rtds-bg-neutral-500 rtds-p-3">
<h2 class="rtds-text-lg"><strong>rtds-container-xxs</strong></h2>
<p>max-width: 640px</p>
</div>
<div class="rtds-container-xs rtds-bg-neutral-500 rtds-p-3">
<h2 class="rtds-text-lg"><strong>rtds-container-xs</strong></h2>
<p>max-width: 1024px</p>
</div>
<div class="rtds-container-sm rtds-bg-neutral-500 rtds-p-3">
<h2 class="rtds-text-lg"><strong>rtds-container-sm</strong></h2>
<p>max-width: 1280px</p>
</div>
<div class="rtds-container rtds-bg-neutral-500 rtds-p-3">
<h2 class="rtds-text-lg"><strong>rtds-container</strong></h2>
<p>max-width: 1536px</p>
</div>
</div>
</div>
<div class="rtds-py-6 rtds-space-y-8">
<div class="rtds-px-6">
<h1 class="rtds-text-2xl rtds-font-bold">Containers</h1>
<p>Demo for used containers: custom utility (with project prefix).</p>
</div>
<div class="rtds-grid rtds-gap-6">
{% for container in containers %}
<div class="{{ container.name }} rtds-bg-neutral-500 rtds-p-3">
<h2 class="rtds-text-lg"><strong>{{ container.name }}</strong></h2>
<p>max-width: {{ container.width }}</p>
</div>
{% endfor %}
</div>
</div>
{
"containers": [
{
"name": "rtds-container-xxs",
"width": "640px"
},
{
"name": "rtds-container-xs",
"width": "1024px"
},
{
"name": "rtds-container-sm",
"width": "1280px"
},
{
"name": "rtds-container",
"width": "1536px"
}
]
}
/**
* CONTAINER UTILITIES
*
*/
@layer utilities {
/* CONTAINER */
/* Custom container utility */
.rtds-container-xxs {
@apply rtds-max-w-screen-sm rtds-w-[90%] rtds-mx-auto;
}
.rtds-container-xs {
@apply rtds-max-w-screen-lg rtds-w-[90%] rtds-mx-auto;
}
.rtds-container-sm {
@apply rtds-max-w-screen-xl rtds-w-[90%] rtds-mx-auto;
}
.rtds-container {
@apply rtds-max-w-screen-2xl rtds-w-[90%] rtds-mx-auto;
}
/* RULE FOR NESTED CONTAINERS - prevent horizontal margin */
[class*="rtds-container"] [class*="rtds-container"] {
@apply rtds-mx-0 rtds-w-full;
}
}
I container sono elementi fondamentali per la gestione della larghezza e del layout dei contenuti nel progetto.
È possibile utilizzare l’utility container predefinita di Tailwind, che può essere personalizzata modificando i breakpoint di Tailwind.
Documentazione Tailwind container
Il container predefinito di Tailwind utilizza larghezze massime diverse per ogni breakpoint, invece di un comportamento fluido sotto il breakpoint di layout massimo. Se usato, si consiglia questa implementazione:
<!-- Larghezza fluida fino al breakpoint `md`, poi bloccata al container -->
<div class="md:container md:mx-auto">Il breakpoint può essere lg, xl ecc. a seconda del layout desiderato.
Il container predefinito non è centrato. È possibile:
Nel framework viene utilizzata un’utility personalizzata rtds-container che combina:
Per le varianti del container (es. container piccolo o molto piccolo utilizzati in diverse sezioni o per contenuti solo testuali nelle pagine di dettaglio) sono necessarie utility personalizzate. Queste devono essere definite in CSS, gestendo la larghezza massima utilizzando le classi di breakpoint di Tailwind.
Esempio:
.rtds-container-xs {
@apply max-w-screen-lg w-[90%] mx-auto;
}La denominazione deve essere impostata in base alle esigenze di design e alle configurazioni del framework di design.
La denominazione dei container (xs, md…) non riflette necessariamente il breakpoint Tailwind utilizzato in quell’utility (può anche essere una larghezza diversa), ma riflette le esigenze del progetto/l’uso effettivo del container.
Esempi di denominazione:
rtds-container-xxsrtds-container-xsrtds-container-md