🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

css-fx-layout

Package Overview
Dependencies
Maintainers
0
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

css-fx-layout

A lightweight SCSS flexbox library inspired by Angular Flex-Layout.

3.0.5
latest
Source
npm
Version published
Weekly downloads
475
25.33%
Maintainers
0
Weekly downloads
 
Created
Source

css-fx-layout 📚

GitHub Actions Test npm version

This is a lightweight and modular SCSS flexbox library. It is inspired by Angular's Flex-Layout and can replace the most popular functions of the (by now deprecated) Angular library.

Info: This library is actively maintained and is already feature-complete, functioning as intended. Future releases will focus primarily on providing bug fixes and addressing similar issues to ensure a smooth user experience.

Features

This library gives you the option between using CSS classes or data-attributes. Both options give you the same features but the CSS classes can be more verbose when you want a more complex layout.

Please refer to the documentation on https://philmtd.github.io/css-fx-layout for a full list of all available selectors and features.

HTML data-attribute selectors

Using the data attributes is the easiest way to use this library and easier to migrate to from Angular Flex-Layout:

For example css-fx-layout provides attributes like the following, which can be configured through the values passed to them:

  • data-layout and data-layout-align
  • data-layout-gap
  • data-hide-... and data-show-...
  • data-flex

CSS class selectors

Using the CSS classes is more verbose and the more "CSS-y" way of styling your HTML:

For example css-fx-layout provides classes with naming patterns like:

  • fx-layout-... and fx-align-...
  • fx-gap-...
  • show-... and hide-...
  • fx-flex-...

Responsive API

The library provides a responsive API which allows to create different layouts for different screen sizes using known breakpoints like xs, sm, md, lg, xl and including lt- and gt- variations of them. Please check out the documentation for details on how to use it.

Getting started

Add the library to your project's package.json:

npm i -s css-fx-layout

Then follow the Getting Started guide in the documentation.

Examples

These are just two simple examples how to use css-fx-layout. Visit the examples page for more and live-rendered examples.

Layout

Example 1

This is the simplest example. It will make the div a flex container and align the three spans in a row:

CSS ClassesData Attributes
<div class="fx-layout-row">
    <span>One</span>
    <span>Two</span>
    <span>Three</span>
</div>
<div data-layout="row">
    <span>One</span>
    <span>Two</span>
    <span>Three</span>
</div>

The resulting layout:

Example 1

Example 2

An advanced example that aligns the items in reverse order with a gap of four pixels and vertically centered:

CSS ClassesData Attributes
<div class="fx-layout-row 
            fx-layout-reverse 
            fx-align--start-x 
            fx-align--x-center 
            fx-gap--4px">
    <span>One</span>
    <span>Two</span>
    <span>Three</span>
</div>
<div data-layout="row reverse" 
     data-layout-align="start center" 
     data-layout-gap="4px">
    <span>One</span>
    <span>Two</span>
    <span>Three</span>
</div>

The resulting layout:

Example 2

What problem does this library solve?

Initially I created this library because I liked the convenient syntax of Angular Flex-Layout and wanted to use it in non-Angular projects and without JavaScript.

By now Angular Flex-Layout has been deprecated and this library can be a replacement for most of the popular parts.

FAQs

Package last updated on 22 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts