【ブログ一覧】 - ますみのブログ

ますみのブログ

パソコンとかプログラミングに関するあれこれ発信してます
プログラミング入門
よく読まれています

【CSS入門】書いて覚える『:hover』の使い方

こんにちは!エンジニアのますみです!本日はマウスホバー時に要素の見た目を変化させることができる:hoverの使い方を解説していきます!魅力的なWebサイトを作るには欠かせないテクニックです!この記事では実際にCSSをこのページ上で書くことができるので、プレビューを見ながら使い方をマスターすることができます。是非、ブックマークして学習に役立てていただけたら幸いです。目次 :hoverの基本 枠線の色を変えたいときの注意点 transitionを指定してアニメーションにする ホバー時によく使われるアニメーション box-shadowで影をつける transformでボタンそのものを動かすそれではさっそく見ていきましょう!:hoverの基本BUTTON.button { background-color : } .button:hover { background-color : } セレクタ:hoverと書くことで、マウスホバー時のスタイルを指定できます。上の例では、.buttonクラスを持つ要素の背景色が通常時にはwhite、マウスホバー時には#D2ECFFになるように指定されています。#D2ECFFの部分を好きなカラーコードに書き換えてみると、マウスホバー時の背景色が変わることがわかります。例えば#D2ECFFをredに書き換えてみてください。ボタンにマウスカーソルを当てると背景色が赤に変わります。枠線の色を変えたいときの注意点BUTTON.button { background-color : } .button:hover { border : } 上の例のように、マウスホバー時のみ枠線を表示したいときには注意が必要です。ボタンにマウスカーソルを当てると、枠線は表示されますが画面がガタつくことがわかると思います。これは通常時の枠線の太さが0pxになっているため、ホバー時にボタンのサイズが変わってしまうことが原因です。BUTTON.button { background-color : border : } .button:hover { border : } このように通常時には透明な枠線を指定しておくことで、マウスホバー時のガタつきを防ぐことができます。線の太さは通常時、ホバー時どちらも同じ値を指定してください。transitionを指定してアニメーションにするBUTTON.button { background-color : transition : } .button:hover { background-color : } 通常時のクラスにtransition: 秒数とすることで、ホバー時のスタイルに変化するまでにかかる時間を指定できます。エディターのtransition: 0.3sを変更してtransition: 1sとすると、ボタンの色が変化するまでにかかる時間が長くなることがわかります。ホバー時によく使われるアニメーションbox-shadowで影をつけるBUTTON.button { transition : } .button:hover { box-shadow : } マウスホバー時に影をつけるにはbox-shadowを使います。box-shadowはbox-shadow: 影の位置(横) 影の位置(縦) 影のぼかし度 影の色のように書けます。上のエディターで、box-shadowを6px 6px 8px lightblue とすると、ボタンの右下に水色の影をつけることができます。影の位置が0以外、transitionで秒数を指定していると、上のままでは影がボタンの位置から徐々にホバーで指定した位置に影が伸びていきます。あらかじめ通常時に、ホバー後の位置と同じ透明の影を指定しておくことで、影がその場からふわっと現れるアニメーションにできます。BUTTON.button { transition : box-shadow : } .button:hover { box-shadow : } あえて影の位置を動かすエフェクトも面白いと思います。数値を色々変えてみて試してみてください!transformでボタンそのものを動かすBUTTON.button { transition : box-shadow : } .button:hover { box-shadow : transform: } atransformを使用すると、指定した要素を移動したり、形を変えたりすることができます。上の例ではtranslateYという縦方向の位置をずらすプロパティを指定して、ホバー時にボタンが5px上方向に動くようにしています。transformには他にも、要素を拡大するscale、要素を回転させるrotateなどのホバーアニメーションに使いやすいプロパティがたくさんあります。上のエディターのtransformにscale(1.1)を指定すると、ホバー時にボタンが1.1倍になることがわかります。また、エディターのtransformにrotate(360deg)を指定すると、ホバー時にボタンが1回転します。最後まで読んでいただきありがとうございました!プログラミング学習は反復して覚えていくことが大切です!是非ブックマークして学習に役立ててみてください!質問や、こんなことを記事にしてほしい!というのがありましたらTwitterのコメント等で受け付けていますので、お気軽にどうぞ!ますみ - 愛知県在住の20代プログラマー - | @mashmy_98それでは次の投稿もお楽しみに!

2023年04月23日

Read More

【CSS入門】書いて覚える『:hover』の使い方

こんにちは!エンジニアのますみです!本日はマウスホバー時に要素の見た目を変化させることができる:hoverの使い方を解説していきます!魅力的なWebサイトを作るには欠かせないテクニックです!この記事では実際にCSSをこのページ上で書くことができるので、プレビューを見ながら使い方をマスターすることができます。是非、ブックマークして学習に役立てていただけたら幸いです。目次 :hoverの基本 枠線の色を変えたいときの注意点 transitionを指定してアニメーションにする ホバー時によく使われるアニメーション box-shadowで影をつける transformでボタンそのものを動かすそれではさっそく見ていきましょう!:hoverの基本BUTTON.button { background-color : } .button:hover { background-color : } セレクタ:hoverと書くことで、マウスホバー時のスタイルを指定できます。上の例では、.buttonクラスを持つ要素の背景色が通常時にはwhite、マウスホバー時には#D2ECFFになるように指定されています。#D2ECFFの部分を好きなカラーコードに書き換えてみると、マウスホバー時の背景色が変わることがわかります。例えば#D2ECFFをredに書き換えてみてください。ボタンにマウスカーソルを当てると背景色が赤に変わります。枠線の色を変えたいときの注意点BUTTON.button { background-color : } .button:hover { border : } 上の例のように、マウスホバー時のみ枠線を表示したいときには注意が必要です。ボタンにマウスカーソルを当てると、枠線は表示されますが画面がガタつくことがわかると思います。これは通常時の枠線の太さが0pxになっているため、ホバー時にボタンのサイズが変わってしまうことが原因です。BUTTON.button { background-color : border : } .button:hover { border : } このように通常時には透明な枠線を指定しておくことで、マウスホバー時のガタつきを防ぐことができます。線の太さは通常時、ホバー時どちらも同じ値を指定してください。transitionを指定してアニメーションにするBUTTON.button { background-color : transition : } .button:hover { background-color : } 通常時のクラスにtransition: 秒数とすることで、ホバー時のスタイルに変化するまでにかかる時間を指定できます。エディターのtransition: 0.3sを変更してtransition: 1sとすると、ボタンの色が変化するまでにかかる時間が長くなることがわかります。ホバー時によく使われるアニメーションbox-shadowで影をつけるBUTTON.button { transition : } .button:hover { box-shadow : } マウスホバー時に影をつけるにはbox-shadowを使います。box-shadowはbox-shadow: 影の位置(横) 影の位置(縦) 影のぼかし度 影の色のように書けます。上のエディターで、box-shadowを6px 6px 8px lightblue とすると、ボタンの右下に水色の影をつけることができます。影の位置が0以外、transitionで秒数を指定していると、上のままでは影がボタンの位置から徐々にホバーで指定した位置に影が伸びていきます。あらかじめ通常時に、ホバー後の位置と同じ透明の影を指定しておくことで、影がその場からふわっと現れるアニメーションにできます。BUTTON.button { transition : box-shadow : } .button:hover { box-shadow : } あえて影の位置を動かすエフェクトも面白いと思います。数値を色々変えてみて試してみてください!transformでボタンそのものを動かすBUTTON.button { transition : box-shadow : } .button:hover { box-shadow : transform: } atransformを使用すると、指定した要素を移動したり、形を変えたりすることができます。上の例ではtranslateYという縦方向の位置をずらすプロパティを指定して、ホバー時にボタンが5px上方向に動くようにしています。transformには他にも、要素を拡大するscale、要素を回転させるrotateなどのホバーアニメーションに使いやすいプロパティがたくさんあります。上のエディターのtransformにscale(1.1)を指定すると、ホバー時にボタンが1.1倍になることがわかります。また、エディターのtransformにrotate(360deg)を指定すると、ホバー時にボタンが1回転します。最後まで読んでいただきありがとうございました!プログラミング学習は反復して覚えていくことが大切です!是非ブックマークして学習に役立ててみてください!質問や、こんなことを記事にしてほしい!というのがありましたらTwitterのコメント等で受け付けていますので、お気軽にどうぞ!ますみ - 愛知県在住の20代プログラマー - | @mashmy_98それでは次の投稿もお楽しみに!

2023年04月23日

Read More

CSSで角丸の作り方を実際にコードを書きながら覚えよう

こんにちは!エンジニアのますみです!本日は枠線の角を丸くすることのできる、border-radius属性の書き方を解説します!よく使うCSSの書き方ですので覚えておきましょう!この記事ではborder-radiusの基本的な使い方、応用した使い方をマスターすることができます。さらに実際にCSSをこのページ上で書くことができるので、プレビューを見ながら使い方を覚えることができます。是非、ブックマークして学習に役立てていただけたら幸いです。テーマ Webサイトデザインに必須のborder-radius属性の使い方をマスターできる内容 実際にスタイル属性を書くことが可能な記事なので、深く理解して使いこなすことができる内容目次 基本の角丸 値を2つ指定した場合 値を3つ指定した場合 値を4つ指定した場合 角ごとに分けてCSSを書く方法 正円を作る方法 複雑な角丸を指定する方法 border-radiusの基本的な仕組み border-radius属性のみで書く場合 角ごとに分けて書く場合それではさっそく見ていきましょう。基本の角丸サンプル.box { border : border-radius : } 上のようにborder-raduisに角丸のサイズを書くことで、丸みの帯びた四角形を作ることができます。borderとborder-radiusの値は編集可能なので、実際に値を変えてみながら使い方を覚えてみてください。指定した値が大きくなればなるほど滑らかな角になります。値を2つ指定した場合200px 200px.box { border : border-radius : } 2つの値を指定するとborder-radius : 左上と右下 右上と左下のように、対角線上の角に対して角丸の大きさを指定することができます。値を3つ指定した場合200px 200px.box { border : border-radius : } 3つの値を指定するとborder-radius : 左上右上と左下右下のように角丸の大きさを指定することができます。値を4つ指定した場合200px 200px.box { border : border-radius : } 3つの値を指定するとborder-radius : 左上右上右下 左下のように、左上から時計回りに角丸の大きさを指定することができます。角ごとに分けてCSSを書く方法200px 200px.box { border-top-left-radius : border-top-right-radius : border-bottom-right-radius : border-bottom-left-radius : } このように各角ごとに分けて角丸の大きさを指定することもできます。シンプルな角丸であればborder-radiusのみでよいかもしれませんが、複雑に値を指定する場合はこっちのほうがわかりやすいかもしれません。正円をつくる方法200px 200px.box { border : border-radius : } ボックスのサイズの半分の値をborder-radiusに指定すると正円を作ることができます。例のボックスのサイズは200pxの正方形なので、100pxと指定しても正円になります。複雑な角丸を指定する方法ぐにゃっとした複雑な図形を書くことにもborder-radiusを使います。少し仕組みがややこしいので基本的な仕組みから解説していきます。border-radiusの基本的な仕組み角丸をどのように指定しているかを細かく見てみましょう。これまでborder-radiusで指定していた長さは、各角丸の半径です。border-radiusで複雑な角丸を作る際には、この半径を横と縦に分けて指定することで実現できます。それでは早速具体的なやり方を見てみましょう。border-radius属性のみで書く場合200px 200px.box { border-radius : } 例のように / で区切って横の半径と縦の半径を指定します。/ の前は横の半径、 / の後は縦の半径となっています。border-radius: 横の半径/ 縦の半径また、 / の前も後ろも、先ほど基本の角丸で解説した通り 値が1つの場合はすべての角 値が2つの場合は左上と右下 右上と左下 値が3つの場合は左上右上と左下右下 値が4つの場合は左上右上右下 左下という順番で角丸が適用されます。角ごとに分けて書く場合200px 200px.box { border-top-left-radius : border-top-right-radius : border-bottom-right-radius : border-bottom-left-radius : } それぞれの属性に2つの値を指定することでborder-top-left-radius : 横の半径 縦の半径というように指定することができます。最後まで読んでいただきありがとうございました!border-radius属性をマスターするには反復して学習することが大切です!是非ブックマークして学習に役立ててみてください!質問や、こんなことを記事にしてほしい!というのがありましたらTwitterのコメント等で受け付けていますので、お気軽にどうぞ!ますみ - 愛知県在住の20代プログラマー - | @mashmy_98それでは次の投稿もお楽しみに!

2023年04月21日

Read More

【WordPressが使えるレンタルサーバー】最安値はどこ?初期費用も加味した価格ランキング!

