フロントエンド

スタイルを使いこなせ!要素の特徴やブラウザのサポート制限をくぐり抜けて使い分けるグラデーションについて考える

こんにちは、ユアサです。 前回からJSとCanvasでレーダーチャートを作成する記事を作成しましたが、弊社で取り扱った案件でグラデーションを使うことがあり自分の備忘録という意味でもまとめておきたいと思ったので、今回は少し逸れてCSSでグラデーションを…

GSAPのonイベントを使って、画面に表示されている時だけアニメーションさせる

こんにちは、ナカムラです。 今回はアニメーションの演出でよく使うプラグイン「GSAP」の紹介になります。 GSAPとは アニメーションの実装を助けてくれるjavascriptのプラグインです。 基本的なブラウザはほとんど対応されています。 GSAP | GSAP | Docs & L…

入力値に合わせて即描画!canvasとJSを使ってレーダーチャートを作ってみよう -準備編-

こんにちは、ユアサです。 今更な内容になってしまいますが、今回は図形やアニメーションを描画できるcanvas要素とJSを使ってテキストボックスに入力した値に応じて描画ができるレーダーチャートを作っていきたいと思います。この記事では五角形のレーダーチ…

JavaScriptとclip-pathを使って、カーソルの位置に合わせて写真をマスクする

こんにちは、ナカムラです。 今回はカーソルの位置に合わせて表示を制御するものを作ってみたいと思います。 カーソルの位置の取得や、表示の変更にはJavaScriptを、写真のマスクはclip-pathを使います。 とっても簡単です。 DEMO 画面内にカーソルを当てて…

【フロントエンド初心者向け】Node.jsとExpressでローカルサーバを起動してみよう - 実践編

こんにちは、ユアサです。 今回は前回紹介したNode.jsとExpressを使用して、実際に簡易サーバーを作成していきます。 ↓前回の記事はこちら tech.arms-soft.co.jp Node.jsとnpmの準備 まずはNode.jsをインストールします。Node.jsの公式ページから各OSのイン…

JavaScriptでクリップボードにテキストをコピーする

こんにちは、ナカムラです。 今回はJavaScriptを使って、特定のテキストをクリップボードへコピーする処理を書いていこうと思います。 クリップボードとは クリップボードとは、テキストや画像などを一時的に保存している場所です。 テキストを選択してcomma…

【フロントエンド初心者向け】Node.jsとExpressでサーバを起動してみよう - 紹介編

こんにちは、ユアサです。 今回からNode.jsとそのフレームワークのExpressを使って、ローカル環境で表示確認しながらコーディングしやすくなる簡易的なWebサーバを作成・起動してみようと思います。フロントエンドなら作業前にぜひ準備しておきたいですね。 …

ユーザーの操作を制限するCSSプロパティ「user-select」と「pointer-events」

こんにちは、ナカムラです。 今回はCSSプロパティの中で、ユーザーの操作を制限するプロパティをご紹介します。 基本的にユーザーの操作をできなくする、というのは避けたいものですが、操作できることによって目的の動作の邪魔になってしまうケースもありま…

背景の要素を自在に設定!backgroundプロパティで一括指定してみよう -後編-

こんにちは、ユアサです。 今回は前回紹介したbackgroundプロパティ(以下backgorundと表記します)で実際にコーディングしてみると同時に、スタイルが反映されなくなる例を書きまとめていきます。 ↓前回の記事はこちら tech.arms-soft.co.jp 背景に画像を設…

YouTubeの動画を背景に敷く(iOS対応、自動再生・ループ)

こんにちはナカムラです。 今回はYoutubeの動画を使って、背景に動画を敷いてみたいと思います。 実装する機能としては以下の2点になります。 自動再生 ループ レスポンシブを想定して、スマホにも対応するように作ります。 その場合は、YouTubeの「埋め込み…

position:fixedで固定した要素を横スクロールさせるJavaScript

こんにちは、ナカムラです。 今回は横スクロールが発生する状態で、pisition:fixed(もしくはabsolute)で位置を固定した要素を追従させるJavaScriptのご紹介をします。 レスポンシブ対応のサイトとはいえ、スマホのサイズから一般的なPCのサイズまで全ての…

背景の要素を自在に設定!backgroundプロパティで一括指定してみよう -前編-

こんにちは、ユアサです。 今回は、最近やっと使い慣れてきたbackgroundプロパティ(以下backgorundと表記します)について、どのような値を指定できるのかまとめたいと思います。というのも、backgroundは色、画像、位置などを一括指定※できるプロパティな…

その使い方合ってる?z-indexで指定した筈の重なり方にならない時に気をつけたいこと

こんにちは、ユアサです。 以前業務で要素同士の重なり方について、自分ではうまく思ったようにコーディングできなかったことがありました。z-indexプロパティを使ったはいいものの、なぜかそのスタイルが反映されず一体何が原因なのやら・・・・。 個人的に…

カーソルが離れたらsetTimeOutをクリアするJavaScript

こんにちは、ナカムラです。 今回は、setTimeOutのクリアの仕方を紹介しようと思います。 setTimeOutは一定の時間が経ったら処理を開始するメソッドです。 ロード後に少し時間を置いてからアニメーションを実行するなどの使い方ができます。 さて、設定した…

まるでWordpress? Editor.jsを試してみる

