Quantcast
Channel: Coding_team –ウェブラボ(株)スタッフブログ
Viewing all 87 articles
Browse latest View live

meta theme-colorを設定して他のサイトと差別化しよう!

$
0
0

Screenshot_2021-10-06-17-59-31-74_cutこんにちはウェブラボクリエイターズメモです。
最近スマホをiOS15にアップデートしたのですが、Safariでネットサーフィンをしているとブラウザのバーの色が変わるサイトをちらほら見かけるようになり、気になったので調査しました。

 

印象が残りますし、メタタグを入れるだけで簡単に設定できるので今回はその方法について解説します。

設定方法

設定は簡単。HTMLのheadタグ内に以下を記載するだけです。

<meta name="theme-color" content="#4285f4">

contentの値「#4285f4」の部分は適宜変更してください。
 
また、最近ではデバイスにダークモードの設定があります。
通常モードとダークモードでこのテーマカラーを変えたい場合、以下のように記載します。

<meta name="theme-color" media="(prefers-color-scheme: light)" content="white">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="black">

 

開発者向けの参考記事がこちら
theme-color – HTML: HyperText Markup Language | MDN

 

ちなみに、CSSをダークモードに対応させる方法を過去の記事で紹介しておりますので、ご興味あればご覧ください。

実際の見え方

Android版Chromeでの見え方はこんな感じ。左が設定されているもの、右がそうでないものです。
結構かわいいです。
Screenshot_2021-10-06-17-59-31-74_ba2

設定済みの例 Qiita
 
iPhoneのSafariだとこんな感じ。ステータスバーの部分がさりげなく変わってますね。
(iOS15からアドレスバーは標準で下になりました)

設定済みの例 Qiita
 

対応ブラウザ

2021年10月現在、対応ブラウザはかなり少なく、Windowsでは無意味です。
SafariとAndroidのChromeでは最新バージョンのみ対応しています。
必須な設定というわけでもないので、”設定しておくだけマシ”と考えましょう!

Can I use

 

2021年10月現在、theme-colorによるSEO効果は無いとされていますが
もし自分のサイトにテーマカラーがあるなら、設定しておくと訪問者の印象に残るかもしれません。

以上、ウェブラボクリエイターズメモでした!

The post meta theme-colorを設定して他のサイトと差別化しよう! first appeared on ウェブラボ(株)スタッフブログ.


CSSプロパティ「accent-color」でフォームのパーツの色を簡単に変える

$
0
0

tecmemo2111

こんにちは、ウェブラボクリエイターズメモです。

 

フォームのパーツの色を簡単に変えることができるCSSプロパティ「accent-color」を紹介していきたいと思います。

色を変えられる要素は「チェックボックス」、「ラジオボタン」、「レンジスライダー」、「プログレスバー」の4つみたいです。

 

まずは対応ブラウザを以下の参考サイトでご確認ください。

 

Can I use

 

iOSのSafariで使えないとこがネックかもしれないですがそれ以外は気にしないでも良さそうですね。

では早速DEMOを作ってみましたのでまずそちらをご覧ください。

 

DEMO

 

1行のCSSでこのように簡単に変えることが出来ます!

ちなみにCSSのソースは以下の様になっています。

 

input[type="checkbox"] {
	accent-color: #ff0000;
}

input[type="radio"] {
	accent-color: green;
}

input[type="range"] {
	accent-color: rgba(0,0,255,.7);
}

progress {
	accent-color: hsla(180,30%,30%,.5);
}

 

従来の疑似要素を使用する方法などは色々なことができますが、かなり面倒なので色を変えたりするくらいならこちらのほうが簡単でいいですね。

 

以下の開発者向け記事にプロパティの説明や他パーツの矢印などの色を変更する方法も記載してありますので気になる方は合わせてご覧ください。

 

web.dev

 

最近は知らないうちにどんどん便利プロパティが増えていっているので、情報逃さないようにアンテナ張っていきたいですね。

以上、クリエイターズメモでした。

The post CSSプロパティ「accent-color」でフォームのパーツの色を簡単に変える first appeared on ウェブラボ(株)スタッフブログ.

SVG形式のfaviconをダークモードに対応させる方法

$
0
0

darkこんにちは、ウェブラボクリエイターズメモです。

OSのテーマカラーを暗くする「ダークモード」。
2020年頃からトレンドになっており、多くのOSやアプリ、ウェブサイトもこのダークモードに対応したものが増えてきています。

詳しくは過去の記事でも触れていますので、気になる方はぜひご覧ください。

 

【CSS】ダークモードに対応する

 

