はじめに
swim-loverです。 初心者向けのWebアプリ開発記事です。フロントエンド環境にReact.jsを使用しています。Webアプリ開発記事と述べていますが、未だに、公式ページをお手本にしているだけで、まだまだ道半ばです。
第16回では、node.jsの導入、シングルページ アプリケーションの雛形として、create-react-appの導入、サンプルプログラムの改造を行ってみました。
以下の記事を参考にしてみました。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9Y3JlYXRlLXJlYWN0LWFwcCVFMyU4MiU5MiVFNCVCRCVCRiVFMyU4MSVBMyVFMyU4MSVBNlJlYWN0JUUzJTgxJUE3VG9EbyVFMyU4MyVBQSVFMyU4MiVCOSVFMyU4MyU4OCVFMyU4MiU5MiVFNCVCRCU5QyVFNiU4OCU5MCVFMyU4MSU5OSVFMyU4MiU4QiVFMyU4MSU5RSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZjdkZDUwN2Y1MzM2YzlkYTViNWZiYjYxZmFiZjc3NmU&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwcmlvYyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MWMzNDhiMWMxY2E0YjRkZmZmZGUxNmVmMTgyZGJjZjA&blend-x=142&blend-y=491&blend-mode=normal&s=c684c24c4e694080afa557393ee22d33)
引き続き、Reactの勉強を進めていきたいと思います。
SaaSにチャレンジ
第16回では、参考サイトのCSSスタイルシートをそのまま利用していました。
今回は、自分なりのスタイルシートを書いてみようと思います。この際、CSSの拡張であるSaaSを使用してみることにします。
SaaSコンパイラ インストール
VS codeの拡張メニューから、Live Saas Compilerをインストールします。
![](https://tech-swim-bike.info/wp-content/uploads/2023/02/live_saas_comp_2.jpg)
SaaSコンパイラの起動
VS codeの下部のバー”Watch Saas”をクリックして起動します。
![](https://tech-swim-bike.info/wp-content/uploads/2023/02/live_saas_comp_start_1.jpg)
”Watching”に変化しました。
![](https://tech-swim-bike.info/wp-content/uploads/2023/02/live_saas_comp_start_2.jpg)
SCSSファイルを作成
前回、App.cssとMenuItem.cssを作成していました。これらを拡張子scssにしたファイルを新規作成します。
App.scss
.App {
width: 800px;
height: 800px;
background-color: wheat;
position: relative;
}
SaaSコンパイラにより、cssファイルが生成されます。
App.css
.App {
width: 800px;
height: 800px;
background-color: wheat;
position: relative;
}/*# sourceMappingURL=App.css.map */
つぎに、MenuItem.js の中身を確認します。
ここでは、ClassNameとして、2つ指定しました。 ”MenuItem title” と”MenuItem description” それぞれ2つ指定しています。
import React, { Component } from 'react';
import './MenuItem.css';
class MenuItem extends Component {
render() {
const { title, description } = this.props;
return (
<div className="MenuItem">
<div className="MenuItem title">{title}</div>
<div className="MenuItem description">{description}</div>
</div>
);
}
}
export default MenuItem;
同様に、MenuItem.scss も作成します。Saasを利用することにより階層構造でコードを記載できるようになります。
&.tilte(アンパーサンドとドット)で、”MenuItem”と”title”の2つのクラス名の条件を指定しました。
同様に、
&.description (アンパーサンドとドット)で、”MenuItem”と”description “の2つのクラス名の条件を指定しました。
.MenuItem {
background-color: whitesmoke;
position: relative;
top: 20px;
margin: 4px 4px 4px;
&.title{
position: relative;
top: 0px;
font-size: 18px;
border-bottom: 2px solid salmon;
text-align: left;
padding: 4px 4px 4px 4px;
}
&.description {
position: relative;
top: 0px;
border-bottom: 2px solid salmon;
text-align: left;
padding: 4px 4px 4px 4px;
}
}
作成された、MenuItem.cssを確認します。
階層構造が展開されて、.MenuItem.title と.MenuItem.description が生成されています。
.MenuItem {
background-color: whitesmoke;
position: relative;
top: 20px;
margin: 4px 4px 4px;
}
.MenuItem.title {
position: relative;
top: 0px;
font-size: 18px;
border-bottom: 2px solid salmon;
text-align: left;
padding: 4px 4px 4px 4px;
}
.MenuItem.description {
position: relative;
top: 0px;
border-bottom: 2px solid salmon;
text-align: left;
padding: 4px 4px 4px 4px;
}/*# sourceMappingURL=MenuItem.css.map */
最後にブラウザで確認します。
![](https://tech-swim-bike.info/wp-content/uploads/2023/02/apl_step1-1024x182.jpg)
まとめ
今回は、CSSの拡張であるSaaSを使用し、自分なりのスタイルシートを書いてみました。
![](https://tech-swim-bike.info/wp-content/uploads/2021/12/my_profile.png)
組み込み系ソフトエンジニアをしています。これまでフロントエンド技術は避けてきましたが、食わず嫌いをやめて、勉強を始めました。
趣味は、水泳、ロードバイク、ランニング、登山です。
組み込み系技術ネタ、勉強したフロントエンド技術、たまに趣味の運動について発信していきます。
どうぞよろしくお願いします。
コメント