LoginSignup
1
1

Laravelでassetの使い方・css,js,imgを呼び出す【PHP】固定ヘッダー

Posted at

2020年10月1日に書いた記事です。

Laravelのフレームワークでassetを指定してファイルを呼び出す方法を紹介します。

css, js, imgを外部ファイルにすることで共通部分を作ることができ同じコードを複数書くことが不要になります。

概要

今回は例として固定ヘッダーをつけてみたいと思います。

asset クラスは、css, js, imgを収集しグループ化し、表示するために役立つメソッドをまとめたクラスです。

要するに、publicディレクトリを返す関数です。

public ____ css
        |__ js
        |__ img
        |__ html

phpでの読み込み方

呼び出したいところのresources/views/以下のphpファイルに記述することで読み込まれます。

<!-- css -->
<link rel="stylesheet" href="{{ asset('/css/file.css') }}">
<!-- js -->
<script src="{{ asset('/js/file.js') }}"></script>
<!-- img -->
<img alt="文字表示" src="{{ asset('/img/file.png') }}">

固定ヘッダ例

固定表示はCSSの「position: fixed;」です。

HTML

<!DOCTYPE html>
<html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Progate</title>
    <link rel="stylesheet" href="{{ asset('/css/header.css') }}">
  </head>
<header class="site-header">
  <h1 class="site-logo"><img src="images/logo.png" alt="サンプル"></h1>
  <nav class="gnav">
    <ul class="gnav__menu">
        <li class="gnav__menu__item"><a href="">HTML</a></li>
        <li class="gnav__menu__item"><a href="">CSS</a></li>
        <li class="gnav__menu__item"><a href="">PHP</a></li>
        <li class="gnav__menu__item"><a href="">Ruby</a></li>
        <li class="gnav__menu__item"><a href="">Python</a></li>
    </ul>
  </nav>
</header>
  <div class="hero"><img src="images/hero.jpg" alt="hero"></div>
  <div class="content">
<!--省略-->
  </div>
<footer class="site-footer">
  <p class="copyright">サンプル</p>
</footer>
</html>

css

body{
    background: #ffab77;
}
.site-header{
    background: #fff;
    display: flex;
    padding: 60px 20px;
    position: fixed;
    justify-content: space-between;
    width: 100%;
}
.site-logo img{
    height: 20px;
    width: auto;
}
.gnav__menu{
    display: flex;
}
.gnav__menu__item{
    margin-left: 20px;
}
.gnav__menu__item a{
    color: #333;
    text-decoration: none;
}
.hero{
    max-height: 500px;
    overflow: hidden;
}
.hero img{
    height: auto;
    width: 100%;
}
.content{
    line-height: 1.6;
    margin: 0 auto;
    padding-top: 100px;
    width: 800px;
}
.content p{
    margin-bottom: 40px;
}
.site-footer{
    background: #333;
    padding: 80px 0;
}
.copyright{
    color: #fff;
    font-size: 12px;
    text-align: center;
}

参考にしたサイト

https://webdesignday.jp/inspiration/technique/css/4166/
↑JavaScriptを使った固定ヘッダーもあり参考になりました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1