include-media icon indicating copy to clipboard operation
include-media copied to clipboard

Help needed- setup

Open codiejay opened this issue 3 years ago • 5 comments

Please how can I properly set up @Includ-media in my scss project? I can't find a proper example, please I'll appreciate any help at all.

NOTE: I have ran yarn add include-media

here's what my file contains now:

//overwrites and states && variables
@import url(//db.onlinewebfonts.com/c/7b50cc294a705c6968947e1786ae546a?family=Komu+A);
@import url('/Assets/Fonts/Estricta/stylesheet.css');

* { 
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
body { 
  width: 80vw;
  margin: 0 auto;
  padding: 3rem 0;
}
$headingFont: "Komu A", sans-serif;
$textFont: "Estricta", sans-serif;
$mainColo: #FFF5EA;
$darkColor: #040F20;
$fancyColor: #F46095;
$PrimaryFade: #FFECD8; 
$secondaryFade: #FF8600;

//header 
header { 
  font-family: $headingFont;
  display: grid;
  grid-template-columns: 2fr 8fr 1fr;
    ul { 
      text-align: right;
        li { 
          text-decoration: none;
          list-style: none;
            a { 
              color: $darkColor;
            }
        }
    }
}

//showcase 

//course section 

//about 

//newsletter 

//call to action 

//footer 


/*Reponsitivity starts here*/

codiejay avatar Jul 14 '21 14:07 codiejay

After installing it with npm it depends how your stack looks like. If you are using any bundler like webpack you would need to import it into your entry js file with import 'include-media';. The easiest way is to go to the dist folder from this repo and download the sass file. Afterwards put it in your sass files and import it @import. This would work but import will get deprecated at some point.

Supportic avatar Jul 14 '21 22:07 Supportic

@Supportic thanks a lot.

i am just using this in a basic html/scss stack. nothing serious at all. but when i import like so: @import (...thesassfile) I can't see to understand how to use it

when i do

@include media("phone") {
header {display: 'none'}
}

I get a media isn't a mixin error in my live sass compiler.

codiejay avatar Jul 15 '21 14:07 codiejay

Try to keep the syntax like here described: https://eduardoboucas.github.io/include-media/ You can open the copied sass files and adjust your own breakpoints in the $breakpoints map. Try this:

.box {
  width: 200px;
  height: 500px;
  background: red;

  @include media('>desktop') {
    background: blue;
  }
}

or this

.box {
  width: 200px;
  height: 500px;
  background: red;
}

@include media('>desktop') {
  .box {
    background: blue;
  }
}

Supportic avatar Jul 16 '21 10:07 Supportic

@Supportic thanks
but everytime i do that i get this error in my scss i get this error image

this is how i import include it in my scss
@import url('/node_modules/include-media/dist/_include-media.scss');

codiejay avatar Jul 16 '21 12:07 codiejay

Because @import is using a path relative to the file where you are trying to import. But this is not an issue of this repo it's more about how to import node_module packages into sass. If your structure look like this:

- node_modules
- build
 | - index.scss

Then your path has to be: @import "../node_modules/include-media/dist/include-media"

Supportic avatar Jul 16 '21 20:07 Supportic

Closing this issue due to age.

@codiejay hoping you got the answer you needed by now.

jackmcpickle avatar Jan 24 '23 11:01 jackmcpickle

Just wanted to leave a note for anyone running into issues with Next.js 14.x and Turbopack the format below worked for me, inside your MyComponent.module.scss:

@use 'node_modules/include-media/dist/include-media' as im with (
  $breakpoints: (
    sm: 640px,
    ...
  )
);

rlueder avatar Feb 25 '24 18:02 rlueder