Kevin Müller
Kevin Müller

Reputation: 770

Pug-Template not importing CSS

im trying to create a Website with node.js and express with Pug as template language. Im using Bootstrap css also.

My problem is that pug doesnt seem to import my own css, but imports the Bootstrap css and I do not understand why.

I tried using different folders / no folders and placing the css in the same folder as the pug file but that didnt work either.

I also was trying to replace the content of the css with something basic like giving the whole body or header block an background-color but that didnt work either.

Any help would be awesome because I couldnt find someone else with this problem.

Here is my pug file:

head
  title= title

  //Bootstrap
  link(rel="stylesheet", href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css", integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u", crossorigin="anonymous")
  link(rel="stylesheet", href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css", integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp", crossorigin="anonymous")

  //Jquery
  script(src="https://code.jquery.com/jquery-2.2.4.js", integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI=", crossorigin="anonymous")

  //Own
  link(rel="stylesheet", type="text/css", href="../css/navbar.css")
  script(src="../javascript/navbar.js")

  p  test

  nav
    div(class="menu-icon")
      i(class="fa fa-bars fa-2x")

    div(class="logo")
      LOGO
    div(class="menu")
      ul
        li
          a(href="/") Home
        li
          a(href="/") Home2

And my css file:

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
}

body {
  font-family: "Helvetica Neue",sans-serif;
  font-weight: lighter;
}

header {
  width: 100%;
  height: 100vh;
  background: url(https://wallpaper.wiki/wp-content/uploads/2017/05/wallpaper.wiki-Beautiful-Full-HD-Wallpaper-Download-Free-PIC-WPE0010098.jpg) no-repeat 50% 50%;
  background-size: cover;
}

.content {
  width: 94%;
  margin: 4em auto;
  font-size: 20px;
  line-height: 30px;
  text-align: justify;
}

.logo {
  line-height: 60px;
  position: fixed;
  float: left;
  margin: 16px 46px;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 2px;
}

nav {
  position: fixed;
  width: 100%;
  line-height: 60px;
}

nav ul {
  line-height: 60px;
  list-style: none;
  background: rgba(0, 0, 0, 0);
  overflow: hidden;
  color: #fff;
  padding: 0;
  text-align: right;
  margin: 0;
  padding-right: 40px;
  transition: 1s;
}

nav.black ul {
  background: #000;
}

nav ul li {
  display: inline-block;
  padding: 16px 40px;;
}

nav ul li a {
  text-decoration: none;
  color: #fff;
  font-size: 16px;
}

.menu-icon {
  line-height: 60px;
  width: 100%;
  background: #000;
  text-align: right;
  box-sizing: border-box;
  padding: 15px 24px;
  cursor: pointer;
  color: #fff;
  display: none;
}

@media(max-width: 786px) {

  .logo {
        position: fixed;
        top: 0;
        margin-top: 16px;
  }

  nav ul {
        max-height: 0px;
        background: #000;
  }

  nav.black ul {
        background: #000;
  }

  .showing {
        max-height: 34em;
  }

  nav ul li {
        box-sizing: border-box;
        width: 100%;
        padding: 24px;
        text-align: center;
  }

  .menu-icon {
        display: block;
  }

}

Upvotes: 2

Views: 1530

Answers (1)

Kevin Müller
Kevin Müller

Reputation: 770

Found the solution,

I needed to add the line:

app.use(express.static(__dirname + '/static'));

to my node server and then put the css into an folder inside of the static folder.

Upvotes: 2

Related Questions