2020年のWebデザイントレンド「ダークモード」とは?
→弊社デザイナーの記事です!

それでは本題

今回はfaviconをダークモードに対応させる方法をご紹介します。

まず前提として
・faviconはSVG形式で作成する
Mac Safariでは未対応なので、従来のico(またはpng)も併記する(2021年12月現在)
という点に注意が必要です。

 
Can I use

SVGの記述方法

SVGのソースに<style>タグを作成し、以下のように記述します。

<svg ・・・>
<style type="text/css">
/*基本の色を設定*/
.st0{
	fill: #ff0000;
}

@media (prefers-color-scheme: dark) {
	/*ここにダークモードの色を設定*/
	.st0{
		fill: #0000ff;
	}
}
</style>
<g>
	<path class="st0" d="・・・"></path>
	<path class="st0" d="・・・"></path>
	<path class="st0" d="・・・"></path>
	<path class="st0" d="・・・"></path>
</g>
</svg>

今回はフリーのアイコンをお借りして
通常モードで、ダークモードでになるSVGアイコンを作成しました。

これをSafari用にico(またはpng)としても書き出し、<head>タグに記述しましょう。

<link rel="icon" sizes="16x16" href="favicon.ico">
<link rel="icon" type="image/svg+xml" href="favicon.svg">

これで完了です。

 

デモはこちら

 

faviconを黒っぽくしている場合、ダークモードで見えづらいなんて場合もあるかもしれません。
そんなときに便利ですね!

以上、ウェブラボクリエイターズメモでした。

The post SVG形式のfaviconをダークモードに対応させる方法 first appeared on ウェブラボ(株)スタッフブログ.

CSSプロパティ「backdrop-filter」で要素の後ろのみにエフェクトをかける

$
0
0

tecmemo2201

こんにちは、ウェブラボクリエイターズメモです。

 

今回紹介するのは要素の後ろのみにエフェクトをかけることができるCSSプロパティ「backdrop-filter」です。

以前紹介した記事、CSSの「mix-blend-mode」を使ってみるとは似ていますが、また違ったもので非常に便利です。

 

対応ブラウザですが、いつも通り以下をご参考ください。

Can I use

 

気になるのはFirefoxとIE11くらいですね、覚えておきましょう。

 

ではDEMOを作成しましたのでまずはそちらご覧ください。

DEMO

 

該当部分のソースは以下の様になっています。

■HTML

<div class="box">
	<div class="txt">
		<p>none</p>
	</div>
</div>
<div class="box">
	<div class="txt blur">
		<p>blur</p>
	</div>
</div>
  ・
  ・
 (略)

 

■CSS

.box {
	width: 49%;
	margin: 0 0 20px;
	background: url(../img/001.jpg) no-repeat center center;
	background-size: cover;
}

.txt {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20% 0;
	backdrop-filter: none;
}

.blur {
	backdrop-filter: blur(5px);
}

.brightness {
	backdrop-filter: contrast(40%);
}

.drop-shadow {
	backdrop-filter: drop-shadow(4px 4px 10px blue);
}

.grayscale {
	backdrop-filter: grayscale(50%);
}

.hue-rotate {
	backdrop-filter: hue-rotate(120deg);
}

.invert {
	backdrop-filter: invert(70%);
}

.opacity {
	backdrop-filter: opacity(20%);
}

.sepia {
	backdrop-filter: sepia(90%);
}

.saturate {
	backdrop-filter: saturate(80%);
}

.multiple {
	backdrop-filter: blur(4px) sepia(90%);
}

.multiple2 {
	backdrop-filter: contrast(80%) hue-rotate(50deg);
}

 

このようになっており、背景画像の上にも多くのエフェクトを付けることも可能です。

幅広い使い方ができそうなプロパティですね。

DEMO

 

ここ最近はCSSで出来ることが多すぎて、全て頭に入れとくのも難しいと思うので「こんなこと出来たな~」程度にも覚えておきたいですね。

それかこれって出来るのかな?と思ったことは一度調べてみるクセとか付けるのもいいですね。

以上、クリエイターズメモでした。

The post CSSプロパティ「backdrop-filter」で要素の後ろのみにエフェクトをかける first appeared on ウェブラボ(株)スタッフブログ.

2022年6月「IE」のサポートが終了。その後はどうなる?

$
0
0

こんにちは、ウェブラボクリエイターズメモです。
長きに渡ってコーダーの頭を悩ませてきたInternet Explorer11が今年2022年6月15日に廃止されます!

