Lila CSS Framework

A semantic, modern CSS framework inspired by Pico.css , Material Design and shadcn/ui.

This documentation provides a complete guide to all the components and utilities available in Lila CSS.

Install

Include the Lila CSS file in your HTML file.

Or download the file and include it locally.

                        
<link rel="stylesheet" href="https://seip25.github.io/lila-css/lila.css" />
                        
                    

Buttons

Various button styles for different actions.

Link button Link button secondary
<button>Primary</button>
<button class="outline">Outline</button>
<button class="secondary">Secondary</button>
<button class="destructive">Destructive</button>
<button class="ghost">Ghost</button>
<button class="fill">Fill</button>
<button class="fab">+</button>
<button class="fab secondary">+</button>
<button class="fab destructive">+</button>
<button class="fab outline">+</button>
<button class="fab fill">+</button>
<button class="fab ghost">+</button>
<a role="button">Link button</a>
<button role="button" class="secondary">Link button secondary</a>


Forms

Styles for inputs, textareas, selects, and floating labels.

Personal Information
<input type="text" placeholder="Standard Input">
<input class="fill" type="text" placeholder="Fill Input">
<select>...</select>
<select class="fill" >...</select>
<textarea placeholder="Textarea"></textarea>

<div class="floating">
  <input type="email" id="float" placeholder=" " />
  <label for="float">Floating Label</label>
</div>

 
<label  >
<input type="checkbox" name="switch" role="switch"  >
My switch
</label>
 
<fieldset>
    <legend>Personal Information</legend>
    <input type="text" placeholder="First Name">
    <input type="text" placeholder="Last Name">
    <input type="email" placeholder="Email">
    <button> Send</button>
</fieldset>

Typography

Semantic styling for all text elements.

Heading 1

Heading 2

Heading 3

"This is a blockquote. It's great for highlighting quotes or important notes."

You can use marked text, keyboard shortcuts like Ctrl+K, and inline <code> snippets.

Table

Responsive and clean tables.

ID User Status
1 Ana Active
2 Luis Active
3 Marta Inactive

Container

The .container class centers content with a max-width of 1120px.

<div class="container">
  Your content here...
</div>

Grid System

A responsive grid system using CSS Grid. Use .grid and column utilities like .cols-2, .cols-3.

1
2
3
<div class="grid cols-3 gap-2">
  <div>Column 1</div>
  <div>Column 2</div>
  <div>Column 3</div>
</div>

Spacing Utilities

Utilities for gaps, margins, and paddings.

.p-2
.p-4 .mt-4
/* Gap (for flex/grid) */
.gap-1, .gap-2, .gap-3, .gap-4

/* Margin */
.mt-4, .mb-4

/* Padding */
.p-4

Card / Content Block

Use <article>, <section>, or a <div class="card"> to create bordered content blocks. They all share the same base style.

This is an Article

Used for self-contained content.

My Card

Footer

<article>
  <h4>Title</h4>
  <p>Content...</p>
</article>

<div class="card">
  ...
</div>


<article>
  <header>
     <img src="https://placehold.co/600x400" alt="" /> 
    <p>Content...</p>
  </header>
  <footer>
    <p>Footer</p>
  </footer>
</article>

<div class="card">
  ...
</div>

Accordion

A simple, semantic accordion using <details> and <summary>.

Click to expand

Here is the content of the accordion.

Open by default

This content is visible initially.

<details>
  <summary>Title</summary>
  <p>Content...</p>
</details>

Dialog (Modal)

Semantic modals using the <dialog> element. Includes a fullscreen variant.

Dialog Title

Dialog content goes here.

Fullscreen Dialog

An immersive dialog experience.

<dialog id="myDialog" class="w-400-px w-100">
    <article>
      ... 
      <footer class="flex between items-center">
        <button class="ghost" onclick="myDialog.close()">Close</button>
        <button onclick="myDialog.close()"   >Send</button>
      </footer>
    </article>
</dialog>

Flex & Sizing Utilities

A collection of utilities for flexbox layouts, sizing, and visibility.

Flex container .w-full Items aligned
/* Flexbox */
.flex { display: flex; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.between { justify-content: space-between; }

/* Sizing */
.w-full { width: 100%; }

/* Visibility */
.hidden { display: none !important; }

Responsive Visibility

Show or hide elements based on screen size using responsive utility classes.

Visible on SM (<640px)
Visible on MD (641px - 1024px)
Visible on LG (>1025px)
Hidden on MD
<!-- Show only on specific breakpoints -->
<div class="visible-sm">Mobile only</div>
<div class="visible-md">Tablet only</div>
<div class="visible-lg">Desktop only</div>

<!-- Hide on specific breakpoints -->
<div class="hidden-sm">Hidden on Mobile</div>
<div class="hidden-md">Hidden on Tablet</div>
<div class="hidden-lg">Hidden on Desktop</div>

Color Utilities

Apply colors using semantic classes like .bg-primary and .text-success, or use the full palette.

Primary

Secondary

Surface

<div class="bg-primary">...</div>
<p class="text-success">Success message</p>
<div class="bg-red-500 text-red-50">...</div>

Full Color Palette

100

200

300

400

500

600

700

800

900

100

200

300

400

500

600

700

800

900

100

200

300

400

500

600

700

800

900

100

200

300

400

500

600

700

800

900

100

200

300

400

500

600

700

800

900

100

200

300

400

500

600

700

800

900

100

200

300

400

500

600

700

800

900

Shadows

Apply shadows using the .shadow class or CSS variables for more control.

.shadow
shadow-md
<div class="shadow">...</div>
<div style="box-shadow: var(--shadow-md);">...</div>

Borders

Control border-radius and add borders with utility classes.

default
.rounded-lg
.rounded-full
.border
<div class="rounded-lg">...</div>
<div class="border">...</div>

Bottom Navigation Bar

A mobile-friendly bottom navigation bar that stays fixed to the bottom of the page. Useful for mobile layouts or Progressive Web Apps. You may combine it with the visible-sm utility class to show it only on small screens, or remove it to display the bar everywhere.

<nav class="bottom-nav visible-sm">
  <ul>
    <li><a href="/search">Search</a></li>
    <li><a href="/cart">Cart</a></li>
    <li><a href="/account">Account</a></li>
  </ul>
</nav>

The visible-sm class ensures the bar only appears on small screens. Remove the class if you want the bottom nav to be visible at all screen sizes.