eduardoboucas / include-media

📐 Simple, elegant and maintainable media queries in Sass
https://eduardoboucas.github.io/include-media/
MIT License
2.57k stars 191 forks source link

Help needed- setup #212

Closed codiejay closed 1 year ago

codiejay commented 3 years ago

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*/
Supportic commented 3 years ago

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.

codiejay commented 3 years ago

@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.

Supportic commented 3 years ago

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;
  }
}
codiejay commented 3 years ago

@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');

Supportic commented 3 years ago

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"

jackmcpickle commented 1 year ago

Closing this issue due to age.

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

rlueder commented 8 months ago

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,
    ...
  )
);