npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@bexio/flexgrid

v0.0.6

Published

Bexio flexgrid

Downloads

3

Readme

@bexio/flexgrid

npm version

The Bexio Flexgrid is a 12 column based, standalone grid system, build with the flexbox CSS properties. There is no unnecessary style included. The syntax aims to be simple and should make coding much easier. The Bexio Flexgrid is responsive and easy to implement.

Project status

Stable

Getting started

To use Bexio Flexgrid you have to understand the following principles.

The wrapper class handles the content max-width for all common devices. All content outside this wrapper will be fluid from the left to the right of your browser.

<div class="wrapper">
     <!-- your content -->
</div>

The grid itself is defined as a 12 column grid. The grid class contains all cell you will handle on one line. If they don't have enough space at one line, they will brake to another line You don't have to place the grid inside a wrapper. You are also able to nest grid's.

<div class="grid">
     <!-- your content -->
</div>

The cell class represents, let say, your column. Cell elements must be child's of grid elements. If you want to nest grid elements, the grid has to be nested in a cell.

<div class="cell">
     <!-- your content -->
</div>

// cell elements have to be child elements of grid

<div class="grid">
    <div class="cell">
         <!-- your content -->
    </div>
</div>

// cell elements have to be child elements of grid

<div class="grid">
    <div class="cell">
         <!-- your content -->
    </div>
</div>

Last but not least: A strength of the Bexio Flexgrid grid is the variety of modifier that can be used as you need them. This makes the grid very powerful and versatile. The word modifier represents css classes like left right which exactly change the behaviour which they describe.

wrapper

The wrapper reacts on the defined breakpoints and change its width to the viewport size accordingly. You can change or define new breakpoints and the wrapper [width] as you need it for you project.

grid

The grid is a column fluid responsive grid. That means it shrinks with the browser/device at smaller sizes. By default the grid comes without gap (gutter: space between each cell). But you can use the predefined values when adding grid-gap

// use predefined gap

<div class="grid grid-gap">
    <!-- your content -->
</div>
// use predefined gap without the gap at the bottom

<div class="grid grid-gap no-bottom-gap">
    <!-- your content -->
</div>

cell

The cell widths are by default automatically equal for each one. If the screen is smaller then the cell-contents, the last cell will be break to the next line. When the 'braked' cell has no neighboring cell, it will be full in width, otherwise it share the width equally.

queries

As the grid is 12 column based the media query classes can be set, with a breakpoint class-name (xs sm md lg) and a number from 1-12 representing the column it should adjust, like so xs12 sm6 md4 lg3.

The breakpoints are defined as follows:

  • xs: 0, // tiny devices [phone portrait]
  • sm: 544px, // small devices [phone landscape]
  • md: 768px, // medium devices [tablets]
  • lg: 992px, // large devices [desktop]
  • xl: 1429px // extra large devices [...the future]
// all nested cell's are sharing the same breakpoints

<div class="grid xs12 sm6 md4 lg3">
    <div class="cell">
         <!-- your content -->
    </div>
    <div class="cell">
         <!-- your content -->
    </div>
</div>
// specific cell will adjust to provided breakpoints

<div class="grid">
    <div class="cell">
         <!-- your content -->
    </div>
    <div class="cell xs12 sm6 lg12">
         <!-- your content -->
    </div>
</div>
// combining both: 
// cell's can share same breakpoints and adjust on those which want to be more specific

<div class="grid xs12 sm6 md4 lg3">
    <div class="cell">
         <!-- your content -->
    </div>
    <div class="cell">
         <!-- your content -->
    </div>
    <div class="cell lg6">
         <!-- your content -->
    </div>
    <div class="cell md12">
         <!-- your content -->
    </div>
</div>

alignment

The Bexio Flexgrid offers multiple alignment modifiers. You are able to align the cells or the cell-content. The cell's and their content can be aligned in the following directions:

  • vertical [top, middle, bottom]
  • horrizontal [left, center, right]
// this is one of multiple ways alignment can be used

<div class="grid grid-gap middle center">
    <div class="cell-shrink bottom">
         <!-- your content -->
    </div>
    <div class="cell top">
         <!-- your content -->
    </div>
    <div class="cell cell-shrink right">
         <!-- your content -->
    </div>
</div>

Other used-case examples

The grid-flex modifier makes sure that all cells at the same row would be as high as the highest cell.

<div class="grid grid-gap grid-flex">
    <div class="cell">Some cell</div>
    <div class="cell">Some cell</div>
</div>

The cell width are by default automatically equal for each one. But with the modifier cell-shrink you are able to shrink the cell to the size of the cell-content.

Note: If a cell has the modifier cell-shrink, all other cells will recalculate their width and share the new space with each other.

<div class="grid grid-gap">
    <div class="cell">Some cell</div>
    <div class="cell cell-shrink">Some cell</div>
</div>

Customize the Bexio Flexgrid

All grid specific (!default) values that can be overridden are set in variables/_flexgrid.scss. To override those simply redefine them before they get assigned.

License

MIT Bexio