IEの独自仕様に呪いをかけつつ、複数カラムのためにfloatを駆使していた頃がなつかしい今日この頃ですが、天下の救世主flexboxに、gapというプロパティがあるのだそうです。gridレイアウトに使われていて、flexboxに導入されたのも結構前の話らしいですが…

ちなみにflexbox使いまくりなのに、中身はすぐ忘れちゃうので、いつもこのページを見ます。いつもいつも見ます。あんまり見るので、fとか入れただけで候補に上がります。

CSS Flexbox 各プロパティの使い方を詳しく解説

グリッドでタイル状にアイテムを並べる時、marginだと、上下左右の設定を組み合わせないといけなかったのが、

みたいな感じで設定できます。一つ目の数字が行方向(row-gap)で、二つ目は列方向(column-gap)。親要素(display: flexが当たっている要素)に設定するのが肝。

gapプロパティ対応状況

全体のフォントサイズを調整するために使う定番

ブラウザの標準フォントサイズを16pxから10pxに変更し、以降のフォントサイズをremで指定しやすいようにしている。これなら1remは10pxになるので、わかりやすい。

レスポンシブ環境で、テキストサイズをあんまり細かく指定するのが億劫なので、最近はvwを加味して表示する方法をよく使う。

これだと、10px + ビューポートの幅の0.6%分が大きめになるので、すごく幅が取れるときには大きめに、小さいときにもそれなりに、みたいなサイズになる。

私としては(年齢的に)大きい文字はウェルカムだけど、画面をパッとみた時の情報量が少なすぎるのもちょっと…というのがあって、個人的にこの辺りが落とし所かと思う。フォントサイズは本当はユーザーが自由自在にできるのが一番だけれども、綺麗に並んでいるテキストの方が読む気が起きるので、特に大量のテキストを読ませたい時のバランスとしては、こんなかなあと。印刷屋目線か。

あとこれ。paddingとborderをwidthやheightに含めるおまじない。うっかり囲みを増やし、ボックスが全体のレイアウトからもりもりはみ出してしまったりするので、ウカウカしている私にはぴったりである。

左寄せテキストをセンタリングしたい時のシンプルな方法について。

テキストに直接センタリングをあててしまうと、改行時に2行目が真ん中寄せになっちゃうので、「全体はセンタリングしているが、テキストのブロックは左寄せとか両端揃えとかにしたいなあとよく思うんですが、いつも何となくうまいことやって、すぐに方法を忘れてしまうので、一番シンプルなやり方をメモ。

StudioSynchサイトの冒頭文。テキスト量がもっと多い時は、text-align: justify;を使うと美しい。

MODx Evolutionを長いこと愛用しているわけですが、リリースノートで、将来的には開発の主軸をEvolution CMSに移す予定であるという記述を目にしまして、色々と調べていたところ、Evolution CMSのバージョン3がリリースされたとの情報に当たりました。

Evolution CMS

なんか試したい!という衝動にかられてインストール。とりあえずMODxと大幅に異なるような点もなく、特に迷わずにセットアップできました。

そんで、管理画面にアクセスするわけですが、

いかしたログイン画面

すんごくかっこいい。

 

スタイリッシュなダッシュボード

ダッシュボードもかっこよくて、エディターもカラーで見やすい…これなら、よくやるタグづけのミスが減りそう。

 

ドラッグアンドドロップでアップロードできる画像管理画面

MODxでは、ちょこちょこ画像をアップロードするにも「ファイル管理」画面から地道にディレクトリをたどる必要がありましたが、一気に画像フォルダに飛べる親切設計。いいなこれ。

 

Package Managementという拡張機能のリスト

デフォルトで拡張機能がインストールされないなとおもってたら、Package Managementという、拡張機能をインストールするためのリストがあった。そういえば、インストールの時これを入れるかどうか聞かれたような気がするが、記憶が定かではない。チェックして、インストールした…んだと思う。なんか便利そう。ちまちまFTPでアップロードしたり、コードをコピペする必要はないみたい。

 

