0
1

More than 1 year has passed since last update.

【SASS】はじめてのSASS

Posted at

これから自分が学んだことをアウトプットするためこれから記事にしようと思います。
よろしくお願いいたします
【SASSの内容】
SASSとは?
css をより効率的に書けるようにした言語。webページがどんどん複雑になっていくとcssがカオスになっていくため、使いにくい
→コードの再利用、変数、条件分岐ができるようになったのがSASS。特にbootstrapをカスタマイズするときは便利なので使ってみることにした。

【準備①bootstrapのダウンロード】
以下の公式サイトからダウンロード
https://getbootstrap.jp/docs/4.5/getting-started/download/
今回はcomposerからダウンロードすることに

composer.bash
composer require twbs/bootstrap:4.5.0

自分の場合はdockerコンテナを利用してタウンロードしたので

composer-docker.bash
docker-compose up exec app composer require twbs/bootstrap:4.5.0

すると以下vender/twbs以下にbootstrapのファイルがダウンロードされます

スクリーンショット 2021-10-23 6.47.26.png

適用したいHTMLに「bootstrap.css」を読み込みます。(bootstrap.min.cssは圧縮されたファイルで本番環境にアップロードする際にはいいけどコードが見にくいので開発環境ではこちらを使用)

【準備② SASSのインストール〜試しにコンパイル】
・SASSのインストール
https://sass-lang.com/install(公式ドキュメント)
私はcomposerでダウンロードしたいので以下のサイトからダウンロード
https://github.com/scssphp/scssphp(GitHubから以下のサイトに飛びます)
https://scssphp.github.io/scssphp/

scssphp.bash
docker-compose exec app composer require scssphp/scssphp

一旦scssファイルを作成してそこにbootstrapのscssファイルをインポート

app.scss
@import '/var/www/html/vendor/twbs/bootstrap/scss/bootstrap.scss';

コンパイル先のcssファイル(app.css)を作成、先ほどcomposerでダウンロードしたコンパイラーを使ってapp.scssをコンパイル
(endor/scssphp/scssphp/bin/pscss < companies/stylesheets/scss/app.scssでapp.scssを読み込み、> companies/stylesheets/css/app.cssでファイルを出力している)

scss.bash
root:/var/www/html# vendor/scssphp/scssphp/bin/pscss < companies/stylesheets/scss/app.scss > companies/stylesheets/css/app.css

するとapp.cssファイルに以下のようにscssの記述をもとにcssが記述
スクリーンショット 2021-10-23 8.43.44.png

あとは適当にscssファイルをカスタマイズ

コンパイルで生成したapp.cssをHTMLに読み込んでbootstrapのcssファイルを読み込ませた時と同じように反映されるか確認

new.php
<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="/var/html/companies/stylesheets/css/app.css">
    <title>会社登録</title>
</head>

<body>
    <h1>会社マスタ登録ページです</h1>
    <form action="create.php" method="POST">
        <?php if (count($errors)) : ?>
            <ul>
                <?php foreach ($errors as $error) : ?>
                    <li><?php echo $error; ?></li>
                <?php endforeach; ?>
            </ul>
        <?php endif; ?>
        <div>
            <label for="name">会社名</label>
            <input type="text" id="name" placeholder="例:google" name="name" value="<?php echo $company['name'] ?>">
        </div>
        <div>
            <label for="establishment_date">著者名</label>
            <input type="date" id="establishment_date" name="establishment_date" value="<?php echo $company['establishment_date'] ?>">
        </div>
        <div>
            <label for="founder">代表者</label>
            <input type="text" name="founder" id="founder" value="<?php echo $company['founder'] ?>">
        </div>
        <div>
            <input type="submit" value="登録">
        </div>
    </form>
</body>

</html>
0
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
0
1