CSS

色違いの汎用パーツの管理をCSS変数で管理する

こんにちは、ナカムラです。 先日とてもカラフルなサイトを作った際に便利だったCSS変数の使い方をご紹介しようと思います。 汎用パーツの色ちがいを作る サイト内で共通で使うボタンなどのパーツは形は同じでもコンテンツ別に色を変えたい、ということはよ…

フィルタリングにも対応できるnth-childの「of <selector>」を使ってストライプテーブルを作ってみよう

こんにちは、ユアサです。 以前業務内で活用してかなり便利だったので、今回はCSSセレクタの中でも便利なnth-childのof <selector>を使って工夫したストライプテーブルを作成してみたいと思います。 of <selector>の使い方 nth-child(○番目 of 特定のセレクタ)と記述でき、特定の</selector></selector>…

キー操作に対応したグローバルナビゲーション

こんにちは、ナカムラです。 グローバルナビゲーションについて、2つの記事を書いてきました。 今回はこの記事の内容を踏まえて、実際に作っていきたいと思います。 tech.arms-soft.co.jp tech.arms-soft.co.jp DEMO 早速ですが完成したデモです。 See the P…

今だからこそ使いたい!主要ブラウザで標準化された拡大レベル調整用のプロパティ「zoom」を使ってみよう

こんにちは、ユアサです。 今回は使い所が色々あり便利そうだった、古くからあるプロパティzoomについてまとめたいと思います。 なぜわざわざこの話? お恥ずかしながら自分は最近になってこのプロパティの存在を知りまして、話を聞いたり調べたりしたところ…

簡単に作れる!showModal()メソッドを使ってモーダルを実装しよう

こんにちは、ユアサです。 今回は誰でも簡単にモーダルが作れるようになるshowModal()メソッドを使って、実用的なモーダルを実装してみたいと思います。 割とやっていたモーダルの実装方法 モーダルの要素を用意するのは大前提ですが、そこから開くためのボ…

CSSだけで行う、子要素の件数に応じたレイアウトの変更

こんにちは、ナカムラです。 今回はCSSだけで行う子要素の件数判定の方法について書きたいと思います。 グリッドを使った一覧などは子要素の件数が変わっても自動的に折り返して行が増えます。 通常はこのままで十分ですが「件数が少ない時は列数を変更した…

最近行ったパフォーマンス改善のまとめ

こんにちは、ナカムラです。 フロントエンドの仕事の中でパフォーマンスの改善というのは常に求められるものになります。 (PageSpeed Insightsによる計測を中心に確認しています) 読み込むファイルの容量を小さくする、というのも大切なことですが、コーデ…

cssのmod()を使って方眼紙風の背景を作る

こんにちは、ナカムラです。 今回は方眼紙風の背景を作ります。 ただ格子状に線を引くだけなら難しくないですが、「要素の幅や高さが変わっても背景がぶつ切りにならないように作りたい」となると少々工夫が必要になります。 そこで、CSSのmod()を使ってみた…

ルビ関連のCSSプロパティや最近の仕様について

こんにちは、ユアサです。 少し前のChromeのバージョン更新でルビ関連のCSSプロパティが対応開始となりました。すぐに使う機会はないかと思いますが、地味〜に便利そうなものがあるので、これらの使用感を確かめる意味も含めて今まで出てきたルビ関連の主なC…

position:stickyを付与した要素の親要素にoverflow:hiddenのような効果をつけたい時に使用するCSS

こんにちは、ナカムラです。 今日はposition:stickyを使った時のちょっとしたお助けプロパティをご紹介します。 課題点 ECサイトやポータルサイトの検索結果ページなどでよく使われるレイアウトに、検索結果一覧の横に絞り込み検索が表示されているものがあ…

CSSの色の設定にはcolor-mix()を活用しよう

こんにちは、ナカムラです。 今回はCSSの色の指定について書きたいと思います。 CSSのcolor-mix()という関数を使ってみようと思います。 color-mix()とは 簡単にいうと2色を混合させる関数です。 MDNからの引用 color-mix() 関数記法は 2 つの 値を採り、指…

webフォントの文字詰めについて

こんにちは、ナカムラです。 今回はwebフォントの文字詰めについてです。 デザイナーから基本的に文字詰めはしたいという要望もあったので一度整理しておこうかと思います。 普段Googleフォントから提供されているNoto Sans JPを使用することが多いので文字…

文字の下線をスタイル調整するCSSプロパティの注意点

こんにちは、中村です。 前回書いた文字の下線に関するCSSプロパティについて、そのままでは困ったところがあったので補足として記事にしました。 と言っても解決方法はプロパティを一つ追加するだけです。 前回の記事はこちら tech.arms-soft.co.jp 問題点…

文字の下線をスタイル調整するCSSプロパティ