レンタルサーバー選びって大変ですよねさまざまな会社がレンタルサーバーを運営していてプランもたくさんあります。私が調べた範囲だけでも72種類のプランがあったので、実際は100は余裕で超える種類があるでしょう。この記事はコスパ良くWordPressのサイトを運用したい方に向けて書いています。レンタルサーバーは長期契約をすることで大幅にコストを抑えることができます。しかし、契約してみたもののWordPressが使えなかった!となっては大きな無駄遣いです。あなたはWordPressでサイトを立ち上げてブログを書く、収益を得る等が本来の目的のはずです。レンタルサーバー選びに時間がかかってしまってはもったいないです!当記事は18社72種類のプランの中から初期費用込みで安く使えるWordPress可のレンタルサーバーを紹介します。月額での価格比較ランキングサイトはたくさんありますが、初期費用も計算したランキングはあまり見かけませんねもういろんなレンタルサーバーのホームページを見比べて価格を計算する必要はないですさっさとレンタルサーバーを決定してWordPressサイトを立ち上げ、本来の目的を達成しましょう!*レンタルサーバー公式サイトに『WordPress可』と記載のあるプランを紹介します。*価格等のデータはブログ執筆時のものです。契約前に公式サイトで価格等をしっかり確認してください。目次 今回比較するレンタルサーバー WordPressが使えるレンタルサーバー価格ランキング WordPress可のレンタルサーバーコスパ1位 : リトルサーバー ミニプラン リトルサーバーミニプランのメリット リトルサーバーミニプランのデメリット WordPress可のレンタルサーバーコスパ2位 : ロリポップ!ライトプラン ロリポップ!ライトプランのメリット ロリポップ!ライトプランのデメリット WordPress可のレンタルサーバーコスパ3位 : リトルサーバー ワードプラン リトルサーバー ワードプランのメリット リトルサーバー ワードプランのデメリット おすすめはロリポップ!ミニプラン まとめ 最も安く使えるWordPress可のレンタルサーバーはリトルサーバーミニプラン おすすめはロリポップ!ライトプラン 番外編 当サイトで利用しているレンタルサーバーそれではさっそく見ていきましょう今回比較するレンタルサーバー以下のレンタルサーバーのプランを比較していきます。レンタルサーバー名プラン数ミライサーバー8種類Winserver3種類GIGAレンタルサーバー4種類99YENレンタルサーバー5種類ConoHa WING3種類リトルサーバー4種類ロリポップ!4種類XREA 2種類ColorfulBox 8種類mixhost 3種類エックスサーバー 3種類ABLENET 3種類ヘテムル 1種類JETBOY 6種類バリューサーバー 3種類グランパワー 3種類Just-Size.Networks 2種類CORESERVER 7種類18社全72種類のプランで検証していきます。この中から公式サイトにWordPress可と記載のあるものからランキングを作成しました。また、セットアップが簡単にできるかどうかも加味しています。それでは最も低コストで運用できるプランを見ていきましょうWordPressが使えるレンタルサーバー価格ランキングレンタルサーバー名プラン料金(月)リトルサーバーミニプラン176円~(12カ月契約)ロリポップ!ライト220円~(36カ月契約)リトルサーバーワードプラン221円~(12カ月契約)Just-Size.Networks サブドメインプラン239円~(12カ月契約)リトルサーバーリトルプラン276円~(12カ月契約)Just-Size.Networks エコノミープラン343円~(12カ月契約)リトルサーバービッグプラン456円~(12カ月契約)ColorfulBox BOX2484円~(36カ月契約)グランパワー ソロ500円~(12カ月契約)JETBOY ミニ514円~(12カ月契約)ColorfulBox BOX1528円~(36カ月契約)ロリポップ!ベーシック550円~(36カ月契約)WordPress可のレンタルサーバーコスパ1位 : リトルサーバー ミニプランWordPressが使えるレンタルサーバープラン最安値はリトルサーバーのミニプランです。リトルサーバーは低コストで使えるプランが充実しており、さらに数クリックでWordPressのインストールを完了できる機能もついてきます。無料お試し期間が10日間もあるので、その間にテストすれば失敗する可能性を防げますリトルサーバーミニプランのメリット低コストで運用できる72種類のプランの中で最も低コストで運用することができます。特にWordPressのサイトで収益を得ることが目的の場合、レンタルサーバーの費用はできるだけ抑えて収入を増やしたいところですよねリトルサーバーのミニプランなら初期費用加味でひと月あたり176円で運用することが可能ですので、マイナスを極限まで抑えることができます無料お試し期間がある登録から10日間は無料で利用することができます。試しにWordPressのセットアップをしてこの期間中にテストをしておけば、無駄にコストを払う危険が減らせます数クリックでWordPressのセットアップが可能リトルサーバーのミニプランではコントロールパネルから数クリックでWordPressのインストールが可能です。セットアップに数日かかってしまえばその期間中のコストがもったいないですよね...簡単にセットアップを完了できるということは、余計な出費が減るということでもあります。リトルサーバーミニプランのデメリット表示速度が若干遅めミニプランではPHP高速化設定が行えません。PHP高速化設定をするとWordPress等のサイトを素早く表示することができます。サイトの表示が遅いことはSEO評価を下げる原因になるので、アクセス数が減少する可能性があります。アクセス数を伸ばしていきたいのであれば、上位グレードのプランで契約したほうが良いです容量が少ないミニプランの容量は20GBとなっています。使い方にもよりますが、ブログに使った画像ファイルやWordPress本体、バックアップ等のデータのことを考えると、300記事くらいでいっぱいになる可能性があります。ということは1日1投稿するのであれば1年で365投稿になります。つまり1年も使えないわけです。長期的に運用を続けたいのであれば、少なくとも100GBは容量が欲しいところです。100GBの容量がある最安プランは次に紹介するロリポップ!ライトプランですので、こちらも検討してみるといいでしょうWordPress可のレンタルサーバーコスパ2位 : ロリポップ!ライトプランロリポップ!は低コストかつ知名度も高く安心して使えるレンタルサーバーです。運用はGMOグループが行っています。大きな企業が運営しているという点はレンタルサーバー自体がサービスを終了する可能性が少ないという安心感もあります。ロリポップ!ライトプランのメリット充分な容量があるなんとロリポップ!ライトプランはファイル容量が160GBあります。よほどのことがなければ容量がいっぱいになってブログが更新できなくなった!ということにはならないでしょう。何年もサイトの運用をしていていよいよいっぱいになってしまっても、その頃にはある程度収益を得ることができいるはずですし、プランのアップグレードをすれば問題ないでしょう。ちなみにロリポップ!のプランの1つ上のグレードでもひと月550円と低価格で運用することができます。低コストで運用できるひと月あたりの価格が220円と非常に低価格で運用することができます。36カ月契約の長期契約の価格ですが、その分ハイスペックな機能を低価格で使えるというわけです。サイトは基本的には長く運用していくものなので、長期契約でサーバーを借りるのは全然ありだと思います。どれくらいハイスペックかというと、先ほど容量は最低100GBは欲しいという話をしましたが容量100GB以上で次に安いプランはひと月の価格が倍以上します。ということは価格の倍くらいの価値があるプランとも捉えられますので、コスパは最強クラスです。WordPress簡単インストール機能搭載ロリポップ!ライトプランには、簡単な設定をすればWordPressのインストールが完了するWordPress簡単インストール機能を搭載しています。WordPressを自力でセットアップするのは中々大変なので、素早くセットアップして運用をスタートさせられるのは大きなメリットになります。無料お試し期間があるロリポップ!ライトプランも10日間の無料お試し期間があります。この間に動作確認をしておけばレンタルサーバー選びに失敗して無駄にお金を払うといった危険はなくなりますので、とりあえず登録して動作確認してみるのもいいでしょう。ロリポップ!ライトプランのデメリット正直、目立つデメリットが見つかりませんでした...笑ですがいいポイントばかりお話ししても逆に不安になると思いますので、いくつか感じたことをお話しします長期契約が必要ひと月あたり220円で利用するには36カ月の契約をする必要があります。基本的にはサイトは36カ月くらいは運用していくと思いますので問題ないと思いますが、短期間で利用したい場合は少々価格があがります。WordPressサイトを複数運営するのは厳しい多くのレンタルサーバーでは、複数のサイトを一つのプランで運用することができます。ロリポップ!ライトプランでも複数サイトを運用することは可能ですが、WordPressで複数サイトのサイトを運用するのは厳しいです不可能ではありませんが、プログラミングの知識が若干必要になります。ミスをするとサイト自体が動かなくなってしまう危険もあるため、むやみに挑戦しないほうが良いでしょう。動画を大量にアップロードするには不向きロリポップ!のライトプランのファイル容量は160GBとなっています。WordPressのバックアップ等のデータも容量を消費するため、実質160GBすべて使えるというわけではありません。動画を大量にアップロードする必要があれば、もう少し容量に余裕のあるプランにすると良いでしょう。さて、それでは3位まで見ていきましょう。次はリトルサーバーのワードプランです。名前の通り『WordPressが使いやすいように』というコンセプトのプランになりますWordPress可のレンタルサーバーコスパ3位 : リトルサーバー ワードプランランキング1位のリトルサーバー ミニプランの一つ上のグレードになります。WordPressサイトを運用する上で嬉しい機能を充実させたプランになります。また、ミニプラント同じく10日間の無料お試し期間があるのもいい点ですねリトルサーバー ワードプランのメリットワンクリックで簡単WordPressインストールができるミニプランよりも簡単にWordPressをインストールすることができます。素早くサイト運用をスタートできることは周りより一歩リードできるということです。サイトを早く運用させたい方にピッタリのプランですPHP高速化設定が利用可能ミニプランでは利用できなかったPHP高速化設定が利用できます。WordPressサイトを高速で表示させることが可能になり、離脱率を減らし、SEOの面でも有利になります。サイトが高速で表示できることはアクセス数増加につながりますので、これは大きなメリットになりますリトルサーバー ワードプランのデメリット容量が少ないワードプランの容量は30GBになっています。ミニプランよりは多いですが、一年以上運用するとなると厳しいでしょう。おすすめはロリポップ!ミニプランさて、WordPressが使えるレンタルサーバー価格ランキングの上位3つのプランを詳しく見てみました。この中で私のおすすめはロリポップ!ミニプランです。サイト運用で重要な部分であるレンタルサーバーの容量が充分にあり、価格に対して使える容量のコスパがめちゃくちゃいいです。デメリットは長期契約が必要な点と、複数のWordPressサイトを運用するのが難しい点でしたが、基本的には長期的にサイトは運用していきますし複数WordPressサイトを持つケースは少ないでしょう。まとめ最も安く使えるWordPress可のレンタルサーバーはリトルサーバーミニプランメリット コストを最大限抑えられるため、収益をプラスにできる可能性が上がる 10日間の無料お試し期間があるため、その間に動作確認をすれば失敗を防げる WordPressのセットアップが簡単で、素早くサイト運用をスタートできるデメリット 表示速度が遅め、アクセス数減少につながる可能性もある 容量が少ないため、1年間の運用でもいっぱいになってしまう可能性があるおすすめはロリポップ!ライトプランメリット コストを最大限抑えられるため、収益をプラスにできる可能性が上がる 10日間の無料お試し期間があるため、その間に動作確認をすれば失敗を防げる WordPressのセットアップが簡単で、素早くサイト運用をスタートできるデメリット 長期契約が必要なため、短期間の運用が目的であれば不向き 複数のWordPressサイトを運用したい場合に不利というわけで、WordPressが使えるレンタルサーバー価格ランキングでした!あなたのレンタルサーバー選びのお役に立てたら幸いです!では次の記事もお楽しみに!番外編 当サイトで利用しているレンタルサーバー当サイトはXserverを利用しています。 ひと月あたりの価格は990円~と今回ご紹介したプランと比べると高くなっていますが、それに見合う価値を感じたのでXserverを利用しています。特筆すべきなのが表示の速さです。Xserverは高速でサイトを表示するための機能が充実しており、圧倒的な速さでユーザーの離脱を防ぎます。SEOの観点からも高速でサイトを表示できることはとても重要なポイントです。少々コストはかかりますが、本気でサイトの運用を考えているのであればXserverを使うことを強くおすすめします。 また、10日間の無料お試し期間がありますので、本記事で紹介した低価格で利用できるサーバーとの使用感を比べてみるのもいいと思います。

2023年05月10日

Read More

【php入門】オブジェクトを使ってみよう!