それ以降はどうなるのか?IEは起動できるの?ブラウザチェックはどうしたらいいの?などなど
Microsoft Tech Communityの記事Internet Explorer 11 desktop app retirement FAQを参考にサイト制作者目線での情報を抜粋しまとめてみました。

IEを開こうとするとEdgeが開く

廃止以降、IEは完全に無効になります。
消されるのではなく、無効になります。
IEを起動する「iexplore.exe」を実行すると、MicrosoftEdgeにリダイレクトされるとのことです。

 

私の知人もそうでしたが、詳しくない人は「ネットを見る=IEのロゴ」と考えが結びついてしまっていて、知らずに、未だに当たり前のようにIEを使っているということもありますが、やっと解消されそうです。

IEモード

IEが廃止されるとはいえ、古いOSを使っていたり、OSのアップデートを行なっていないユーザーが今後もIEでネットサーフィンをする ということは考えられなくはないです。

 

IEが起動できないのであればブラウザチェックはどのように行えばいいのか?

 

そんな人のためにEdgeに「IEモード」が搭載されるそうです。
基本的には、IE用に開発されたソフトウェアのためのモードらしいですが、廃止後はこれを設定してブラウザチェックもできるのかもしれません。

 

この「IEモード」がサポートされるのは少なくとも2029年まで。
また、先述した”IEが消されるのではなく、無効になる”というのは、このモードのため とのこと。

IEから強制的にEdgeにリダイレクトさせる

最近、IEを起動するとこんな画面を見かけませんか?

 

特定のサイトにIEでアクセスするとEdgeで開かれる というものです。
この動作をするのは「IE非互換リスト」と呼ばれるXMLに登録されているドメインが対象。
https://edge.microsoft.com/neededge/v1

 

誰でも申請することができるようなので、今後IEでまともにブラウザチェックができなくなればもう諦めてEdgeに飛ばしてもらうよう申請するのもいいかもしれません。

申請方法について詳しくは下記を参照ください。
Moving users to Microsoft Edge from Internet Explorer – Microsoft Edge Development

まとめ

この記事はInternet Explorer 11 desktop app retirement FAQを参考に、ウェブ制作者向けの情報を抜粋してみました。

 

この期に及んでも、PCにおけるIEのブラウザシェア率はおよそ1.06%となっています。無視できないっちゃ無視できない…。
参照元:https://gs.statcounter.com/ (2022/2/18)

 

今後の動向によっては、IEで消耗することもなくなるかもしれません。
「そもそもIEって?」「Edgeに移行するには?」ということについて過去の記事でも触れていますのでよければご覧ください。

以上、ウェブラボクリエイターズメモでした。

The post 2022年6月「IE」のサポートが終了。その後はどうなる? first appeared on ウェブラボ(株)スタッフブログ.

【jQuery】指定した個数づつ開くアコーディオン

$
0
0

こんにちは、今回は「指定した個数づつ開くアコーディオン」をjQueryで実装したいと思います。

以前案件で作成する際、意外と面倒だったので使いまわせる形としてここに残しておきたいと思います。

 

まずはDEMOを作成しましたので挙動をご覧ください。アコーディオンにしたい要素の個数を変えて3パターン(偶数個、奇数個、少ない個数)を用意しました。

 

DEMO

 

最初に2個表示して、2個ずつ開く形にしています。アコーディオンにしたい要素の個数が2個以下になったらボタンを非表示にするという仕様です。

 

以下のページを参考にさせていただきました。記事作成者に感謝です!

 

[Qiita]【jQuery】要素をn個ずつ表示するtoggleボタン【ぬるっと】

 

参考ページではアコーディオンを複数設置するのに対応していなかったので、私の方で複数設置したり使いまわせるよう作り直してみました。

 

以下がソースになります。

 

■HTML(アコーディオン部分)

<div class="accordion_box">
	<ul class="accordion">
		<li><img src="img/001.jpg" width="980" height="500" alt=""></li>
		<li><img src="img/001.jpg" width="980" height="500" alt=""></li>
		<li><img src="img/001.jpg" width="980" height="500" alt=""></li>
		<li><img src="img/001.jpg" width="980" height="500" alt=""></li>
		<li><img src="img/001.jpg" width="980" height="500" alt=""></li>
		<li><img src="img/001.jpg" width="980" height="500" alt=""></li>
	</ul>
	<p class="trigger">もっとみる</p>
</div>

 

構造は単純で.accordion_box内に.accordionがアコーディオンにしたい部分、.triggerがアコーディオンを開くボタンとなっています。

 

■CSS

.accordion_box {
	padding: 0 0 50px;
	position: relative;
}

