仕事に(Web に)活かせる数学はある
生活には役立たないことが多かろう、と、高校時代から常々思っている数学。
とは言え、中学校での数学・小学校での算数は、生活でも使えるものだし、仕事には活かせるモノが確実にある、という例。
CSS で出来ることが増えた、とは言え、算数が出来ない(わからない? 否、忘れたんやろ?)ヤツを増やすようなモノは、あまり歓迎出来んな、ということが最近あった。
使ってる人も居ると思うが、transform だ。
設定なんかは、この辺り↓を見て使ってくれる分には文句は言わない。
その代わり、対象ブラウザぐらいは、確認してくれ。
そして、動作環境の下限を考えていないような所で仕事をするなら、念のためベンダープレフィックスぐらいは付けておいてくれ。
というように、そのモノの解説はすでに先人の方々が置いてくれているので、検索してくれればいい。
問題は、そもそもの動作だ。
上記サイトにあるように、センタリングで
position: relative;
left:50%;
transform: translateX(-50%);
というのを良く見かける。
まぁ、設定がラクなのは良かろう。そして、中身がテキストで可変するらしき場合には、なかなかの有用だ。ましてや、position で動かしていたら、そらメンドクサイわな。
な・ん・で・す・が!
画像で幅が固定されてる、もしくはレスポンジブやグリッドのために、画像幅もパーセンテージ指定してるなら、transform する必要なんか無いやん。
ってことに、気付いてない人、多過ぎません?
デバイス幅;100%
画像幅;40%
である場合に、この画像がセンタリングされる、余白との関係を考えたこと、あるか〜?
こんなん、正直、小学校の問題やで。
引き算と割り算。割り算言うても、半分にするなんか当たり前過ぎるやろ。
<解答への道筋>
画像の40% が、表示に必要な部分なので、余白は 100 - 40 = 60
センタリングされる、ということは
・画像以外の余白が『左右均等に存在する』
ということ。
したがって
【余白30%】[画像とか40%で表示するモノ]【余白30%】
となればいい。
そして、『左右均等に』ということは、
『均等に分けられたものなら「左だけ」を見ても正しい』
結論
left:30%;
で事足りる。
そうやって考えたら、いちいち position 使って考えんでも、margin-left か、padding-left でセンタリングできるモノ、いっぱいあると思うで。
というわけで、もうちょっと算数使おうな。
この記事が気に入ったらサポートをしてみませんか?