こんにちは、ナカムラです。 最近関わった案件で文字に下線が引かれたデザインが多かったので、今回は下線のスタイルを調整するときに使うCSSプロパティをご紹介したいと思います。 DEMO See the Pen CSSで文字の下線をスタイル調整する by Nakamura (@takay…

PC・スマホでSwiperを実装・解除する判定をするJSを作ろう!

こんにちは、ユアサです。 以前業務でSwiperを使ったスライダーをスマホ表示時に解除してカラム表示にすることがあったので、今回はPC・スマホそれぞれのウィンドウ幅の可変で都度Swiperを実装・解除する方法について備忘録の意味も込めて書きまとめたいと思…

CSSだけでグラフ上に文字を表示する円グラフを作る

こんにちは、ナカムラです。 今回はCSSだけで円グラフを作ってみたいと思います。 文字を配置するにあたり、CSSの三角関数cos()・sin()を使用します。 グラフを作るというよりまだ使ったことがなかったので、三角関数を使うというのが今回のテーマになります…

CSSだけで角が欠けたデザインを表現しよう!

こんにちは、ユアサです。 弊社の案件で要素の角が欠けている(ベベルのある)デザインをコーディングする機会がありましたので、今回はその備忘録も兼ねてまとめていきたいと思います。 どのように作成すればいいのかさっぱり分からなかったので、こちらの…

CSSだけで吹き出しデザインの尖っている部分をうまい具合に作りたい!!

こんにちは、ユアサです。 吹き出し付きのコメントがあるようなページのコーディングをすることがありますが、その度に格闘していた『吹き出しの尖っている部分どう作るか問題』に(一旦)終止符を打ちたいので、今回は備忘録も兼ねて自分が考えた方法につい…

チェックボックスとラジオボタンのタグ自体を装飾するCSS

こんにちは、ナカムラです。 先日、inputタグのチェックボックスとラジオボタン自体をCSSで装飾できないか? という質問をいただいたのでこの記事で紹介したいと思います。 フォームでよく使われるチェックボックスやラジオボタンの装飾方法は、labelやspan…

CSSだけでヘッダー固定時のスクロールのずれを解消する方法【scroll-padding-top】

こんにちは、ナカムラです。 スクロールしてもヘッダーが追従するようにposition: fixed;などで固定配置することがよくあります。 その際、ページ内リンクで該当箇所へスクロールすると、そのままではヘッダーが重なってしまいます。 この問題について、だい…

ビューポート単位で100vwのスクロールバーを含めてしまう問題を解決できるのか?

こんにちは、ナカムラです。 今回はCSSでよく使われるビューポート単位について、検証したいことがあったので書きたいと思います。 100vhを使った時にアドレスバーの分、意図した高さにならない問題がiOS safariであります。 その対応に使えそうなビューポー…

最小値や最大値を指定してスタイルを制限!比較関数min()、max()、clamp()を使おう

こんにちは、ユアサです。 コーディングをする際、レスポンシブレイアウトなどにどうしても数値の有効範囲を指定したいという場面があることも多いかと思います。今回は、数値の最大値・最小値を指定できる比較関数を備忘録もかねてまとめていきます。 使う…

角度が変わらない斜めの背景の作り方(CSS)

こんにちは、ナカムラです。 今回はCSSで角度が変わらない斜めの背景の作り方をご紹介します。 ウィンドウ幅いっぱいに、なおかつ斜めになっているデザインはよく使われます。 やり方はいろいろあると思いますが、今回はclip-pathを使ってみたいと思います。…

インライン要素の長文テキストの表示は大丈夫?box-decoration-breakを使って整えよう!

こんにちは、ユアサです。 以前、長文テキスト対策についての記事を書いたことがありました。その記事では紹介し忘れていましたが(というより最近知ったのですが)、テキストが改行・分割された時、テキストの改行位置にある文字のパディングや装飾を補間す…

HTMLタグ<details>でアコーディオンを作る(簡易版)

こんにちは、ナカムラです。 今回はdetailsについて試してみたものをご紹介したいと思います。 よくある質問などでよくアコーディオンを使うと思います。 たくさんある中でユーザーが求めている物・そうでないものがあるので、必要な時だけ開くようにするの…

忘れていると想定外の表示崩れが・・・長文テキスト対策について考えよう

こんにちは、ユアサです。 業務の中で、動的ページ内で長文テキストを表示した際にデザインが崩れてしまうといった見落としが何度かあったので、今回は動的ページにおける長文テキスト対策について自分の備忘録も兼ねてまとめていきます。 ①コンテンツ範囲か…

【フロントエンド初心者向け】なんでこんなところにリンク領域が?aタグの『見えないクリック領域』を暴け!

こんにちは、ユアサです。 今回は、誰でも一度は見落としてしまったことがあるかもしれないaタグの『見えないクリック領域』について、例と解決策を交えながら考えていきます。 何もないはずのところにクリック領域がある テキストや画像、あるいはhtmlタグ…

CSSで作る片側だけ可変する背景

こんにちは、中村です。 今回はCSSの話です。 フロントエンドの作業はデザインを下にマークアップとスタイルを作っていくところから始まります。 そこで、最近よく作るレイアウトの組み方をご紹介したいと思います。 片側だけ可変する背景 記事のタイトルに…

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

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

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

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