ティラノスクリプト・glinkをカスタマイズ

Miz Gracia
·
公開:2024/1/15

今日は少し、具体的で技術的な話。いつかブログにまとめたいので、書く練習と壁打ちという事でここに書きます。

ティラノスクリプトには、[glink]というタグが存在します。buttonのようにクリック&jumpできるモノでありながら、中に文字まで書ける優れもの。デフォルトで入っているglinkのデザインも良くて、そのままでも十分に活用できます。

公式リファレンス: https://tyrano.jp/sample2/code/siryou/1

個人的に好きなのは btn_03_black です。どんなUIにも馴染む。

この選択肢も glink btn_03_black

この glink をさらにカスタマイズして、自分好みのボタンを簡単に実装する方法を説明します。

1. glink.css を見てみる

glinkに関するcssは、tyrano/css/glink.cssに書かれています。

特に重要なのは、このファイルの最初の方に書かれているコード。

.glink_button {

display: inline-block;

zoom: 1; /* zoom and *display = ie7 hack for display:inline-block */

*display: inline;

vertical-align: baseline;

margin: 0 2px;

outline: none;

cursor: pointer;

text-align: center;

text-decoration: none;

font: 14px/100% Arial, Helvetica, sans-serif;

padding: .5em 2em .55em;

text-shadow: 0 1px 1px rgba(0,0,0,.3);

-webkit-border-radius: .5em;

-moz-border-radius: .5em;

border-radius: .5em;

-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);

-moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);

box-shadow: 0 1px 2px rgba(0,0,0,.2);

}

glinkの見た目に関する基本的なことはここで書かれています。

これ以降の行に、.black{ ~とか色々書かれていて、こちらではそれぞれのcolorごとの設定が書かれています。

つまり、これらを編集すれば、glinkに関するデザインを微調整する事ができます。

個人的には、これを直接編集するより、glink_button_custom という独自のクラスを作って、glinkを使うときに追加でクラスを付与する方が扱いやすい(公式ドキュメントを見ながら挙動の確認などするときに、混乱しづらくなる)ので、今回はそうしています。この辺はお好みだと思います。

今回は、tyrano/css/glink.cssの一番最後に、独自のクラスを追加します。

2. デフォルトのglink、余白や幅がややこしい問題

先ほどのcssを見てわかる通り、デフォルトのglinkにはmarginやpaddingが付与されています。

「glinkタグのwidthなどを設定しても思っているような幅にならない事がある」という問題は、このスタイルなどが原因です。

そこで、今回カスタマイズするglinkでは、この余白とかどうとかを取り除くことにしました。

他にもいくつか調整して、tyrano/css/glink.cssの一番最後に、以下の記述をします。

.glink_button_custom {

display: flex;

zoom: 1; /* zoom and *display = ie7 hack for display:inline-block */

vertical-align: baseline;

margin: 0; /* 外の余白を0に */

outline: none;

cursor: pointer;

text-align: center;

text-decoration: none;

font: 14px/100% Arial, Helvetica, sans-serif;

padding: 0em; /* 内側の余白を0に */

text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);

-webkit-border-radius: 0.5em;

-moz-border-radius: 0.5em;

border-radius: 0.5em;

-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);

-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);

box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);

justify-content: flex-start; /* 文字を水平方向左寄せに。中心寄せがいいならcenterを指定 */

align-items: center; /* 文字を垂直方向中央寄せに */

}

これで、下準備は整いました。

次に、さらにカスタマイズしたglinkクラスを作って拡張していきます。

3. 独自のクラス設定

.item_btn {

padding-left: 2em; /* 左に2文字分の余白を設定 */

box-sizing: border-box; /* 余白込みでの幅指定を可能にします */

}

.item_btn:hover {

color: #00b7ff; /* マウスカーソルをhoverしたときに文字色を変える */

}

今回は、item_btnという独自クラスを作りました。

ここで背景画像も指定してしまってもいいのですが、今回はglink側で書きます。

背景画像ではなくcssで背景を指定する場合は、他にも色々付け足してください。

4. あとはglinkを書くだけ

[glink name="glink_button_custom item_btn" graphic="parts/item_btn_white.png" enterimg="parts/item_btn_blue.png" storage="ほにゃら.ks" text="ほにゃら" width="560" height="48" ...(略)]

glinkタグを使い、nameに「"glink_button_custom item_btn"」のように、独自で作ったクラスを書きます。また、graphicやenterimgに背景画像のパスも追加します。幅や高さ、テキストなどはよしなに。

5. 実際の結果はこんな感じ

「園芸部の封筒」「ピアス」などを同じglinkで書いています

見た目よりずっと簡単に作れるね!

ということで、glinkをカスタマイズしつつ活用してみてください。

追記: 参考として、glinkに使っている画像を添付しておきます。この画像の著作権はMiz Graciaにあるので、無断転載・無断利用しないでください。

@miz_gracia
文章の壁打ち場。 質問などはこちらに: marshmallow-qa.com/miz_vhb