みかづきブログ その3

3ヶ月つづけてみました。

CSSでiPhone本体の素材をつくる その2

kimizuka.hatenablog.com

以前、CSSでiPhone5をつくったことがありましたが、
流石に古くなってきたので、iPhone7につくりかえてみました。

以前のコードと比べると、要素数が少なくなっていて成長を感じますね。
(before、after、box-shadowをつかうようになりました)
左右のボタンを1つの要素にしてbox-shadowで増やそうかとも思ったのですが、微妙に角丸にしたかったのでサイレントスイッチを削りました。
ものすごく頑張れば再現できた気もしますが、シンプルさを重視した結果です。


DEMO

See the Pen iPhone7 by kimmy (@kimmy) on CodePen.


HTML

<div id="body">
  <div class="camera"></div>
  <div class="speaker"></div>
  <div class="screen"></div>
  <div class="home"></div>
</div>

SCSS

* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -webkit-backface-visibility: hidden;
}

body {
  background: #aaa;
}

#body {
  position: absolute;
  top: 0; bottom: 0;
  left: 0; right: 0;
  margin: auto;
  border: solid 3px #6a6a6a;
  border-radius: 56px;
  width: 419px; height: 861px;
  background: #080808;
  transform: scale(.6);

  .camera {
    position: absolute;
    top: 44px; left: 155px;
    margin: 0 0 0 -7px;
    border: solid 3px #6a6a6a;
    border-radius: 50%;
    width: 6px; height: 6px;
    background: #1a1a1a;
  }

  .speaker {
    position: absolute;
    top: 44px; left: 50%;
    margin: 0 0 0 -34px;
    border: solid 3px #6a6a6a;
    border-radius: 10px;
    width: 60px; height: 5px;
    background: #1a1a1a;
  }

  .screen {
    position: absolute;
    top: 0; bottom: 0;
    left: 0; right: 0;
    margin: auto;
    width: 375px; height: 667px;
    background: rgba(255, 255, 255, .1);
  }

  .home {
    position: absolute;
    bottom: 18px;
    left: 0; right: 0;
    margin: auto;
    border: solid 3px #6a6a6a;
    border-radius: 50%;
    width: 60px; height: 60px;
    background: #080808;
  }
  
  &:before {
    display: block;
    position: absolute;
    top: 180px;
    left: -6px;
    border-radius: 5px 0 0 5px;
    width: 6px; height: 50px;
    content: "";
    background: #2b2b2b;
    box-shadow: 0 70px 0 #2b2b2b;
  }

  &:after {
    display: block;
    margin: 180px 0 0 419px;
    border-radius: 0 5px 5px 0;
    width: 6px; height: 50px;
    content: "";
    background: #2b2b2b;
  }
}

Nginxで404ページをカスタムする

404.kimizuka.fm

どうしても404ページでNOT FOUNDを流したかったので、近所のサーバサイドエンジニアに頼み込んで設定方法を教えてもらいました。

/etc/nginx/conf.d/ 以下に hogehoge.conf という設定ファイルをつくり、

server {
    ...
    error_page 404 /404.html;
    ...
}

という感じでエラーページを指定すればOKです。
僕の環境の場合、404.htmlを用意した場所がrootの外だったので、

server {
    ...
    error_page 404 /../404.html;
    ...
}

という感じで指定する必要がありました。
無事に404ページでNOT FOUNDが流せるようになったので良かったです。感謝。

連続する2つのツイートで1つのイラストを完成させるツイートボタンつくりました。 🐳

1行でまとめると

f:id:kimizuka:20170622095320p:plain

こんな感じのことができるツイートボタンをつくりました。


はじめに

こどもの頃、FF6で連続魔が使えるようになったとき、最強じゃないかと思いました。

FINAL FANTASY VI

FINAL FANTASY VI

  • SQUARE ENIX INC
  • ゲーム
  • ¥1,800



クロノトリガーで2人技が使えるようになったとき、すごい概念だと思いました。

クロノ・トリガー

クロノ・トリガー

  • SQUARE ENIX INC
  • ゲーム
  • ¥1,200



ドラゴンボールの単行本の背表紙が1枚の絵になっているのを見たとき、かっこいいなぁと思いました。

DRAGON BALL モノクロ版【期間限定無料】 1 (ジャンプコミックスDIGITAL)

DRAGON BALL モノクロ版【期間限定無料】 1 (ジャンプコミックスDIGITAL)

(期間限定で1巻が無料だ!)



そんな思い出を元に(?)、連続押下でツイートを連投すると、1つのイラストが完成するツイートボタンをつくってみました。


DEMO

See the Pen DoubleTweetButton by kimmy (@kimmy) on CodePen.

ボタンを押す度にバッジの数が減っていきます。
順番に投稿すると、

f:id:kimizuka:20170622095320p:plain

こんな感じのタイムラインが完成します。
(3回目の投稿でようやくURLがシェアされます)


原理

OAuth認証なしで画像をシェアしてもらうために、 こちらの手法 をつかっています。

kimizuka.hatenablog.com

事前にツイートを用意しておけば、なにも難しいことはないのですが、2回連続で謎のURLをシェアさせられるのでちょっと怖いですね。。。

この原理をうまくつかえば、いつもより2倍ツイートされるウェブサイトをつくれるかもしれません。^ ^
Facebookでも同じようなことができそうなので、機会があったらつくってみたいです。