非推奨のみなさん

一方で、見慣れたスニペットは非推奨に…でもそういえば、DittoもMODxで既に非推奨だった。そうだな、もういいかげん卒業しないと。

Evolution CMSは、見た目かっこいいだけでなく、MODxの持っていたシンプルな使いやすさに加え、コードも書きやすそうだし、外部ファイルの扱いも楽になっている。出回ってる情報が英語かロシア語(ウクライナ語かも)なのが多少苦しいけれど、色々試して勉強したい。

サイトのブロック表示にvwを使いたい。vwはwidthだけでなく、heightにも使えるので、黄金比とか正方形とか、レスポンシブでもタテヨコ比の揃ったブロックを作るのにものすごく便利だからだ。これとflexを使うことで、格段にCSSを書くのが楽になった。というか、これがないと、とてもレスポンシブサイトの仕事を受ける気がしない。スマホでもタブレットでも、大きなディスプレイでも美しく、と思ったら作業量は3倍である。

vwは便利なので、仕事でwebサイトのリニューアルにもガンガン使って作業をしていたところ、なんだか表示がずれるんですよ、とwindowsユーザーの方からご指摘を頂いた。なんでかなと調べていたところ、こんなことが。

【CSS】100vwはスクロールバーを含むという罠

Macの一般設定では、スクロールバーのデフォルト表示は「スクロール時に表示」なので、あんまり気にならなかったのだが、常にスクロールバーを表示している場合に、不具合が生じていた模様。bodyを100%にしていたので、内包している要素の100vw幅が入りきらなくなっていた。内包要素もみんな100%にしてしまえばいいのだけれど、それはやっぱりもったいないので、内包コンテンツの横方向には、スクロールバー分も加味した余白を儲けることで切り抜けた。そうすると横スクロールバーが表示されてしまうのが鬱陶しいので、これもbodyに「overflow-x: hidden;」を当てることで強制的に非表示にする。

Mac環境で見ると、コンテンツとスクロールバーが一体化してる感じがしていいかなと思う仕上がりなんだけど、Winではどうなんだろう。とにかくズレはなくなったはず。

昨年、仕事用のサブマシンとして、いちばんシンプルな仕様のMacBookを購入した。遅いとか、見劣りする、みたいな評判もあったみたいなんだけど、とにかく軽くて、外で急ぎの直しが必要になった場合の保険として持ち歩くには最高だった。きっと論文書いてネットにつなげればいい、みたいな学生さんとかにもよかったんじゃないかと思う。Macにしては安かった。先日、うちの子にうっかりはたき落とされて、ご臨終になるかと心配したが、まだ一応ちゃんと動いている。

そんなMacBookであるが、先日、ついに販売が停止してしまった。

アップルは好き嫌いが分かれていた12インチMacBookの販売を中止

今後MacBookはなくなり、AirとProの二本立てになっていくようだ。AirはAirなのにMacBookより重く、一時はAirがなくなるのかな、とすら思っていたんだけど、消えたのはMacBook。

しかしこうなってみると、MacBookを買っておいたのは個人的にはものすごいよいタイミングだったとも言える。当分は大事に使わせてもらう。

レスポンシブサイトをつくるとき、今どきは普通のブラウザにもスマホ表示のプレビューができる機能がついていたりして、大変便利ですが、実際のスマホで表示してみると、hoverやスワイプの挙動なんかでつまづいてしまうことがあります。

「スマホ表示がおぼつかなくなる」というのは、縦にスクロールするときに、画面が左右にブレて、画面外の余白が表示されてしまうという、機能的に不都合はないんだけど、なんとも気持ち悪い状況。

原因はわかってるんです。要素が画面幅からはみでてるから。私などは、htmlもcssもエディタで端から書いていくので、この手のミスをよくします。そういうときは、

overflow-x: hidden;

をbody要素に加えればとりあえず解決です。横スクロールをしなくなるので、要素がはみ出ても問題なし。