こんにちは、コバヤシです。 今回は簡単にブロックエディタを導入できるEditor.jsについて書きたいと思います。 ブロックエディタとは WordpressのGutenbergで使われている、コンテンツをブロック単位で管理して記事を作成していくタイプのエディタです。 Gu…

transformを使って色んなホバーアクションを作ってみた

こんにちは、ユアサです。 CSSでホバーアクションを組む際、やりたい動作は決まっているのにうまく書けない、他のホームページとちょっと差をつけたいけど組み方が・・・と悩んでいた経験は一度はあるかと思います。僕も最近担当した案件でホバーアクション…

適正サイズの画像がぼける時の対処法2022

こんにちは、中村です。 コーディングをしていて、どうも画像がぼけるなぁ、ということはないでしょうか。 単純に画像サイズが足らないのが原因なら書き出しサイズを直せば良いです。 問題は、適正サイズに書き出しているのにぼけてしまう時です。 スマホや…

【フロントエンド入門者向け】コーディングでつまづいてしまうCSSの基本・解決例まとめ

新年明けましておめでとうございます!ユアサです。 今年もarms inc. Engineer's Blogをどうぞよろしくお願いします。 今回は今までを振り返って、コーディングで自分も最初の頃はよくつまづいていたCSSの基本や解決策の例などを改めて書きまとめてみようと…

JavaScriptのスクロール関連のプロパティとメソッドまとめ

こんにちは、ナカムラです。 前回の記事で、少しだけスクロールの操作を行いました。 今回は、スクロールに関するプロパティとメソッドについて、より詳しく整理していきたいと思います。 tech.arms-soft.co.jp DEMO プロパティやメソッドを実際に動作させた…

CSSでスタイル記述・調整のためのルールを定義!@から始まる「アットルール」

こんにちは、ユアサです。 アームズに入社してからCSSでのスタイル調整はだいぶ慣れてきました。ですが、以前CSSファイルを触っているときに、冒頭に「@」が付いている見慣れないものを発見し、見つけた当時は何のための記述なのか全然理解していませんでし…

JavaScriptで書く、要素のサイズ取得とスクロール

こんにちは、ナカムラです。 新人研修用に要素のサイズ取得について書きたいと思います。 今回は要素の高さを取得し、その要素の半分の高さにスクロールするボタンを作りました。 50%の位置がわかりやすいように、CSSで背景の色を変えています。 アンカーリ…

JSで動作する簡単なカルーセルを作ってみる

こんにちは、ユアサです。 前回はJSのclassListプロパティについて紹介し、クリックしてONとOFFの表示を切り替えるボタンを作りました。予告していた通り、今回はこのプロパティを使って簡単なカルーセルのようなものを作成します。 前回の記事はこちらです…

JavaScriptでbodyのスクロールを禁止するハンバーガーメニューを作る

こんにちは、ナカムラです。 だいぶ前に階層の深いハンバーガーメニューの作り方をご紹介しました。 tech.arms-soft.co.jp こちらの記事では開閉の処理について書きました。 今回は、メニューを開いた時のスクロールの制御について書きたいと思います。 今回…

イベントに応じてclass属性を切り替え!JavaScriptのclassListを使ってみる

こんにちは、ユアサです。 前回まではCSSの内容の記事が多かったですが、社内での勉強会でもJSの内容に入ってきたので、今回は勉強会でも習ったclassListについて復習の意味も込めて書きまとめていきます。 classListについて classListは、特定の要素のクラ…

SVGの画像の切り抜きとsnap.svgを使ったアニメーション

こんにちは、中村です。 SVGについて、あまり勉強してこなかったので、 今回は気になっていた写真の切り抜きとアニメーションを試したいと思います。 DEMO 作ったのはこちら。 See the Pen SVGの画像の切り抜きとsnap.svgを使ったアニメーション/a> by Nakam…

IEには対応していないけれど、ゆくゆくは使っていきたいCSSプロパティ

こんにちは、中村です。 みなさん、IEはまだ標準対応をしているでしょうか。 オプション対応にされているところも増えてきたと思いますが、なかなか切り離せないのが現状です。 使いたいのに、IEのことを考えるとまだ使えない。でも、使いたい! そんなCSSプ…

スクロール時に特定位置でピタッと停止!scroll-snapプロパティについてまとめてみた

こんにちは、ユアサです。 The State of CSS 2020で比較的認知度が低かったCSSのscroll-snapプロパティについて気になったので、今回はこの内容について書きまとめていこうと思います。 scroll-snapって? scroll-snapプロパティは、画面をスクロールさせた…

YouTube IFrame Player APIの使い方 2021

こんにちは、ナカムラです。 今回はYouTubeのIFrame Player APIの使い方のご紹介です。 ご紹介といっても基本機能の使い方なので、リファレンスを読めばわかる程度のものです。 普段あまり使っていないので、いざ使うときにリファレンスを読むのがしんどくて…

画像を引き伸ばさずに表示!object-fitプロパティについてまとめてみた

こんにちは、ユアサです。 少し前の話になりますが、The State of CSS 2020でCSSプロパティがいくつか話題になっていました。 その中でも、今回はobject-fitプロパティについて紹介していこうと思います。 object-fitプロパティの認知度について The State o…

Intersection Observer APIを使って、ページの最下部までスクロールしたかを判定する

こんにちは、ナカムラです。 前回はスクロール量を計測して、ページの最下部までスクロールしたかを判定する処理をご紹介しました。今回は方法を変えて、Intersection Observer APIを使った場合の処理について書いていきたいと思います。 前回の記事はこちら…