
Transformiconsというアニメーションボタンを生成できるジェネレータを使ってみました。
これが、CSSとJavaScriptをジェネレーターで生成するだけで「メニューボタン←→閉じるボタン」のような、トグルボタンを簡単に作成することができました。
WordPressでも、結構簡単にツーウェイボタンを利用することができたので、その方法などの紹介です。
photo by Kumar’s Edit
目次
こんなボタンがつくれる
Transformiconsで生成すると以下のようなボタンを手軽に作ることができます。
クリックするとアニメーションで切り替わります。
メニューボタン
グリッド
追加
メール
読み込み中
loading
Transformiconsの使い方
![]()
Transformiconsを実際に、使ってみたんですが、以下のような手順が必要のようです。
主な手順
主な手順は、以下の4手順です。
- Transformiconsファイルのダウンロード
- 利用したいアイコンの選択
- HTMLとCSSの取得
- Transformiconsスクリプトの呼び出し
TransformiconsでJavaScriptも生成されるんですけど、僕の場合、うまくいかなかったので、スクリプトファイルを呼び出す形の方法です。
Transformiconsファイルのダウンロード
まずは、「grayghostvisuals/transformicons · GitHub(現在配布終了)」から、ファイルをダウンロードします。
![]()
「transformicons-master.zip」という圧縮ファイルがダウンロードされるので、解凍します。
利用するのは、「transformicons-master/dist/js/transformicons.js」ファイルのみです。
![]()
僕は、「js/transformicons.js」ごと、Wordpressの子テーマに放り込んで利用してみました。
利用したいアイコンの選択
次に、Transformicons Builderから利用したいアイコンを選択します。
![]()
利用したいTransformiconsボタンを、以下のようなトグルボタンで選択します。(トグルボタンが緑色になったら選択されています。)
![]()
HTMLとCSSの取得
利用するボタンを選択したら、次は生成です。
同じページの下の方にある、「Build」ボタンをクリックします。

オプションで、CSSかSassが、JavaScriptを縮小化するかなどが選択できます。
「Build」ボタンを押すと以下のように、コードが生成されます。

あとは、生成されたコードを貼り付けて使用します。
今回は、この中の、マークアップとスタイルのコードを利用します。
最初の、メニューボタンのコードを取得するとこんな感じです。
以下のマークアップは、表示したい場所に貼り付けます。
<button type="button" class="tcon tcon-menu--xbutterfly" aria-label="toggle menu"> <span class="tcon-menu__lines" aria-hidden="true"></span> <span class="tcon-visuallyhidden">toggle menu</span> </button>
以下のスタイルシートは、CSSファイルに保存して、ヘッダーで呼び出しても良いですし、<style></style>で囲んでHTMLの中で呼び出しても良いかと思います。
.tcon {
appearance: none;
border: none;
cursor: pointer;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
height: 40px;
transition: 0.3s;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
width: 40px;
background: transparent; }
.tcon > * {
display: block; }
.tcon:focus {
outline: none; }
.tcon-menu__lines {
display: inline-block;
height: 5.71429px;
width: 40px;
border-radius: 2.85714px;
transition: 0.3s;
background: black;
position: relative; }
.tcon-menu__lines::before, .tcon-menu__lines::after {
display: inline-block;
height: 5.71429px;
width: 40px;
border-radius: 2.85714px;
transition: 0.3s;
background: black;
content: '';
position: absolute;
left: 0;
-webkit-transform-origin: 2.85714px center;
transform-origin: 2.85714px center;
width: 100%; }
.tcon-menu__lines::before {
top: 10px; }
.tcon-menu__lines::after {
top: -10px; }
.tcon-transform .tcon-menu__lines {
-webkit-transform: scale3d(.8, .8, .8);
transform: scale3d(.8, .8, .8); }
.tcon-menu--xbutterfly {
width: auto; }
.tcon-menu--xbutterfly .tcon-menu__lines::before, .tcon-menu--xbutterfly .tcon-menu__lines::after {
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
transition: top .3s .6s ease, -webkit-transform .3s ease;
transition: top .3s .6s ease, transform .3s ease; }
.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines {
background: transparent; }
.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines::before, .tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines::after {
top: 0;
transition: top .3s ease, -webkit-transform .3s .5s ease;
transition: top .3s ease, transform .3s .5s ease;
width: 40px; }
.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines::before {
-webkit-transform: rotate3d(0, 0, 1, 45deg);
transform: rotate3d(0, 0, 1, 45deg); }
.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines::after {
-webkit-transform: rotate3d(0, 0, 1, -45deg);
transform: rotate3d(0, 0, 1, -45deg); }
.tcon-visuallyhidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px; }
.tcon-visuallyhidden:active, .tcon-visuallyhidden:focus {
clip: auto;
height: auto;
margin: 0;
overflow: visible;
position: static;
width: auto; }
ボタン一つだけでも結構長いスタイルシート指定が必要です。
Transformiconsスクリプトの呼び出し
最後に、TransformiconsのJavaScriptファイルを呼び出し、コードを記入します。
利用するには、以下のようなコードを</body>タグ手前で呼び出せばOKかと思います。(※マークアップより先に呼び出すと動作しなかった。)
<script src="site/js/transformicons.js"></script>
<script>transformicons.add('.tcon')</script>
WordPressの子テーマなどで呼び出すには、以下のように書いてもOKかと思います。
<script src="<?php echo get_stylesheet_directory_uri(); ?>/js/transformicons.js"></script>
<script>transformicons.add('.tcon');</script>
動作確認
上記の手順で、コードを貼り付けていくと、以下のようなトグルメニューボタンを利用することができます。
まとめ
このような感じで、ウェブアイコンフォントも不要で綺麗なボタンを、簡単に作成することができます。
モバイル用の、左側からニュッと出るメインメニュー用のボタンなどに利用すると、自前で、「閉じる」用のインターフェースを作ったり、コーディングしたりする手間が省けるので、その分楽ができるのではないかと思います。