こんにちは!プログラマーのますみです!今回はphpでオブジェクトを使う方法をご紹介します!phpはこちらのサイトで簡単に動かしてみることができます!3v4l.org是非実際にプログラムを書いてみながらオブジェクトの使い方を覚えてみてくださいね!オブジェクトってなに?オブジェクトとは、プログラムの中で扱うデータを、そのデータに適した形でまとめたものです!例えば、phpの場合は、以下のようにオブジェクトを定義することができます!$product = [    'name' = 'トマト',    'price' = 150];例ではトマトという商品の情報をproductという変数に定義しています。このようにまとまった情報を一つの変数で管理できるため、さまざまな処理が書きやすいメリットがあります!オブジェクトを使った処理を書いてみよう!それではオブジェクトを使った処理の例を書いてみますね!$product = [    'name' = 'トマト',    'price' = 150];print('商品名は' . $product['name'] . 'です');print('価格は' . $product['price'] . 'です');こんな感じで、オブジェクトに格納された値を使うには、オブジェクト名前[オブジェクトの中身の名前]という感じで値を取り出すことができます!オブジェクトはこのように二階層、三階層というようにも定義できるのですが$product = [    'name' = 'トマト',    'price' = 150,    'shop' = [        'name' = '八百屋'    ]];この場合は$product[shop][name]というように、productの中のshopの中のnameといった感じで指定していけば大丈夫です!そして、オブジェクトは配列に格納することもできます。$products = [    [        'name' = 'トマト',        'price' = 150    ],    [        'name' = 'にんじん',        'price' = 120    ]];phpの配列についての記事はこちらを是非読んでみてください!それではまず、商品の情報を順番に表示してみましょう!$products = [    [        'name' = 'トマト',        'price' = 150    ],    [        'name' = 'にんじん',        'price' = 120    ]];foreach($products as $product){    print('商品名は' . $product['name'] . 'です');    print('価格は' . $product['price'] . 'です');};これを実行してみると商品名はトマトです価格は150です商品名はにんじんです価格は120ですと表示できたと思います!それではこれを、商品名のリストと合計価格を表示するようにしてみましょう!少し複雑になりますが、こんな感じです!$products = [     [        "name" = "トマト",        "price" = 150    ],    [        "name" = "にんじん",        "price" = 120    ]];$productList = "";$totalPrice = 0;foreach ($products as $product) {    $productList .= $product["name"] . "\n";    $totalPrice += $product["price"];}echo "商品リスト\n" . $productList;echo "合計価格\n" . $totalPrice . "円";phpでは、.=と書くと対象の変数の値に追加するという書き方ができます。これを実行してみると商品リストトマトにんじん 合計価格270円と表示されたと思います。こんな感じで、オブジェクトを使うことでデータをひとまとめに管理し、わかりやすいコードを書くことができます!今回はphpでのオブジェクトの使い方を解説しました!このブログは、わたしがプログラミングを学習し始めたころに悩んでいたポイントをわかりやすく記事にして、わたしと同じ悩みを持つ方が少しでも減るように!と思って運用しています!共有やお気に入り登録していただけたら励みになりますので是非よろしくお願いします!それでは次の記事もお楽しみに!

2023年04月14日

Read More

【CSS入門】px、%、vw、vh、em、remを実際にコードを書きながら覚えよう

こんにちは!エンジニアのますみです!本日は要素の大きさを指定する単位、px、%、vw、vh、em、remを解説していきます!CSSの基本中の基本です!是非最後まで読んでマスターしてくださいね!この記事を読んでほしい方! CSSを学習してスキルを身に着けたい方 基礎知識をまとめた記事をブックマークしておきたい方 実際にコードを書きながら覚えたい方この記事では実際にCSSを書きながら書き方をマスターすることができます。さらに実際にCSSをこのページ上で書くことができるので、プレビューを見ながら使い方を覚えることができます。是非、ブックマークして学習に役立てていただけたら幸いです。目次 基礎 つまづきやすいポイント pxの使い方 %の使い方 vwの使い方 vwは画面サイズの横幅、vhは画面サイズの縦幅で指定する emの使い方 remの使い方 どの単位を使うべきか 基本的には相対的な単位を使う 絶対的な単位を使うケースそれではさっそく見ていきましょう!基礎px、%、vw、vh、em、remというのは、数値の単位です。日常生活で言う、cmや、mmと同じと思っていただけたら大丈夫です。つまづきやすいポイント絶対的な単位と相対的な単位がある先ほどcmや、mmと同じとお話ししました。例えば、『クローゼットの横幅が2mだから、2m以内の収納ボックスを買わないといけないね』という感じで使っていくわけですが、CSSで使う単位には独特なものがあります。絶対的な単位こちらは日常生活で使う単位と一緒で、そのまま指定したサイズで表示されます。当たり前ですが、横幅1mの収納ボックスを横幅2mのクローゼットに入れても、収納ボックスの大きさは1mのままで変わりませんね。pxが絶対的な単位に当てはまります。相対的な単位CSSの世界では、横幅1mの収納ボックスを横幅2mのクローゼットに入れたら2mになった!みたいなことが起こります。どういうことかというと、CSSではこの収納ボックスは、クローゼットの100%の横幅です!というように、入れ物の大きさを基準にサイズを決める単位がほとんどです。これを踏まえて、px、%、vw、vh、em、remそれぞれの書き方を覚えていくとつまづきづらいと思います。pxの使い方ParentBox.parent { width : } .box { width : } pxは絶対的な単位です。親要素の大きさに関わらず、指定した数値で要素を表示します。上のエディターのparentのwidthを変更してみてください。boxの大きさが変化しないことがわかると思います。%の使い方ParentBox.parent { width : } .box { width : } %は相対的な単位です。親要素の何%の横幅で要素を表示します。上の例ではparentの横幅の50%の横幅で青いボックスを表示しています。エディターでboxのwidthを100%にしてみてください。parentの横幅と同じになることがわかると思います。また、boxに%で横幅を指定した状態でparentの横幅を変更すると、parentの大きさに合わせて青いボックスの大きさも変化していきます。vwの使い方ParentBox.parent { width : } .box { width : } vwは相対的な単位ですが、親要素ではなく画面サイズの横幅の何%で要素を表示します。上の例では30vwと指定しているため、画面サイズサイズの横幅の30%で青いボックスが表示されています。この単位の時はparentの横幅は影響を与えないので、parentの大きさを変更しても青いボックスの横幅が変わらないことがわかります。vwは画面サイズの横幅、vhは画面サイズの縦幅で指定するParentBox.parent { width : } .box { width : height : } 上の例では、青いボックスの縦横の大きさを、画面サイズの縦幅の10%に指定してあります。例えばwidthを100vw、heightを100vhとすると、画面サイズ目いっぱいに青いボックスを表示することになります。もちろんvhもparentの大きさの影響は受けないため、parentのサイズを変更しても青いボックスの大きさは変わりません。emの使い方ParentBox.parent { width : } .box { width : font-size : } emは相対的な単位ですが、親要素ではなくフォントサイズの何倍かで要素を表示します。上の例ではfont-sizeを16pxに指定しており、青いボックスの横幅を10emと指定しているため、16 10pxで青いボックスが表示されます。この単位の時はparentの横幅は影響を与えないので、parentの大きさを変更しても青いボックスの横幅が変わらないことがわかります。青いボックスにフォントサイズを指定しておらず、.parentにフォントサイズを指定している場合は、.parentのフォントサイズが青いボックスに適用されるため、.parentのフォントサイズ emの数値で要素が表示されます。ParentBox.parent { width : font-size : } .box { width : } remの使い方ParentBox.parent { width : font-size : } .box { width : font-size : } emは相対的な単位ですが、親要素ではなくWebサイトの基準のフォントサイズの何倍かで要素を表示します。Webサイトの基準のフォントサイズとは、htmlに設定されているフォントサイズのことを指します。htmlのデフォルトのフォントサイズは16pxとなっていますので、上の例では青いボックスの横幅は16 10pxで表示されます。各要素のフォントサイズの影響を受けないため、parent、boxのフォントサイズ、またはparentの横幅を変更しても、青いボックスの横幅が変わらないことがわかります。どの単位を使うべきかそれぞれの単位がどのような働きをするかを解説していきました。レイアウトに応じて適切な単位を使っていきましょう。単位を選ぶ基準をざっくりと解説していきます。基本的には相対的な単位を使う紹介した単位の中で、絶対的な単位はpxのみでしたが、基本的には相対的な単位で大きさを指定しましょう。相対的な単位を使う理由を解説します。柔軟なレイアウトが実現できるパソコンやスマートフォンによって画面のサイズが違うため、絶対的な単位で横幅を指定した時に画面からはみ出したり、小さすぎたりなどの問題が起こることがあります。相対的な単位を使うことで画面サイズに応じて要素のサイズが自動で変わるため、レイアウト崩れを起こしづらくなります。管理がしやすい絶対的な単位を使うと、一か所の要素のサイズを変更した際に他のレイアウトが崩れ、複数個所修正することになったりします。相対的な単位を使っていると、一か所の要素のサイズを変更すると、その子要素なども連動してサイズが修正されるため、変更箇所が少なくなることが多いです。絶対的な単位を使うケースpxを使ったほうが良い場合もあります。その例をご紹介します。高さを指定する場合パソコンは基本的には横長の画面、スマートフォンでは縦長の画面になっています。要素の高さを相対的な単位で指定した場合、パソコン、スマートフォンでそれぞれ見たときにレイアウトが大幅に変わってしまう場合があります。その為、Webサイトのヘッダーの高さなどを指定する際は、pxを使う選択も考えられます。最後まで読んでいただきありがとうございました!要素の大きさを指定する単位は種類も多く、それぞれ働きが複雑なため、反復して学習することが大切です!是非ブックマークして学習に役立ててみてください!質問や、こんなことを記事にしてほしい!というのがありましたらTwitterのコメント等で受け付けていますので、お気軽にどうぞ!ますみ - 愛知県在住の20代プログラマー - | @mashmy_98それでは次の投稿もお楽しみに!

2023年04月22日

Read More

【CSS入門】枠線の作り方を実際にコードを書きながら覚えよう

こんにちは!エンジニアのますみです!本日は枠線を指定することのできる、border属性の書き方を解説します!この記事では実際にCSSを書きながら枠線の使い方を覚えることができます!この記事はborder属性でできることを一通りまとめました。さらに実際にCSSをこのページ上で書くことができるので、プレビューを見ながら使い方を覚えることができます!是非、ブックマークして学習などに役立てていただけたら幸いです!テーマ border属性でできることを一通り覚えることができる内容 実際にスタイル属性を書くことが可能な記事なので、深く理解して使いこなすことができる内容この記事では、下のような黒い部分が編集可能になっていますので、実際にCSSを書きながらborder属性の使い方を覚えることができるようになっています!サンプル.box { border : } 10px solid #ffa500の部分が編集可能です。書き換えることで上のボックスの枠線を調節することができます。目次 基本の枠線 枠線を表示 枠線の太さを指定 枠線の色を指定 枠線を装飾する方法 点線にする 額縁のような枠にする 1 額縁のような枠にする 2 額縁のような枠にする 3 額縁のような枠にする 4 破線にする 二重線にする 角丸にする さらに複雑な枠線を指定する方法① | 辺ごとに指定する 辺ごとに細かく指定するサンプル さらに複雑な枠線を指定する方法②| 属性ごとに指定する 指定する値が一つの場合 指定する値が二つの場合 指定する値が三つの場合 指定する値が四つの場合それではさっそく見ていきましょう!基本の枠線枠線を表示サンプル.box { border : } 上のように書くことで枠線を表示することができます。solidの部分を消してみると枠線が消えることがわかります。枠線の太さを指定サンプル.box { border : } 上のように書くことで枠線の太さを指定することができます。10pxの部分を書き換えてみると、枠線の太さが変わることがわかります。枠線の色を指定サンプル.box { border : } 上のように書くことで枠線の色を指定することができます。#ffa500の部分を好きなカラーコードに書き換えてみると、枠線の色が変わることがわかります。枠線を装飾する方法点線にするサンプル.box { border : } 上のようにsolidと書いてあった部分をdottedにすると、点線の枠線を作ることができます。額縁のような枠にする 1サンプル.box { border : } 上のようにinsetと書くことで、額縁のようなデザインにすることができます。額縁のような枠にする 2サンプル.box { border : } 上のようにoutsetと書くことで、額縁のようなデザインにすることができます。insetと非常に似ていますが、色が濃いところと薄いところが逆になっています。額縁のような枠にする 3サンプル.box { border : } 上のようにgrooveと書くことで、insetよりも複雑なデザインにすることができます。額縁のような枠にする 4サンプル.box { border : } 上のようにridgeと書くことで、insetよりも複雑なデザインにすることができます。grooveと非常に似ていますが、色が濃いところと薄いところが逆になっています。破線にするサンプル.box { border : } 上のようにdashedと書くことで、破線の枠線を作ることができます。二重線にするサンプル.box { border : } 上のようにdoubleと書くことで、破線の枠線を作ることができます。角丸にするサンプル.box { border : border-radius : } 上のようにborder-radius属性を追加することで、角丸の枠線を作ることができます。指定した値が大きくなればなるほど滑らかな角になります。さらに複雑な枠線を指定する方法① | 辺ごとに指定するこれまでは.box { border: 枠線の太さ 枠線のタイプ 枠線の色;}borderという属性のみにプロパティを指定していましたが、辺ごとに指定することもできます。.box { border-top: 2px solid #ffa500; border-right: 2px solid #ffa500; border-bottom: 2px solid #ffa500; border-left: 2px solid #ffa500;}border-topが上辺、border-rightが右辺、border-bottomが下辺、border-leftが左辺です。このように書くことで、細かく値を指定することができます。辺ごとに細かく指定するサンプルサンプル.box { border-top : border-left : border-bottom : border-right : } 各プロパティの値を変えてみると、対応した辺の装飾が変化することがわかります。さらに複雑な枠線を指定する方法②| 属性ごとに指定するこれまでは.box { border: 枠線の太さ 枠線のタイプ 枠線の色;}のようにborder属性にすべてのプロパティを書き込んでいきましたが、下のようにそれぞれの値を別々に書くこともできます。.box { border-width: 2px; border-style: solid; border-color: #ffa500;}上のCSSはborder: 2px solid #ffa500;と書いた時と同じ働きをします。枠線の太さはborder-widthに、枠線のタイプはborder-styleに、枠線の色はborder-colorに書いていきます。行数は増えてしまいますが、こうすることでさらに複雑な枠線を指定することができます。指定する値が一つの場合サンプル.box { border-width : border-style : border-color : } 指定する値が一つの場合はすべての辺に値が適用されます。指定する値が二つの場合サンプル.box { border-width : border-style : border-color : } 二つの値を指定すると、一つ目の値が上下の辺、二つ目の値が左右の辺に適用されます。指定する値が三つの場合サンプル.box { border-width : border-style : border-color : } 三つの値を指定すると、一つ目の値が上辺、二つ目の値が下辺、三つ目の値が左右の辺に適用されます。指定する値が四つの場合サンプル.box { border-width : border-style : border-color : } 四つの値を指定すると、一つ目の値が上辺、二つ目の値が右辺、三つ目の値が下辺、四つ目の値が左辺のように、時計回りに順番に適用されます。本日はborder属性の書き方について解説しました!プログラミング学習は何度も繰り返して覚えていくことが大切です!是非ブックマークして学習に役立ててみてください!質問や、こんなことを記事にしてほしい!というのがありましたらTwitterのコメント等で受け付けていますので、お気軽にどうぞ!ますみ - 愛知県在住の20代プログラマー - | @mashmy_98それでは次の投稿もお楽しみに!