のはずだったのですが、これをやったら、実装してあった「上にもどるボタン」のjavascriptが動かなくなりました。なんでだろう。y方向は問題ないと思うんだけどなあ。

これは真面目に考えれば原因がちゃんとわかるんだろうけど、まずははみ出てる要素をちゃんと探した方がよかろうと思い、ブラウザのインスペクタ機能を使って、CSSをチェックしました。ところが自分で書いたCSSなのに、テキストの羅列を眺めているだけでは、なかなか見つけられないものです。トシなのかな。

こんな時、目と頭がぼんやりしてても原因が見つけられるように、私は各要素に、

display; none;

を加えながらチェックします。だいたいサイトはヘッダとメインコンテンツ、フッタくらいの大要素に分けてありますので、大きな要素を順番に非表示にしていきます。非表示にしたとき、横にブレなくなったら、その要素内に原因があるということ。そうやって、原因を絞り込んでいきます。

box-sizing: border-box;

これが使えるようになってから、この手のミスは大分減ったのですが、今回は、width: 100%の要素に左右のmarginが設定されていたのが原因でした。こういうチェックをやりやすくするために、CSSファイルは要素のレベルごとにかためて書く、というのも意外と大事なことかもしれません。

ローカル環境でCMSサイトを構築しようと思うと、何か動きがもったりするして、ちょっと嫌だなあと思っていたところ。

かなりオススメ!WordPressのローカル環境が簡単に構築できる、Windowsもmac OSも対応の無料ツール -Local

WordPress専用のローカル環境として、あちこちで絶賛されているLocal by Flywheelを試してみました。

インストールもらくちん、動作も快適、PHPやMySQLのバージョンも選べるので、本番環境にあわせた設定が可能です。オリジナルテーマの作成も、ローカルでエディターでがんがん書き換えながら作れるので、これはいい!と思いました。

ところが、いざサイトをアップロードするにあたり、大きな壁にぶつかりました。WordPressの引っ越しって…よく考えたら…やったことなかった…

MODxのサイト移転は、何度か経験していたので、その要領でいけるかと思ったら、これが意外と難しい。色々と試行錯誤の末、いちばんうまく行った方法を記録しておこうと思います。移転先サーバは、ロリポップです。

  1. wp-config.php以外のファイルを、移転先のサーバディレクトリにアップする。
  2. サーバにWordPress用の新規データベースをつくっておく。
  3. ブラウザでサーバディレクトリにアクセスする。wp-config.phpがないので、自動的にWordPressのインストール画面になります。新規データベースの情報を入れ(プレフィックスは、ローカルと同じになるように注意)、データベースへのアクセスができたら、インストール作業。このとき、ローカルで使っていた設定(サイト名、ユーザ、パスワードなど)をそのまま入れる。
  4. ローカル環境のデータベースファイル(.sql)をエクスポートする。Local by FlywheelはAdminerという軽くて扱いやすい管理ツールがついてきます。
  5. ロリポップのphpMyAdminで、データベースファイルをインポートする。
  6. Search Replace DBを、サーバディレクトリにアップする。Search Replaece DBは、データベース内のURLの置換をするツールです。このとき、置き換えドメインの指定は、「http://www.XXX.com/」ではなく「www.xxx.com」の形でやった方がうまくいく模様。置換(LiveRun)後は、サーバに残しとくと悪用される恐れがあるので、ツールをDeleteしておくこと。

アップロード時、ウィジェットにID設定がされていない、と怒られてしまい(【アップデート情報】WordPress4.2のデバッグモードでエラーメッセージが出た時の対処法)、インストールのトラブルとうまく切り分けするのにちょっと手間取ってしまったのですが、これで無事、アップロードができました。

参考ページ:

Local by Flywheelで開発したサイトをロリップにアップロードする

WordPress移行時にURLをSQLで直接一括置換はダメ! 「Search and Replace for WordPress Databases Script」を使おう