Skip to content

💅 Helps manage media queries with styled components

License

Notifications You must be signed in to change notification settings

dvpnt/styled-media-helper

Repository files navigation

💅 styled-media-helper

Build Status Coverage Status NPM Version

This module makes easy to write media queries using styled-components.

Inspired by Bootstrap media-breakpoint-... mixins.

Installation

$ npm install styled-media-helper

Usage

import styled from 'styled-components';
import mediaHelper from 'styled-media-helper';

const media = mediaHelper({
  sm: 320,
  md: 768,
  lg: 1240
});

export default styled.div`
  width: 100px;
  height: 100px;
  background-color: blue;

  ${media.up('lg')} {
    width: 150px;
  }

  // Output:
  //   @media (min-width: 1240px) {
  //     width: 150px;
  //   }


  ${media.down('sm')} {
    background-color: black;
  }

  // Output:
  //   @media (max-width: 767.98px) {
  //     background-color: black;
  //   }


  ${media.between('sm', 'lg')} {
    width: 200px;
  }

  // Output:
  //   @media (min-width: 320px) and (max-width: 1239.98px) {
  //     width: 200px;
  //   }


  ${media.only('md')} {
    background-color: green;
  }

  // Output:
  //   @media (min-width: 768px) and (max-width: 1239.98px) {
  //     background-color: green;
  //   }


  ${media.only('sm')} {
    background-color: green;
  }

  // Output:
  //   @media (min-width: 320px) and (max-width: 767.98px) {
  //     background-color: green;
  //   }


  ${media.only('lg')} {
    border-radius: 15px;
  }

  // Output:
  //   @media (min-width: 1240px) {
  //     border-radius: 15px;
  //   }
`;

License

The MIT License (MIT)