2023年04月21日

Read More

【javascript入門】オブジェクトを使ってみよう!

こんにちは!プログラマーのますみです!今回はjavascriptでオブジェクトを使う方法をご紹介します!javascriptはこちらのサイトで簡単に動かしてみることができます!JSFiddle是非実際にプログラムを書いてみながらオブジェクトの使い方を覚えてみてくださいね!オブジェクトってなに?オブジェクトとは、プログラムの中で扱うデータを、そのデータに適した形でまとめたものです!例えば、javsacriptの場合は、以下のようにオブジェクトを定義することができます!const product = {    name : "トマト",    price : 150}例ではトマトという商品の情報をproductという変数に定義しています。このようにまとまった情報を一つの変数で管理できるため、さまざまな処理が書きやすいメリットがあります!オブジェクトを使った処理を書いてみよう!それではオブジェクトを使った処理の例を書いてみますね!const product = {    name : "トマト",    price : 150}console.log("商品名は" + product.name + "です");console.log("価格は" + product.price + "です");こんな感じで、オブジェクトに格納された値を使うには、オブジェクト名前.オブジェクトの中身の名前という感じで、.(ドット)で区切って値を取り出すことができます!オブジェクトはこのように二階層、三階層というようにも定義できるのですがconst product = {    name : "トマト",    price : 150,    shop : {        name : "八百屋"    }}この場合はproduct.shop.nameというように、productの中のshopの中のnameといった感じで指定していけば大丈夫です!そして、オブジェクトは配列に格納することもできます。const products = [    {        name : "トマト",        price : 150    },    {        name : "にんじん",        price : 120    }];javascriptの配列についての記事はこちらを是非読んでみてください!それではまず、商品の情報を順番に表示してみましょう!const products = [    {        name : "トマト",        price : 150    },    {        name : "にんじん",        price : 120    }];products.map((product) = {    console.log("商品名は" + product.name + "です");    console.log("価格は" + product.price + "です");});これを実行してみると商品名はトマトです価格は150です商品名はにんじんです価格は120ですと表示できたと思います!それではこれを、商品名のリストと合計価格を表示するようにしてみましょう!少し複雑になりますが、こんな感じです!const products = [    {        name : "トマト",        price : 150    },    {        name : "にんじん",        price : 120    }];let productList = "";let totalPrice = 0;products.map((product) = {    productList += product.name + "\n";    totalPrice += product.price;});console.log("商品リスト\n" + productList);console.log("合計価格\n" + totalPrice + "円");javascriptでは、+=と書くと対象の変数の値に追加するという書き方ができます。これを実行してみると商品リストトマトにんじん 合計価格270円と表示されたと思います。こんな感じで、オブジェクトを使うことでデータをひとまとめに管理し、わかりやすいコードを書くことができます!今回はjavascriptでのオブジェクトの使い方を解説しました!このブログは、わたしがプログラミングを学習し始めたころに悩んでいたポイントをわかりやすく記事にして、わたしと同じ悩みを持つ方が少しでも減るように!と思って運用しています!共有やお気に入り登録していただけたら励みになりますので是非よろしくお願いします!それでは次の記事もお楽しみに!

2023年04月14日

Read More

超便利なJavascriptの配列処理まとめ【初心者向け】

