RSS

CSSで行を塗りでアニメーションさせた後テキスト表示

キャッチコピーなどのテキストの行をbackground-colorの塗りをアニメーションさせたあと表示するような表現を試してみました。

アニメーションはCSSのみ。キーフレームを使って書いてます。

アニメーションが適用される部分のHTML(抜粋)です。

<div><span class="one anim">Interface Architects</span></div>

アニメーションのCSSは以下。

.anim{
animation-name: loadin;
animation-duration: 0.4s;
animation-timing-function:ease-in-out;
animation-delay:0.5s;
animation-iteration-count:1;
animation-fill-mode:forwards;
background-clip: content-box;
}

@keyframes loadin {
0% {
color:#000;
width: 1px;
background-color:#000;
opecity:0;
overflow: hidden;
}
10%{
color:#000;
width:1px;
background-color:#000;
opacity:1;
overflow: hidden;
}
50%{
color:#000;
width:180px;
background-color:#000;
opacity:1;
}
80%{
color:#000;
width:180px;
background-color:#000;
opacity:1;
}
100% {
color:#000;
width: 180px;
background-color:tranparent;
opacity:inherit;
}
}

アニメーションが適用される部分の初期状態のCSSです。
.oneというクラスを以下のように書きます。

.one{
position:absolute;
left:100;
top:100;
display;block;
width:1px;
opacity:0;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
background-clip: content-box;
}

overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;

「text-overflow: ellipsis;」は、テキスト幅よりボックス要素が小さい時に、入りきらない分を省略してくれるプロパティです。これを書かなかった場合、アニメーションする途中のテキスト幅よりブロック要素の幅が小さい時、行が折り返して表示されてしまいます。

.animというクラスにアニメーションの動きを書きます。

animation-name: (アニメーション名);
animation-duration: 0.4s;(例は0.4秒)
animation-timing-function:ease-in-out;(イージングの設定。例は最初と最後にイージング)
animation-delay:0.5s;(アニメーション開始までの時間、0.5秒)
animation-iteration-count:1;(アニメーションの再生回数)
animation-fill-mode:forwards;(順送りに再生)

こんな感じです。

次にキーフレームがこちら。

@keyframes (アニメーション名) {
0% {
color:#000;
width: 1px;
background-color:#000;
opecity:0;
overflow: hidden;
}
(初期状態)

10%{
color:#000;
width:1px;
background-color:#000;
opacity:1;
overflow: hidden;
}
(全体の10%)

50%{
color:#000;
width:180px;
background-color:#000;
opacity:1;
}
(50〜80&。幅をテキストの長さまで伸ばす)

80%{
color:#000;
width:180px;
background-color:#000;
opacity:1;
}
100% {
color:#000;
width: 180px;
background-color:tranparent;
opacity:inherit;
}
(背景を黒から透明にし、アニメーション終了)
}

こういう感じです。
少し面倒にも感じるキーフレームですが、アニメーションのタイミングを細かく設定できます。
単純な動きであれば、以下のように「from」「to」で書けます。

@keyframes (name) {
from {
width: 0%;
}
to {
width: 100%;
}
}

デモはこちらから

widthですが、autoでうまく動くと汎用性が高いのですが、今のところ幅を指定してあげないとアニメーションしてくれません…今後の課題とします。

フォントの販売を開始しました

いくつかのフォントをSTORES.jpで試しに売ってみました。.otf/.ttf/.woffのパックです。
.woffはWebフォントとして使うことができます。
気軽に使っていただきたくてお安くしております。おおよそ1000円〜2000円に設定しております。
よければどうぞ。

STORE

Google fonts日本語が正式にリリースされています

書いたものだと思っていましたが、書いていなかったので。

Google fonts日本語が正式にリリースされています。「早期アクセス」としてベータ版としての提供でしたが、去年から正式に9書体の提供を開始しています。

それなりに使えそうなものばかりなのですが、Noto Sans/Serifにバリエーションが増えているのは地味にいい感じだと思います。
個人的にはKosugi maruやM PLUS Rounded 1cあたりの丸ゴシック系が、柔らかい感じやかわいい感じのデザインで需要が高そうな気がします。じゅんやAXIS Round 100あたりの有料Webフォントの提案が通らない時など…。

宋朝体っぽいものもあると結構使いそうな気もします。軽く長体かけてアケ気味に見出しを組んだりとかしたいです。

テーブルで組まれたフォームをレスポンシブ対応に

フォームページはまだテーブルで組まれたものも多いです。
レスポンシブ対応にする際に、縦に並べたいのですが、さてどうしようと考えていたのですが、


table th,
table td,
table tr {
display:block;
}

ひとまず、これでなんとかなりました。あとは微調整してやればいけました…。
小ネタですが、フォームまわりはまだまだテーブルレイアウトで作られたものもあるので、めんどくさいときはこれで対応しています。

覚書:Webの文字にオートカーニング

ブラウザでのオートカーニングについては、データベースが飛ぶ前、ここで随分前に触れましたし、すでに十分浸透していることなのですが、一応覚書として。

OpenTypeフォントには「プロポーショナルメトリクス」という、カーニング情報が埋め込まれています。
Webフォントもこうしたカーニング情報を持っているものが増えており、CSSプロパティで利用できます。

section{
font-feature-settings : "palt" 1;
}

こう書くと、オートカーニングが効いて表示されます。
ほとんどのWebフォントも対応し、今はもう必須ともいえるプロパティだと思います。

1 2 3