モードの変更

続・CSSだけでviewportに常に対角線を引く

CSS

画面に対角線をどうしても引きたい時が人生に一度や二度は来ると思う。

そして一旦「できない」と言ったものがすぐさま他者によって「できる」と言われる時も人生に一度や二度は来る。

というわけで、できた。デモはまた CodePen に置いた。

前エントリーではあれやこれやと能書きを垂れたけど、そんなのほとんど関係なく上記で実現できてしまった。

デモでは background-size での引き伸ばしではなく、fixed した要素に width: 100%height: 100% で見た目の表示領域(厳密には viewport ではないのでこう書く)に合わせている。背景を画像にしているので見づらさはあるが、線のみが描画できているのがわかると思う。

Windows ではスクロールバーが出ていても width: 100% によって表示領域分に角が来る。Mobile Safari 9 でもブラウザ UI 以外の表示領域分に角が来た。さらにデスクトップ版 Safari では、強制再描画のハックがなくても対角線は保たれた。ウィンドウサイズの幅や高さが極端に小さくなると斜線が消えるとかいう面白現象も見られたが、それは見なかったことにした。

ながしまさんありがとうございました。


書いてみると、前回はなぜこれに気づかなかったのだろうという感じがする。頭が悪いからだと思う。つらい。