.accordion_box .accordion {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	list-style: none;
}

.accordion_box .accordion > li {
	width: 49%;
	margin: 0 0 20px;
}

.accordion_box .accordion > li.none {
	display: none; /* 必須 */
}

.accordion_box .trigger {
	display: none; /* 必須 */
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,0);
	width: 160px;
	padding: 10px 0;
	margin: 0 auto;
	border: 1px solid #333;
	border-radius: 5px;
	cursor: pointer;
}

 

CSSは/* 必須 */と書いてあるところがポイントで、要素の非表示用のクラスを用意しボタンも予め非表示にしておきます。

 

■javascript

$(function(){
	var num = 2; //何個づつ開くか指定
	var d_num = 2; //最初表示させたい個数を指定
	$('.accordion_box').each(function() { //.accordion_boxを検索
		$('.accordion > li:gt('+ (d_num - 1) +')',this).addClass('none'); //d_numより後の要素は.none付与
		if ($('.accordion > li',this).length > d_num) {
			$('.trigger',this).show(); //d_numより要素の数が多ければ「もっとみる」ボタン表示
		}
	});
	$('.accordion_box .trigger').on('click', function() { 
		var h_tag = $(this).parents('.accordion_box').find('.accordion li.none'); //クリックしたボタンに関連する.accordionの非表示要素を取得
		var h_tag_num = h_tag.length; //非表示要素の個数を変数に格納
		h_tag.slice(0, num).slideDown('fast').removeClass('none'); //num個までの非表示要素を開いて.noneを外す
		if (num >= h_tag_num) {
			$(this).hide(); //非表示要素の個数がnum以下になったら「もっとみる」ボタンを非表示
		}
	});
});

 

javascript部分の説明は一緒に記述しときました。numに何個づつ開くか、d_numに最初に表示しておきたい個数を自由に指定できるようにしました。基本的にここの数値だけ変えれば色んな形に対応できるようにしています。

再度DEMOのリンクを載せときますね。

 

DEMO

 

出来る限り使いまわししやすい形にして色んなパターンの確認をしましたが、それでもバグなどあったらごめんなさい。

 

簡単に出来そうに見えて意外と面倒な「指定した個数づつ開くアコーディオン」、是非自由にご利用ください。

以上、このあたりで終わりたいと思います。

The post 【jQuery】指定した個数づつ開くアコーディオン first appeared on ウェブラボ(株)スタッフブログ.

【JS】Split ViewやSlide Overも考慮したiPadの判定【ユーザーエージェント】

$
0
0

こんにちは、ウェブラボクリエイターズメモです。

ウェブサイトを制作するにあたり、大きく分けて

  • PC
  • タブレット
  • スマホ

の3パターンの動作を考慮すると思います。

特に、ホバーで展開するナビなど作成する際、タブレットではタップで展開するように改変する必要がありますが

iPadはiPadでも、Split ViewSlide Overなどのマルチタスク機能を使用している際はレスポンシブでスマホ用のレイアウトになるので、正しく動作するかチェックが必要です。

Split View

Split Viewとは、iPadの画面を2分割してAppを表示できる機能です。

Slide Over

1つのAppをフローティングウィンドウに表示し、左右どちらかに表示できる機能です。

Slide Over

これらの状態を判定するためにJSで取得できる「ドキュメント幅」÷「モニター幅」が

0.5くらいならSplit View

0.3くらいならSlide Overなのでは?

と仮説を立て、実験してみたところ

  • デバイスの回転も考慮しなければならない
  • Split Viewは左右のサイズを調整できる
  • 「ドキュメント幅」は最小でも320px

などと判定が煩雑そうな上、UserAgentは廃止されるとも言われているので、一旦諦めることに。

結論

長々と書いてしまいましたが、結局は

  • ブレイクポイント以上だけど、タッチデバイスのときはタブレット
  • それ以外でブレイクポイント以上のときはPC
  • ブレイクポイント以下のときはスマホまたはSplit Viewとか

と判定して、タブレット専用の記述を書くのが良いかなと思いました。

let winw=$(window).width();
if(winw >= 768 && "ontouchend" in document){
	//タブレット
}else if(winw >= 768){
	//PC
}else{
	//スマホ
}

ブレイクポイントとは、PCとスマホのレイアウトの切り替えポイントのことです。

768の値を適宜変更してください。

検証に使用したデモはこちら

The post 【JS】Split ViewやSlide Overも考慮したiPadの判定【ユーザーエージェント】 first appeared on ウェブラボ(株)スタッフブログ.

Viewing all 87 articles
Browse latest View live