こんにちは!エンジニアのますみです!本日は超便利なJavascriptの配列処理について書いていきます。Javascriptの配列にはすごく簡単にやりたい処理ができるような書き方がたくさんあるんです!目次 map | 全ての値に対して処理を行う filter | 条件に合うものを抽出する find | 条件に一致する一つの値を見つける every | 配列の中身がすべて条件に当てはまるか reduce | 配列の値の合計などを求める まとめそれでは早速超便利なJavascriptの配列処理を見ていきましょう!map | 全ての値に対して処理を行うconst prices = [100, 200, 300];const taxIncludePrices = prices.map(p = p * 1.1);console.log(taxIncludePrices);配列の中身すべてに処理を行う際はmapを使うことができます。配列名.map(配列の値 =処理)と書くことができます。上の例では、価格をまとめた配列の値すべての消費税込み価格を計算し、taxIncludePricesに定義しています。もっと複雑な処理を行いたい場合はconst prices = [100, 200, 300];const taxIncludePrices = prices.map(p = { // 複雑な処理 return p * 1.1;});console.log(taxIncludePrices);このように{}で処理を囲うことで、数行にわたる処理を書くことができます。この書き方をする際は、returnを使わないとundefinedがtaxIncludePricesに代入されてしまうため、注意してください。さらに、今配列の何番目の要素かを示すインデックスを使いたい場合にはconst prices = [100, 200, 300];const taxIncludePrices = prices.map((p, i) = { console.log(i + 1 + "個目の価格を処理しています。") return p * 1.1;});console.log(taxIncludePrices);このように配列名.map((配列の値,インデックス) = 処理)と書くことができます。このように配列内の値すべてに共通した処理を行いたいときはmap関数を使うとよいです。filter | 条件に合うものを抽出するconst ages = [19, 29, 13, 44];const minors = ages.filter(a = a 20);console.log(minors);配列から条件に当てはまる値のみに絞り込みをする際にはfilterを使うことができます。配列名.filter(配列の値 = 条件)と書くことができます。上の例では、年齢をまとめた配列の中から、未成年のみをminorsに定義しています。もっと複雑な処理を行いたい場合はconst ages = [19, 29, 13, 44];const minors = ages.filter(a = { // 複雑な処理 return a 20;});console.log(minors);このように{}で処理を囲うことで、数行にわたる処理を書くことができます。この書き方をする際は、returnを使わないとundefinedがminorsに代入されてしまうため、注意してください。さらに、今配列の何番目の要素かを示すインデックスを使いたい場合にはconst ages = [19, 29, 13, 44];const minors = ages.filter((a, i) = { if(i !== 0){ return a 20; };});console.log(minors);このように配列名.filter((配列の値,インデックス) = 処理)と書くことができます。このように配列内の値から絞り込みを行いたいときは、filter関数を使うとよいです。find | 条件に一致する一つの値を見つけるconst ages = [19, 29, 13, 44];const minor = ages.find(a = a === 19);console.log(minor);配列から条件に一致する値を見つけるにはfindを使うことができます。配列名.find(配列の値 = 条件)と書くことができます。上の例では、年齢をまとめた配列の中から、19のみをminorに定義しています。もっと複雑な処理を行いたい場合はconst ages = [19, 29, 13, 44];const minor = ages.find(a = { // 複雑な処理 return a === 19;});console.log(minor);このように{}で処理を囲うことで、数行にわたる処理を書くことができます。この書き方をする際は、returnを使わないとundefinedがminorに代入されてしまうため、注意してください。さらに、今配列の何番目の要素かを示すインデックスを使いたい場合にはconst ages = [19, 29, 13, 44];const minor = ages.find((a, i) = { if(i !== 0){ return a 19; };});console.log(minor);このように配列名.find((配列の値,インデックス) = 処理)と書くことができます。このように配列内の値から絞り込みを行いたいときは、find関数を使うとよいです。every | 配列の中身がすべて条件に当てはまるかconst ages = [19, 29, 13, 44];const isMinor = ages.every(a = a 20);console.log(isMinor); // false配列の値がすべて条件に一致するかを検証するにはeveryを使うことができます。配列名.every(配列の値 = 条件)と書くことができます。上の例では、年齢をまとめた配列が、すべて未成年かどうかを検証しています。もっと複雑な処理を行いたい場合はconst ages = [19, 29, 13, 44];const minor = ages.every(a = { // 複雑な処理 return a 20;});console.log(minor);このように{}で処理を囲うことで、数行にわたる処理を書くことができます。この書き方をする際は、returnを使わないと強制的にfalseがminorに代入されてしまうため、注意してください。さらに、今配列の何番目の要素かを示すインデックスを使いたい場合にはconst ages = [19, 29, 13, 44];const minor = ages.find((a, i) = { if(i !== 0){ return a 19; };});console.log(minor);このように配列名.every((配列の値,インデックス) = 処理)と書くことができます。このように配列内の値から絞り込みを行いたいときは、find関数を使うとよいです。reduce | 配列の値の合計などを求めるconst prices = [100, 200, 300];const total = prices.reduce((sum, p) = sum + p);console.log(total);配列の中身すべての合計などを求めるはreduceを使うことができます。配列名.map((合計を格納しておく変数, 配列の値)= 処理)と書くことができます。上の例では、価格をすべて合計した値をtotalに定義しています。もっと複雑な処理を行いたい場合はconst prices = [100, 200, 300];const total = prices.reduce((sum, p) = { // 複雑な処理 return sum + p;});console.log(total);このように{}で処理を囲うことで、数行にわたる処理を書くことができます。この書き方をする際は、returnを使わないとundefinedがsumに代入されてしまうため、注意してください。さらに、今配列の何番目の要素かを示すインデックスを使いたい場合にはconst prices = [100, 200, 300];const total = prices.reduce((sum, p, i) = { console.log(i + "個目の値を処理しています。"); // 複雑な処理 return sum + p;});console.log(total);このように配列名.reduce((配列の値,インデックス) = 処理)と書くことができます。このように配列内の値の合計などを求めるときにはreduce関数を使うとよいです。まとめ今回は超便利なJavascriptの配列処理についてお話ししました!質問や、こんなことを記事にしてほしい!というのがありましたらTwitterのコメント等で受け付けていますので、お気軽にどうぞ!ますみ - 愛知県在住の20代プログラマー - | @mashmy_98それでは次の投稿もお楽しみに!

2023年04月20日

Read More

【python入門】オブジェクトを使ってみよう!

こんにちは!プログラマーのますみです!今回はpythonでオブジェクトを使う方法をご紹介します!pythonはこちらのサイトで簡単に動かしてみることができます!paiza.io是非実際にプログラムを書いてみながらオブジェクトの使い方を覚えてみてくださいね!オブジェクトってなに?オブジェクトとは、プログラムの中で扱うデータを、そのデータに適した形でまとめたものです!例えば、pythonの場合は、以下のようにオブジェクトを定義することができます!product = {    'name': 'トマト',    'price': 150}例ではトマトという商品の情報をproductという変数に定義しています。このようにまとまった情報を一つの変数で管理できるため、さまざまな処理が書きやすいメリットがあります!オブジェクトを使った処理を書いてみよう!それではオブジェクトを使った処理の例を書いてみますね!product = {'name': 'トマト','price': 150}print('商品名は' + product['name'] + 'です')print('価格は' + str(product['price']) + 'です')こんな感じで、オブジェクトに格納された値を使うには、オブジェクト名前[オブジェクトの中身の名前]という感じで値を取り出すことができます!オブジェクトはこのように二階層、三階層というようにも定義できるのですがproduct = {'name': 'トマト','price': 150,'shop': {'name': '八百屋'}}この場合はproduct[shop][name]というように、productの中のshopの中のnameといった感じで指定していけば大丈夫です!そして、オブジェクトは配列に格納することもできます。products = [    {'name': 'トマト', 'price': 150},    {'name': 'にんじん', 'price': 120}]pythonの配列についての記事はこちらを是非読んでみてください!それではまず、商品の情報を順番に表示してみましょう!products = [    {        'name': 'トマト',        'price': 150    },    {        'name': 'にんじん',        'price': 120    }]for product in products:    print('商品名は' + product['name'] + 'です')    print('価格は' + str(product['price']) + 'です')これを実行してみると商品名はトマトです価格は150です商品名はにんじんです価格は120ですと表示できたと思います!それではこれを、商品名のリストと合計価格を表示するようにしてみましょう!少し複雑になりますが、こんな感じです!products = [    {        "name": "トマト",        "price": 150    },    {        "name": "にんじん",        "price": 120    }]productList = ""totalPrice = 0for product in products:    productList += product["name"] + "\n"    totalPrice += product["price"]print("商品リスト\n" + productList)print("合計価格\n" + str(totalPrice) + "円")pythonでは、+=と書くと対象の変数の値に追加するという書き方ができます。これを実行してみると商品リストトマトにんじん合計価格270円と表示されたと思います。こんな感じで、オブジェクトを使うことでデータをひとまとめに管理し、わかりやすいコードを書くことができます!今回はpythonでのオブジェクトの使い方を解説しました!このブログは、わたしがプログラミングを学習し始めたころに悩んでいたポイントをわかりやすく記事にして、わたしと同じ悩みを持つ方が少しでも減るように!と思って運用しています!共有やお気に入り登録していただけたら励みになりますので是非よろしくお願いします!それでは次の記事もお楽しみに!

2023年04月14日

Read More

【HTML、CSS】1-1、1-2みたいなネストしたリストの作り方

こんにちは!エンジニアのますみです!本日は1-1、1-2のようなナンバリングを指定するCSSの書き方を解説します。ブログの目次などを見やすくするには欠かせないテクニックです!目次 サンプル 1-1、1-2みたいなネストしたリストの作り方 リストを作る 子リストを少し右に寄せる デフォルトのリストスタイルを非表示にする 疑似要素とcountersを使いナンバリングする ネストしたリストにも同じようにナンバリングの設定をする 親リストのナンバリング、子リストのナンバリングを組み合わせて表示したい形式で表示それではさっそく見ていきましょうサンプル 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素こんな感じのリストを作っていきます。ol要素のようなナンバリングに見えますが、1-1、1-2のようなナンバリングもありますねこれは通常のol要素では作れないため、疑似要素とcounter属性を使っていきます。ちなみに1.1、1.2のようなナンバリングもできます。 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素応用するとこんな感じのデザインもできます。 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素1-1、1-2みたいなネストしたリストの作り方手順1. リストを作る 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素HTMLdiv class="コンテナ"    ul class="親リスト"        li class="親リストのli要素"親リストのli要素/li        li class="親リストのli要素"親リストのli要素/li    /ul    ul class="子リスト"        li class="子リストのli要素"子リストのli要素/li        li class="子リストのli要素"子リストのli要素/li        li class="子リストのli要素"子リストのli要素/li /ul    ul class="親リスト"        li class="親リストのli要素"親リストのli要素/li        li class="親リストのli要素"親リストのli要素/li    /ul    ul class="子リスト"        li class="子リストのli要素"子リストのli要素/li        li class="子リストのli要素"子リストのli要素/li        li class="子リストのli要素"子リストのli要素/li    /ul/div今回はCSSを書く際にセレクタの付け方が少々複雑になります。その為、わかりやすいように日本語でクラス名を付けましたが、本来は日本語のクラス名はおすすめしません。また、以下のようにHTML要素もネストさせたいところですがナンバリングをつける際にCSSが難解になってしまうため、上記のように書くことにします。HTMLul class="親リスト" style="margin-bottom: 0" li class="親リストのli要素"親リストのli要素/li li class="親リストのli要素"親リストのli要素/li li ul class="子リスト" style="margin-bottom: 0" li class="子リストのli要素"子リストのli要素/li li class="子リストのli要素"子リストのli要素/li li class="子リストのli要素"子リストのli要素/li /ul /li/ulちなみにul、ol要素でなくても今回紹介するナンバリングを表示させることが可能なので、場面に応じでHTML要素を決めてください!手順2. 子リストを少し右に寄せる 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素CSS.子リスト { margin-left: 0.8rem;}やりたいレイアウトによってはこの工程は無くても可です。こうすることにより、ネストしているとわかりやすくなります。手順3. デフォルトのリストスタイルを非表示にする 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素CSS.親リスト { list-style: none; // 追加}.子リスト { margin-left: 0.8rem; list-style: none; // 追加}デフォルトのリスト装飾は使わないため、親リスト、子リストともにlist-style:noneをセットします。手順4. 疑似要素とcountersを使いナンバリングする 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素CSS.コンテナ { counter-reset: ul; // 追加}.親リスト { list-style: none;}.親リスト .親リストのli要素::before { counter-increment: ul 1; // 追加 content: counter(ul); // 追加}.子リスト { margin-left: 0.8rem; list-style: none;}コンテナにcounter-reset、親リストのli要素に疑似要素(::before)を追加し、counter-incrementという値を使用しています。そして::beforeのcontentにはcounter(ul)という指定をしています。疑似要素(::before)について詳しく知りたい方はこちらの記事をご覧くださいCSSにはセレクタで指定した要素が出てきた回数を数えて、順番にナンバリングする機能があります(若干語弊があるのですが後ほど詳しく解説します)その為に使う属性がcounter-reset、counter-increment、counterです。counter-resetで名前と初期値を指定、リセットするcounter-reset: 名前 初期値;この時に指定した名前に回数を記憶していきます。初期値は指定しなければ0になります。counter-resetを指定した要素が現れるたびに名前に記憶された回数は初期値にリセットされます。今回は.コンテナを持つ要素は一つだけですが、二つ以上に.コンテナを持つ要素が増えるかもしれません。変更が起こる可能性を考えてcounter-resetはしっかり指定しておきましょう。counter-incrementで回数を更新するcounter-increment: 名前 増加数;counter-incrementを指定した要素が現れるたびに、名前に記憶されている回数を更新します。この時、counter-incrementに指定した増加数分数値が増えていきます。今回は.親リスト .親リストのli要素::beforeに対してcounter-incrementを指定しました。.親リスト .親リストのli要素::before { counter-increment: ul 1;}.親リスト .親リストのli要素::beforeが現れるということはHTML上では.親リスト .親リストのli要素が現れたタイミングなのでul class=親リスト style=margin-bottom: 0 ulをリセット、初期値の0がセットされる li class=親リストのli要素親リストのli要素/li ulに1を足す ul = 1 li class=親リストのli要素親リストのli要素/li ulに1を足す ul = 2 li ul class=子リスト style=margin-bottom: 0 li class=子リストのli要素子リストのli要素/li li class=子リストのli要素子リストのli要素/li li class=子リストのli要素子リストのli要素/li /ul /li/ulこういうことですねcounter(名前)で要素を表示content: counter(名前)counter-reset、counter-incrementで使用していた名前に記憶されている数値を表示するときにcounter(名前)とします。div class=コンテナulをリセット、初期値の0がセットされるul class=親リストli class=親リストのli要素親リストのli要素/li ulに1を足す ul = 1 counter(ul)で表示、1が表示されるli class=親リストのli要素親リストのli要素/li ulに1を足す ul = 2 counter(ul)で表示、2が表示される/ulul class=子リストli class=子リストのli要素子リストのli要素/lili class=子リストのli要素子リストのli要素/lili class=子リストのli要素子リストのli要素/li /ulul class=親リストli class=親リストのli要素親リストのli要素/li ulに1を足す ul = 3 counter(ul)で表示、3が表示されるli class=親リストのli要素親リストのli要素/li ulに1を足す ul = 4 counter(ul)で表示、4が表示される/ulul class=子リストli class=子リストのli要素子リストのli要素/lili class=子リストのli要素子リストのli要素/lili class=子リストのli要素子リストのli要素/li/ul/divもちろん名前を間違えてしまうとおかしなカウントになってしまうので誤字には注意してください。手順5. ネストしたリストにも同じようにナンバリングの設定をする 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素CSS.コンテナ { counter-reset: ul;}.親リスト { list-style: none; margin-bottom: 0;}.親リスト .親リストのli要素::before { counter-increment: ul 1; content: counter(ul);}.子リスト { margin-left: 0.8rem; list-style: none; counter-reset: uul; // 追加}.子リスト .子リストのli要素::before { counter-increment: uul 1; // 追加 content: counter(uul); // 追加}子リストにもナンバリングをする設定を追加します。親リストの出現回数を記憶しているulとは別でカウントをしていく必要があるため、別途uulという名前に子リストの出現回数を記憶するようにします。div class=コンテナulをリセット、初期値の0がセットされるul class=親リストli class=親リストのli要素親リストのli要素/li ulに1を足す ul = 1 counter(ul)で表示、1が表示されるli class=親リストのli要素親リストのli要素/li ulに1を足す ul = 2 counter(ul)で表示、2が表示される/ulul class=子リストuulをリセット、初期値の0がセットされるli class=子リストのli要素子リストのli要素/li uulに1を足す uul = 1 counter(uul)で表示、1が表示されるli class=子リストのli要素子リストのli要素/li uulに1を足す uul = 2 counter(uul)で表示、2が表示されるli class=子リストのli要素子リストのli要素/li uulに1を足す uul = 3 counter(uul)で表示、3が表示される /ulul class=親リストli class=親リストのli要素親リストのli要素/li ulに1を足す ul = 3 counter(ul)で表示、3が表示されるli class=親リストのli要素親リストのli要素/li ulに1を足す ul = 4 counter(ul)で表示、4が表示される/ulul class=子リストuulをリセット、初期値の0がセットされるli class=子リストのli要素子リストのli要素/li uulに1を足す uul = 1 counter(uul)で表示、1が表示されるli class=子リストのli要素子リストのli要素/li uulに1を足す uul = 2 counter(uul)で表示、2が表示されるli class=子リストのli要素子リストのli要素/li uulに1を足す uul = 3 counter(uul)で表示、3が表示される/ul/div今回はcounter-resetを指定した子リストが二回出現します。そのためuulが記憶している数値はリセットされて、二個目の子リストはまた1,2,3とナンバリングされます。手順6. 親リストのナンバリング、子リストのナンバリングを組み合わせて表示したい形式で表示 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素CSS.コンテナ { counter-reset: ul;}.親リスト { list-style: none; margin-bottom: 0;}.親リスト .親リストのli要素::before { counter-increment: ul 1; content: counter(ul);}.子リスト { margin-left: 0.8rem; list-style: none; counter-reset: uul;}.子リスト .子リストのli要素::before { counter-increment: uul 1; content: counter(ul) "-" counter(uul); // 修正}子リストのli要素の::beforeを修正し、親リストの出現回数を記憶しているulを呼び出すことで1-1、1-2というナンバリングが表示できます。子リストのli要素の一つ目が出現したタイミングで、親リストの出現回数を記憶しているulは2になっているため2-1と表示できるわけですねdiv class=コンテナulをリセット、初期値の0がセットされるul class=親リストli class=親リストのli要素親リストのli要素/li ulに1を足す ul = 1 counter(ul)で表示、1が表示されるli class=親リストのli要素親リストのli要素/li ulに1を足す ul = 2 counter(ul)で表示、2が表示される/ulul class=子リストuulをリセット、初期値の0がセットされるli class=子リストのli要素子リストのli要素/li uulに1を足す uul = 1 counter(ul) - counter(uul)で表示、2-1が表示される...content: counter(ul) - counter(uul);の-が親リストの出現回数と子リストの出現回数の間に表示される文字なので、お好みの文字を入れることで1.1、1.2、1.3と表示したり1:1、1:2と表示したりできます。あとは余白や色を微調整したら完成! 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素 親リストのli要素 親リストのli要素 子リストのli要素 子リストのli要素 子リストのli要素CSS.コンテナ { counter-reset: ul;}.親リスト { list-style: none; margin-bottom: 0;}.親リスト .親リストのli要素::before { counter-increment: ul 1; content: counter(ul); margin-right: 0.4rem; // 追加 font-weight: bold; // 追加}.子リスト { margin-left: 0.8rem; list-style: none; counter-reset: uul;}.子リスト .子リストのli要素::before { counter-increment: uul 1; content: counter(ul) "-" counter(uul); margin-right: 0.4rem; // 追加 font-weight: bold; // 追加}この辺はお好みで!::before要素に背景色や文字色等のスタイルを指定することで自由なデザインが可能です!最後まで読んでいただきありがとうございます!質問や、こんなことを記事にしてほしい!というのがありましたらTwitterのコメント等で受け付けていますので、お気軽にどうぞ!ますみ - 愛知県在住の20代プログラマー - | @mashmy_98それでは次の投稿もお楽しみに!

2023年04月30日

Read More

【CSS入門】displayの使い方を実際にコードを書きながら覚えよう

こんにちは!エンジニアのますみです!本日はCSSの基本、displayの使い方を解説していきます!自由なレイアウトを作るには欠かせない知識です!是非覚えてみてください!この記事を読んでほしい方! CSSを学習してスキルを身に着けたい方 基礎知識をまとめた記事をブックマークしておきたい方 実際にコードを書きながら覚えたい方この記事では実際にCSSをこのページ上で書くことができるので、プレビューを見ながら使い方をマスターすることができます。是非、ブックマークして学習に役立てていただけたら幸いです。目次 display:blockの使い方 〇幅、高さを指定できる 余白を指定できる display:inlineの使い方 親要素の横幅に到達すると自動で改行される 余白を指定する際は注意が必要 横の余白は綺麗に表示される 縦のmarginは指定できない 縦のpaddingを指定するとレイアウトが崩れやすいため注意 display:inline-blockの使い方 親要素の横幅に到達すると自動で改行される 縦、横の余白が指定可能 改行しても余白が綺麗に表示できる display:flexの使い方 子要素を左寄せ、中央寄せ、右寄せにする 子要素を横幅いっぱいに均等に配置するそれではさっそく見ていきましょう!display:blockの使い方ParentBoxBox.parent { display : } .box { display : } blockを指定すると、要素は縦に並べられます。〇幅、高さを指定できるParentBoxBox.parent { display : } .box { display : width : height : } blockを指定した要素は幅、高さを指定することができます。エディターの.boxの大きさを編集してみると、幅、高さが指定できることがわかります。余白を指定できるParentBoxBox.parent { display : } .box { display : margin : padding : } blockを指定した要素は余白(margin)、要素の内側の余白(padding)を指定することができます。エディターの.boxのmargin、paddingを編集してみると、余白が指定できることがわかります。display:inlineの使い方ParentBoxBoxBox.parent { display : .box { display : } inlineを指定すると、要素は横に並べられます。親要素の横幅に到達すると自動で改行されるParentBoxBoxBox.parent { display : width : } .box { display : } 上の要素がもしも改行していなければ、parentのwidthを小さくしてみてください。inlineを指定した要素は、親要素の横幅に到達すると自動で改行されます。marginを適切に指定することで、見やすいレイアウトにすることができます。余白を指定する際は注意が必要横の余白は綺麗に表示できるParentBoxBox.parent { display : } .box { display : margin : padding : } inlineを指定した要素に、横の余白を指定した例です。このように各要素に適切な余白を指定して、見やすいレイアウトを作ることができます。縦のmarginは指定できないParentBoxBox.parent { display : } .box { display : margin : padding : } inlineを指定した要素は、縦向きのmarginを指定しても無効となるため、変化が起こりません。縦のpaddingを指定するとレイアウトが崩れやすいため注意ParentBoxBox.parent { display : } .box { display : margin : padding : } inlineを指定した要素は、縦のpaddingを指定することが可能ですが、レイアウトが崩れやすいため注意が必要です。上の例では、青いボックスの縦のpaddingに50pxを指定しました。青いボックス自体は指定したpadding分大きく表示されましたが、親ボックスの大きさに影響を与えられないため、おかしなレイアウトになってしまっています。ParentBoxBoxBox.parent { display : width : } .box { display : margin : padding : } また、要素が改行した際にはpaddingで指定した縦幅分、他の要素とかぶってしまいます。上のeditorのpaddingを編集して、padding: 0px 10px;とすると表示崩れが直ることがわかると思います。その為、inlineを指定した要素には基本的には縦のpaddingは指定するべきではありません。display:inline-blockの使い方ParentBoxBoxBox.parent { display : .box { display : } inline-blockを指定すると、要素は横に並べられます。親要素の横幅に到達すると自動で改行されるParentBoxBoxBox.parent { display : width : } .box { display : } 上の要素がもしも改行していなければ、parentのwidthを小さくしてみてください。inline-blockを指定した要素は、親要素の横幅に到達すると自動で改行されます。ここまではinlineと変わりない働きをしますが、余白の指定で大きな差があります。縦、横の余白が指定可能ParentBoxBoxBox.parent { display : } .box { display : padding : margin : } inline-blockはmargin、paddingが縦も横も設定可能です。改行しても余白が綺麗に表示できるParentBoxBoxBox.parent { display : width : } .box { display : padding : margin : } inline-blockを指定した要素は自身の高さを明確に持つことができるので、 改行しても要素同士がかぶることはありません。display:flexの使い方ParentBoxBoxBox.parent { display : } .box { display : padding : margin : } これまでの属性は、指定した要素自身の働きが変わる属性でしたが、flexは特殊で、子要素の並べ方に影響を与えます。flexは子要素を横並びに表示するため、青いボックスが横並びに配置されます。子要素を左寄せ、中央寄せ、右寄せにするParentBoxBoxBox.parent { display : width : justify-content : } .box { display : padding : margin : } flexを指定した要素に、justify-content: centerとすると、子要素を中央に寄せて配置することができます。また、flex-startで左寄せ、flex-endで右寄せになります。是非上のエディターでjustify-contentを編集して、動きを確認してみてください。子要素を横幅いっぱいに均等に配置するParentBoxBoxBox.parent { display : width : justify-content : } .box { display : padding : margin : } さらに、justify-conentにspace-betweenを指定すると、子要素を横幅いっぱいに広げて配置することができます。均等に配置する設定は他にもあり、space-aroundと指定すると最初と最後の要素も余白を持たせた状態で配置され、space-evenryと指定すると、一つ目の要素の前の余白、要素間の余白、最後の要素の後の余白がすべて均等になるように配置されます。flexは他にも柔軟なレイアウトに対応するための設定がたくさんあるため、この記事ではよく使うものを厳選して紹介しました。Webデザインにおいて欠かせない属性なので、是非覚えてみてください!最後まで読んでいただきありがとうございました!プログラミング学習は反復して覚えていくことが大切です!是非ブックマークして学習に役立ててみてください!質問や、こんなことを記事にしてほしい!というのがありましたらTwitterのコメント等で受け付けていますので、お気軽にどうぞ!ますみ - 愛知県在住の20代プログラマー - | @mashmy_98それでは次の投稿もお楽しみに!

2023年04月22日

Read More

CSSで丸を作る方法【書いてわかるCSS】

こんにちは!エンジニアのますみです!本日はCSSで丸を作る方法を解説します!メリハリのあるレイアウトを作るために必須のテクニックです!この記事では実際にCSSをこのページ上で書くことができるので、プレビューを見ながら使い方を覚えることができます!是非、ブックマークして学習などに役立てていただけたら幸いです!テーマ CSSで丸を作る方法をマスターできる この記事上でプレビューを見ながらCSSを書くことで、CSSの仕組みを深く理解できる目次 丸を作る手順 正方形を作る 角を丸くするborder-radius属性を追加する border-radiusを調整して丸を作る 枠線だけ表示するそれではさっそく見ていきましょう丸を作る手順HTMLはこのようにしてください。div class="circle"/divクラスにcircleを設定した要素を丸くしていきます。1. 正方形を作る.circle { width : height : background-color : } widthとheightに同じ値を設定しておけば大丈夫です。背景色(background-color)はお好みで設定してください。2. 角を丸くするborder-radius属性を追加する.circle { width : height : background-color : border-radius : } CSSにborder-radiusを追加します。border-radiusにはpxなどのサイズを指定することができます。これを大きくすると青いボックスの角が丸くなっていきます。試しにborder-radius : 10pxと設定してみてください。青いボックスの角が丸くなったのがわかると思います。3. border-radiusを調整して丸を作る.circle { width : height : background-color : border-radius : } border-radiusを50%に設定してみてください。綺麗な丸が作れたと思います。border-radiusは、要素の半分の大きさを指定すると綺麗な丸を作ることができます。ということは50pxと指定しても丸が作れるはずです。上のエディターでborder-radius : 50pxと設定してみてください。これでもきれいな丸になることがわかると思います。基本的にはborder-radius : 50%でOK50%で指定しておけば、丸の大きさを後から変更した時にborder-radiusを再調整しなくても綺麗な丸が表示されるため、らくちんです!border-radiusについてはこちらの記事で詳しく解説しています!楕円やぐにゃっとした丸を作れるようになりたい方は読んでみてください。枠線だけ表示する.circle { width : height : border : border-radius : } background-colorを削除して、border: 2px solid #0072c6を追加すると、青い枠線の綺麗な丸を作れます。線の色を変更したいときはborder: 2px solid #0072c6;この部分を好きなカラーコードに変更してください。線の太さを変更したいときはborder: 2px solid #0072c6;この部分を好きな太さに変更してください。borderについてはこちらの記事で詳しく解説しています!いろんなデザインの線を作りたい方は是非読んでみてください。最後まで読んでいただきありがとうございます!プログラミング学習は何度も繰り返して覚えていくことが大切です!是非ブックマークして学習に役立ててみてください!質問や、こんなことを記事にしてほしい!というのがありましたらTwitterのコメント等で受け付けていますので、お気軽にどうぞ!ますみ - 愛知県在住の20代プログラマー - | @mashmy_98それでは次の投稿もお楽しみに!

2023年04月25日

Read More

【CSS入門】書いて覚えるbox-shadowの使い方

こんにちは!エンジニアのますみです!本日は要素に影をつけるbox-shadowの使い方を解説します。立体感のあるデザインや、ボタンのホバー時にもよく使われるテクニックですこの記事はbox-shadow属性でできることを一通りまとめました。さらに実際にCSSをこのページ上で書くことができるので、プレビューを見ながら使い方を覚えることができます!是非、ブックマークして学習などに役立てていただけたら幸いです!テーマ box-shadow属性でできることを一通り覚えることができる内容 実際にスタイル属性を書くことが可能な記事なので、深く理解して使いこなすことができる内容目次 box-shadowとは 基本的な使い方 影をつける最低限の設定 影をぼかす 影の大きさを指定する 影を要素の内側にするそれではさっそく見ていきましょうbox-shadowとはBOX.box { box-shadow : } box-shadowは要素に影をつけることができるCSSのプロパティです。基本的にはbox-shadowを適用した要素と同じ大きさの影が表示されます。デフォルトでは元の要素と全く同じ位置に配置されるため、影は見えません。元の要素から影の位置をどれだけずらすかを指定し、理想のレイアウトを作っていきます。基本的な使い方box-shadowは複数の数値と色を指定することができます。数値の数は最小2つから最大4つ指定でき、1つ目の数値は影の縦方向の位置2つ目の数値は影の横方向の位置3つ目の数値は影のぼかし具合4つ目の数値は影の大きさというように、順番に役割が割り振られていきます。まずは数値が2つの、最小限の設定から解説します。影をつける最小限の設定BOX.box { box-shadow : } 数値を2つ指定した場合、それぞれの働きはbox-shadow: 影の縦方向の位置 影の横方向の位置 影の色となります。位置を指定する値を0pxとすると、元の要素と同じ位置になります。縦方向の位置は数値を増やすと影の位置は下へ、数値をマイナスの値にすると影の位置は上に移動していきます。横方向の位置は数値を増やすと影の位置は右へ、数値をマイナスの値にすると影の位置は左に移動していきます。影をぼかすBOX.box { box-shadow : } 3つ目の数値を指定して、影のぼかし度合を指定することができます。数値を大きくすると影のぼかしが強くなります。それぞれの値の役割はbox-shadow: 影の縦方向の位置 影の横方向の位置影のぼかし度合影の色となります。影の大きさを指定するBOX.box { box-shadow : } 4つ目の数値は影の大きさを指定することができます。0pxで元の要素と同じ大きさです。数値を増やすと影は大きくなり、マイナスの値では影は小さくなっていきます。それぞれの値の役割はbox-shadow: 影の縦方向の位置 影の横方向の位置影のぼかし度合 影の大きさ影の色となります。影を要素の内側にするBOX.box { box-shadow : } insetを指定すると要素の内側に影をつけることができます。高度なbox-shadowの使い方BOX.box { box-shadow : } ,カンマで区切り、複数の影を作ることができます。上の例では青系の影をボックスから少しずらしたところに、グレーの影をさらにずらした部分に配置しています。指定する値は、,カンマを境に同じ役割になります。box-shadow: 影①の縦方向の位置 影①の横方向の位置影①のぼかし度合 影①の大きさ影①の色,影②の縦方向の位置 影②の横方向の位置影②のぼかし度合 影②の大きさ影②の色影を複数使ったデザインサンプル画面が突起して見えるBOX.box { box-shadow : } 背景色とボックスを同じ色にし、ボックスよりも薄い色の影を左上、ボックスよりも濃い色の影を右下に表示します。画面がくぼんで見えるBOX.box { box-shadow : } 先ほどの書き方にinsetを追加することで、ボックスがくぼんで見えます。3つ以上も影をつけられるBOX.box { box-shadow : } 影の位置をずらしながら色をだんだん薄くしていき、ボックスに残像がついているようなデザインになりました。本日はbox-shadow属性の書き方について解説しました!プログラミング学習は何度も繰り返して覚えていくことが大切です!是非ブックマークして学習に役立ててみてください!質問や、こんなことを記事にしてほしい!というのがありましたらTwitterのコメント等で受け付けていますので、お気軽にどうぞ!ますみ - 愛知県在住の20代プログラマー - | @mashmy_98それでは次の投稿もお楽しみに!

2023年04月23日

Read More

【CSS入門】書いて覚える::before、::afterの使い方

こんにちは!エンジニアのますみです!本日は疑似要素::before、::afterについて解説していきます。少し難しいですが、使いこなせたらCSSレベルアップです!この記事では実際にCSSをこのページ上で書くことができるので、プレビューを見ながら使い方を覚えることができます!是非、ブックマークして学習などに役立てていただけたら幸いです!テーマ ::before、::afterの使い方をマスターできる 覚えるとどんなメリットがあるかがわかる この記事上でプレビューを見ながらCSSを書くことで、CSSの仕組みを深く理解できる目次 ::before、::afterの基礎 ::before ::after ::before、::afterは両方指定できる スタイルを指定する より自由なデザインを作る どんな時に便利か HTMLが見やすくなる 使いまわしやすいそれではさっそく見ていきましょう::before、::afterの基礎::before最小限の設定ポイント.point::before { content: } ::before要素を表示するにはcontentを指定する必要があります。::beforeはセレクタで指定した要素の中の最初にcontentで指定した内容が追加されます。div class="point" !--ここに::beforeが表示される-- ポイント/divそのため、上の例では表示される要素はこのようになりますdiv class="point" "●" ポイント/div::after最小限の設定ポイント.point::after { content: } ::after要素を表示するにはcontentを指定する必要があります。::afterはセレクタで指定した要素の中の最後にcontentで指定した内容が追加されます。div class="point" ポイント !--ここに::afterが表示される--/divそのため、上の例では表示される要素はこのようになりますdiv class="point" ポイント "●"/div::before、::afterは両方指定できるポイント.point::before { content: } .point::after { content: } 上のように、一つの要素に::before、::afterどちらも指定することが可能です。この場合表示される要素はこのようになります。div class="point"  !--ここに::beforeが表示される-- ポイント !--ここに::afterが表示される--/divdiv class="point"  "●" ポイント  "●"/divスタイルを指定するポイント.point::before { content: color: } .point::after { content: color: } 通常のHTML要素同様にスタイルを適用することが可能です。より自由なデザインをつくるポイント.point::before { content: display: width: height: background-color: vertical-align: } .point::after { content: display: width: height: background-color: vertical-align: } 上のようにcontent: として空の要素を作りwidth、heightなどを使って自由なデザインを作ることができます。注意するポイントは、疑似要素はデフォルトではdisplay: inlineとなっているためwidth、heightが無効化されてしまいます。display属性をblock、inline-block、flexなどのサイズが指定できるプロパティに変更することを忘れないでください。どんなときに便利か::before、::afterを使わなくても、HTML上に要素を書いてしまえば同じことができます。::before、::afterを使った場合ポイントHTMLdiv class="point"ポイント/divCSS.point::before { content: ""; display: inline-block; width: 1rem; height: 2px; background-color: #ffa500; vertical-align: middle;}.point::after { content: ""; display: inline-block; width: 1rem; height: 2px; background-color: #ffa500; vertical-align: middle;}::before、::afterを使わない場合ポイントHTMLdiv class="point" span/span ポイント span/span/divCSS.point span { display: inline-block; width: 1rem; height: 2px; background-color: #ffa500; vertical-align: middle;}それなのにあえて::before、::afterを使うメリットを解説します。HTMLが見やすくなるdiv class="point" span/span ポイント span/span/div例えばこのHTMLは::before、::afterを使わない場合のコードになります。HTMLだけを見ると、spanが何のためにあるのかわかりませんし、コードが読みづらくなってしまいます。::before、::afterを使うことで、HTMLの見通しがよくなり、管理、修正がやりやすくなります。使いまわしやすい::before、::afterを使わない場合は、その都度span文字spanというHTMLを書く必要があります。頻繁に使いたいスタイルだった場合、HTMLは複雑になり、書き間違いによるミスも引き起こしやすくなります。​div class="point" span/span ポイント1 span/span/divdiv class="point" span/span ポイント2 span/span/divh2見出し/h2div class="point" span/span ポイント3/div​div h3見出し/h3 div class="point" span/span ポイント4 span/span /div div class="point" span/span ポイント5 /div/divdiv class="point" span/span ポイント6 span/span/div上のHTMLには書き間違えている箇所がありますが、非常にわかりづらいです。​div class="point" span/span ポイント1 span/span/divdiv class="point" span/span ポイント2 span/span/divh2見出し/h2div class="point" span/span ポイント3 !--ミス1--/div​div h3見出し/h3 div class="point" span/span ポイント4 span/span /div div class="point" span/span ポイント5 !--ミス2-- /div/divdiv class="point" span/span ポイント6 span/span/div上の2か所が書き間違えている箇所です。::before、::afterを使うことで、pointというクラスさえ書けばスタイルが適用されるため、ミスを防ぎつつ使いまわしやすいコードを書くことができます。​div class="point" ポイント1/divdiv class="point" ポイント2/divh2見出し/h2div class="point" ポイント3/div​div h3見出し/h3 div class="point" ポイント4 /div div class="point" ポイント5 /div/divdiv class="point" ポイント6/div最後まで読んでいただきありがとうございます!プログラミング学習は何度も繰り返して覚えていくことが大切です!是非ブックマークして学習に役立ててみてください!質問や、こんなことを記事にしてほしい!というのがありましたらTwitterのコメント等で受け付けていますので、お気軽にどうぞ!ますみ - 愛知県在住の20代プログラマー - | @mashmy_98それでは次の投稿もお楽しみに!

2023年04月24日

Read More

【python入門】配列を使ってみよう!

こんにちは!プログラマーのますみです!今回はpythonで配列を使う方法をご紹介します!Pythonはこちらのサイトで簡単に動かしてみることができます!paiza.io是非実際にプログラムを書いてみながら変数の使い方を覚えてみてくださいね!配列ってなに?変数とはデータを格納するための箱のようなものです!プログラムの中で変数に値を格納しておくと、変数を書くだけで値を呼び出して、計算したり表示したりすることができます!pythonで配列を使う方法配列とは、複数のデータを一つの変数で扱うことができる仕組みのことです!例えば、pythonの場合は、以下のように配列を定義することができます!prices = [1000, 1200, 2000, 500]これは4種類の商品の価格を一つの配列に定義した例ですね、この配列を使ってどんな処理ができるのかを紹介していきます!配列を使うメリット配列をうまく使うことで、複数のデータに一括で処理を行うことに強いプログラムを書くことができます!例えば、上記のpricesという配列に定義した価格をすべて表示してみましょう!配列内の値すべてに処理を実行するには、pythonのmapという機能を使っていきます。prices = [1000, 1200, 2000, 500]for price in prices:    # ここに処理を書く!ではすべての価格を表示してみましょう!prices = [1000, 1200, 2000, 500]for price in prices:    print(price)こうすると、配列に格納されている価格を順番に表示することができます!※paiza.ioでコピペで動かしてみる場合、黄色い部分を一度消してTabキーを押してから実行してみてください!prices = [1000, 1200, 2000, 500]for price in prices: print(price)これだけでは味気ないので、価格の後に円と表示してみましょう!prices = [1000, 1200, 2000, 500]for price in prices:    print(str(price) + "円")これで1000円という形式で価格を表示することができました!さらに消費税を含めた価格を表示するようにしてみましょう!prices = [1000, 1200, 2000, 500]for price in prices:    print(str(price * 1.1) + "円")こんな感じで、配列を使うことでプログラミング言語に備わっている便利な機能を使える上、変更に強い良いソースコードが書けるようになります!今回はpythonでの配列の使い方を解説しました!このブログは、わたしがプログラミングを学習し始めたころに悩んでいたポイントをわかりやすく記事にして、わたしと同じ悩みを持つ方が少しでも減るように!と思って運用しています!共有やお気に入り登録していただけたら励みになりますので是非よろしくお願いします!それでは次の記事もお楽しみに!

2023年04月14日

Read More

機械学習とは?簡単にわかりやすく解説!

こんにちは!エンジニアのますみです!本日は機械学習とは何かをわかりやすく解説していきます!テーマ どのサイトよりも機械学習についてわかりやすく解説 機械学習とは何かがわかる 身近なところで活躍する機械学習を使ったサービスがわかる目次 機械学習とは?簡単にわかりやすく解説! SNSがユーザーが興味のある投稿を選んで表示するときの機械学習のしくみ つまり機械学習は『関連付け』と『連想ゲーム』をベースにしている 正確に情報を表示するには大量のデータが必要 機械学習における『多数決』とは まとめ 機械学習はコンピューターがデータから共通点を見つけて関連付けをしていくこと 学んだ共通点を元に私たちの役に立つ機能が作られているそれではさっそく見ていきましょう機械学習とは?簡単にわかりやすく解説!機械学習とは、コンピュータがデータを学び、問題を解決する方法を覚えるための技術です。機械学習はすでに私たちの身近で活躍しており、例えばSNSでは ユーザーが興味のある投稿を選んで表示する 悪意のあるコメントや投稿を非表示にするといった機能がありますが、これらはコンピューターが機械学習で学んだことを活かして投稿の表示、非表示をしているのです。SNSがユーザーが興味のある投稿を選んで表示するときの機械学習のしくみ例えばあなたがSNSで『箱根』というキーワードで投稿の検索をしたとします。すると画面には箱根に関連する投稿が表示されると思います。表示された投稿には、本文に箱根という言葉が含まれているものが表示されます。ここまではまだ機械学習を使っていません。コンピューターは本文に箱根が入っている、入っていないかどうかで判定をしているだけですね。さて、表示された投稿の中には箱根という言葉が含まれていないものや、草津や下呂、道後などについての投稿も表示されることがあります。これが機械学習を使った結果になります。SNSは機械学習によって『箱根』が『温泉旅行』に関連することを知っているこれはあなたの前に『箱根』と検索した人や、『箱根』についての投稿のデータから、SNSが『箱根』が『温泉旅行』に関連するということを学習済みのため草津や下呂、道後などについての投稿も表示できるのです。もしあなたの前に『箱根』と検索した人が、その後『草津』『下呂』などのキーワードで検索したとします。するとコンピューターは『箱根、草津、下呂は関連性があるのでは?』と判断します。また『箱根』についての投稿の本文内には『温泉』や『旅行』というキーワードも含まれていることが多いと思います。するとコンピューターは『箱根、温泉、旅行は関連性があるのでは?』と判断します。それによりSNSは『箱根』というキーワードから『温泉、旅行、草津、下呂、道後』などのキーワードを連想して、検索結果を表示することができます。つまり機械学習は『関連付け』と『連想ゲーム』をベースにしているこのようにSNSではこれまでのユーザーの操作、投稿などから共通点を見つけてキーワードを関連付けして学びます。そして覚えたキーワードで連想ゲームをして表示する投稿を選ぶということをしています。正確に情報を表示するには大量のデータが必要『箱根』と検索した後に『旅行、草津』などの温泉旅行に関連するキーワードで検索をするとは限りません。急に温泉旅行と全く関係のないもの、例えば『ペット』について調べたくなったり『おしゃれなカフェ』について調べる人もいます。そんな感じで、人間の行動は必ずしも関連性がはっきりしているわけではないため、SNSの投稿を表示する機能では正確な情報を表示するための工夫がされています。簡単に言えば機械学習では『多数決』をとって正確な情報を表示する仕組みを作っています。機械学習における『多数決』とはSNSのユーザーのAさんが『箱根道後犬』という順番で検索をしたとします。Bさんは『箱根道後スポーツカー』という順番で検索をしたとします。Cさんは『温泉名物メイク』という順番、Dさんは...というように、SNSは大量のデータを元にユーザーが検索をするときの動きを学習します。そして大量のデータから傾向として多いものを多数決で選んでキーワードを関連付けすることで情報を正確にしていくことができます。このようにSNSのユーザーは知らず知らずのうちに多数決に参加して、情報を正確にすることに役立っています。もしもSNSのユーザーがAさんとBさんしかおらず、検索のデータが『箱根道後犬』と『箱根道後スポーツカー』しかなければ、道後と犬、道後とスポーツカーは関連性がある!というようになってしまうのです。そのため機械学習には大量のデータが必要不可欠と言えます。まとめ機械学習はコンピューターがデータから共通点を見つけて関連付けをしていくことざっくりですが、機械学習とはこういうことです。正確に関連付けをするには大量のデータが必要であり、かつどれくらい共通点があれば関連があると判断するのかを決めるという部分も重要になります。学んだ共通点を元に私たちの役に立つ機能が作られている私たちは知らず知らずのうちに機械学習による便利なサービスに協力しています。既に身近なところで機械学習は活かされていて、これからどんどん便利な世の中になっていくと思われます。最後まで読んでいただきありがとうございました!人工知能は既に私たちの身近で活躍しており、研究も目まぐるしい速さで進んでいるのでどんどん生活を便利にしてくれると思います。これからは人工知能を作る、人工知能をうまく扱う人が求められる時代になるでしょう。質問や、こんなことを記事にしてほしい!というのがありましたらTwitterのコメント等で受け付けていますので、お気軽にどうぞ!ますみ - 愛知県在住の20代プログラマー - | @mashmy_98それでは次の投稿もお楽しみに!

2023年04月25日

Read More

立体的に見える不思議なボタン【書いてわかるCSS】

こんにちは!エンジニアのますみです!本日はこんな感じの画面が出っ張って見えたりくぼんで見えたりする不思議なボタンの作り方を解説します。BUTTONBUTTONBUTTONBUTTON難しそうに見えますが意外と簡単ですよ!テーマ 不思議なボタンの作り方をマスターできる box-shadowを使って立体感を出す方法をマスターできる この記事上でプレビューを見ながらCSSを書くことで、CSSの仕組みを深く理解できる目次 とりあえずCSSをコピペしたい方はこちら 不思議なボタンを作る手順 背景色を指定 ボタンを作成 余白を指定 角を丸める 影を追加① 影を追加② くぼんで見えるボタンの作り方 丸いボタンの作り方 くぼんで見える丸いボタンもinset指定、影の色反転でOKそれではさっそく見ていきましょうとりあえずCSSをコピペしたい人はこちらBUTTONHTMLdiv class="container" div class="button"BUTTON/div/divCSS.container { display: flex; justify-content: center; padding: 3rem 0; background-color: #0072c6;}.button { color: white; padding: 0.4rem 0.8rem; border-radius: 5px; box-shadow: 4px 4px 8px #3996d9, -4px -4px 8px #004c83;}意外とシンプルなCSSですね。.containerのスタイルはこの記事上で綺麗に表示できるように左右中央寄せ、余白を指定していますので、使用したいWebサイトに合わせて調整してください。不思議なボタンを作る手順box-shadowで2種類の影を作ることでボタンの立体感を表現します。より不思議な見た目にするには余白や角丸もいい感じに調整すると良いでしょう。立体感を出すために、背景色は白以外が望ましいです。背景色を指定div class="container"/div.container { display : justify-content : padding : background-color : } 今回紹介するボタンは薄い色の影を使うため、背景色は白以外が望ましいです。.containerのスタイルはこの記事上で綺麗に表示できるように左右中央寄せ、余白を指定していますので、使用する場面によってレイアウトは変更して使ってください。ボタンを作成BUTTONdiv class="container" div class="button"BUTTON/div/div.container { display : justify-content : padding : background-color : } .button { color : background-color : } ボタンの背景色(background-color)は最終的には無しになりますが、作業しやすいので一旦仮の色を指定しておくのが良いでしょう。HTMLはここから変更がないため、次の手順から省略しますね!余白を指定BUTTON.container { display : justify-content : padding : background-color : } .button { color : padding : background-color : } ちょうどいい具合の余白をpaddingで指定しておきます。私は縦よりも横の余白が少し長いほうが好みです。角を丸めるBUTTON.container { display : justify-content : padding : background-color : } .button { color : padding : border-radius : background-color : } border-radiusを使い、ボタンの角を丸めます。影が丸くつくため、角を丸めておくとバランスがよく見えます。影を追加①BUTTON.container { display : justify-content : padding : background-color : } .button { color : padding : border-radius : box-shadow : } このあたりからボタンの背景色は削除しても良いでしょう。box-shadowを使い、背景色よりも少し薄い色をボタンの右下に表示します。box-shadowの値はbox-shadow:影の縦方向の位置影の横方向の位置影のぼかし度合影の色このように役割が割り振られます。上の例では影の縦方向の位置と影の横方向の位置に4pxを指定しているので、影は下に4px、右に4pxずれて表示されます。box-shadowの使い方はこの記事で解説しています。詳しく知りたい方は是非読んでみてください。影を追加②BUTTON.container { display : justify-content : padding : background-color : } .button { color : padding : border-radius : box-shadow : } box-shadowに2つ目の影を設定します。,(カンマ)で区切ることで複数の影を作ることができます。2つ目の影は背景色よりも少し濃い色をボタンの左上に配置します。くぼんで見えるボタンの作り方BUTTON.container { display : justify-content : padding : background-color : } .button { color : padding : border-radius : box-shadow : } くぼんで見えるボタンは、まず先ほどのCSSのbox-shadowにinsetを追加します。そして2つの色を入れ替え、一つ目の影(右下)は薄く、2つ目の影(左上)が濃くなるようにします。box-shadow:inset 4px 4px 8px #004c83, inset4px -4px 8px #3996d9;丸いボタンの作り方BUTTON.container { display : justify-content : padding : background-color : } .button { display : justify-content : align-items : color : width : height : border-radius : box-shadow : } CSSで丸を作る方法をご存じの方なら、先ほどのCSSからボタンを正円にするだけでOKです。buttonにwidth、heightを指定して正方形をまず作り、display: flex、justify:content、align-items:centerで文字を中央寄せにします。そしたらborder-radius: 50%を追加して、ボタンを丸くしたら完了です。CSSで丸を作る方法はこちらの記事で解説しています。詳しく知りたい方は是非読んでみてください。くぼんで見える丸いボタンもinset指定、影の色反転でOKBUTTON.container { display : justify-content : padding : background-color : } .button { display : justify-content : align-items : color : width : height : border-radius : box-shadow : } こちらも四角いボタン同様、box-shadowの設定を変更するだけでOKです。最後まで読んでいただきありがとうございます!プログラミング学習は何度も繰り返して覚えていくことが大切です!是非ブックマークして学習に役立ててみてください!質問や、こんなことを記事にしてほしい!というのがありましたらTwitterのコメント等で受け付けていますので、お気軽にどうぞ!ますみ - 愛知県在住の20代プログラマー - | @mashmy_98それでは次の投稿もお楽しみに!

2023年04月26日

Read More

ハンバーガーメニューボタンの作り方【レスポンシブ】

こんにちは!エンジニアのますみです!本日はハンバーガーボタンと呼ばれる三本線のボタンの作り方を解説します。スマートフォンでWebサイトを見たときによく見るボタンですね!この記事では実際にCSSをこのページ上で書くことができるので、プレビューを見ながら使い方を覚えることができます!是非、ブックマークして学習などに役立てていただけたら幸いです!テーマ ハンバーガーボタンの作り方を覚えられる 応用してオリジナルのデザインが作れるになる この記事上でプレビューを見ながらCSSを書くことで、CSSの仕組みを深く理解できる目次 サンプル HTMLの解説 CSSの解説 ヘッダー ハンバーガーボタンのボックス ハンバーガーボタンの3本線 1本目、3本目の位置 総まとめそれではさっそく見ていきましょうサンプル今回はこのようなメニューバーとハンバーガーボタンを作成します。HTMLdiv class="header" div class="ham-box" div class="ham"/div /div div/div/divCSS.header { display: flex; justify-content: space-between; width: 100%; padding: 0.8rem; border: 1px solid #004373; border-radius: 5px;}.ham-box { position: relative; display: flex; justify-content: center; align-items: center; width: 24px; height: 20px; cursor: pointer;}.ham,.ham-box::before,.ham-box::after { display: flex; align-self: center; width: 100%; height: 3px; background-color: #004373;}.ham-box::before,.ham-box::after { content: ""; position: absolute;}.ham-box::before { top: 0;}.ham-box::after { bottom: 0;}上のソースコードはコピペOKです!特に報告義務はありませんが、Twitter等で使いました!とコメントしていただけたら今後の励みになります!HTMLの解説div class="header" div class="ham-box" div class="ham"/div /div div/div/div.headerがメニューバー、.ham-boxがハンバーガーボタンの入れ物になります。そして.hamが線そのものになります。.hamは一つしかありませんが、CSSで要素を増やすことができる疑似要素を使って残り2本の線を追加していきます。疑似要素については下の1本目、3本目の線の位置で解説します。空のdivは無くてもいいのですが、作っておくと後々メニューバーの右隅に何か表示したいとなった時にレイアウトが崩れる恐れが減ります。CSSの解説ヘッダー.header { display: justify-content: width: padding: border: border-radius: } 上のCSSが適用されるボックスがオレンジ色の部分です。padding、border、border-radiusはお好みで変更してみてください。それ以外のプロパティdisplay、justify-content、widthは基本的には変更する必要はありません。ハンバーガーボタンのボックス.ham-box { position: display: justify-content: align-items: width: height: cursor: } 上のCSSが適用されるボックスがオレンジ色の部分です。width、heightでハンバーガーボタンの大きさを決めています。.ham-box { display: flex; justify-content: center; align-items: center;}この3つでは、ボックス内の要素を上下左右中央揃えにしています。こうすることで、のちに3本線の位置を指定する時にコード量が少なく済みます。ハンバーガーボタンの3本線.ham, .ham-box::before, .ham-box::after { display: align-self: width: height: background-color: } 上のCSSが適用される部分がオレンジ色の部分です。セレクタを3つ指定して、3つの線にまとめてスタイルを適用しています。1本目の線は.ham-box::beforeです。疑似要素といい、HTMLを書かなくても要素を追加することができます。疑似要素の設定は下の1本目、3本目の線の位置で解説します。2本目の線は.hamです。3本目の線は.ham-box::afterになっており、これも疑似要素です。widthは親要素の.ham-boxに従うように100%に指定されています。heightで線の太さを指定できます。お好みで変えてみてください。1本目、3本目の線の位置.ham-box::before, .ham-box::after { content: position: } .ham-box::before { top: } .ham-box::after { bottom: } 上のCSSが適用される部分がオレンジ色の部分です。.ham-box::beforeが1本目、.ham-box::afterが3本目の線になります。これらは疑似要素といい、HTMLを書かなくても要素を追加することができます。疑似要素はセレクタで指定した要素の中に追加されます。この時content: ;と書いておかないと何も表示されません。.ham-box::before { content: "";}div class="ham-box"  !-- ここに::beforeが追加される -- div class="ham"/div/div::afterと指定すると、要素は最後に追加されます。.ham-box::after { content: "";}div class="ham-box" div class="ham"/div  !-- ここに::afterが追加される --/div今回の例では::before、::afterどちらも使って.ham-boxの中に合計3つの要素を表示させています。追加した2つの疑似要素にposition: absoluteを指定して::beforeを.ham-boxの一番上、::afterを.ham-boxの一番下に表示し、ハンバーガーボタンのレイアウトを作ります。div class="ham-box"  !-- ::before -- div class="ham"/div  !-- ::after --/div総まとめ下のエディターではすべてのプロパティを編集することができます。これまでの内容をふまえて、ハンバーガーボタンのサイズや色などを変更してみてください。.header { display: justify-content: width: padding: border: border-radius: } .ham-box { position: display: justify-content: align-items: width: height: cursor: } .ham, .ham-box::before, .ham-box::after { display: align-self: width: height: background-color: } .ham-box::before, .ham-box::after { content: position: } .ham-box::before { top: } .ham-box::after { bottom: } 最後まで読んでいただきありがとうございます!プログラミング学習は何度も繰り返して覚えていくことが大切です!是非ブックマークして学習に役立ててみてください!質問や、こんなことを記事にしてほしい!というのがありましたらTwitterのコメント等で受け付けていますので、お気軽にどうぞ!ますみ - 愛知県在住の20代プログラマー - | @mashmy_98それでは次の投稿もお楽しみに!

2023年04月25日

Read More

ますみ

愛知県在住の20代プログラマーです!

プログラミングと無縁の専門学校を卒業して働き出しましたが、コロナ禍でほぼ無職に...

無職時代に独学でプログラミングを勉強して、未経験からめでたくプログラマーとして採用していただけました。

このブログを見た方が、わたしが独学で勉強していた時期に悩んでいたことで悩まないように...そう願いながら情報を発信しています!

おすすめレンタルサーバー


当サイトはXserverを利用しています。 HTML、CSSで作成したホームページはもちろん、wordpress、Laravel等で作成した高度なアプリケーションも利用可能です!

ますみ

愛知県在住の20代プログラマーです!

プログラミングと無縁の専門学校を卒業して働き出しましたが、コロナ禍でほぼ無職に...

無職時代に独学でプログラミングを勉強して、未経験からめでたくプログラマーとして採用していただけました。

このブログを見た方が、わたしが独学で勉強していた時期に悩んでいたことで悩まないように...そう願いながら情報を発信しています!