自動化厨のプログラミングメモブログ │ CODE:LIFE

Python/ExcelVBA/JavaScript/Raspberry Piなどで色んなことを自動化

Atom URL編集時に10秒ほどフリーズする問題の原因

f:id:maru0014:20151203104450p:plain

予想される発生条件

 
  • 「autocomplete-paths ver 1.0.2」が有効
  • HTMLモードになっている(Plain Textモードでは発生しませんでした。)
 
上記の条件下でURLを編集した際に発生しました。
 
 
「autocomplete-paths ver 1.0.2」を無効化した状態ではフリーズせず。
 
その他のパッケージとの干渉というわけでもなく単体で発生しました。
 
 
autocomplete-pathsとは
URLを入力時にプロジェクトフォルダ内のファイルパスに似たようなフォルダ名やファイル名があればオートコンプリートしてくれるパッケージ。
 
プロジェクトフォルダ内の検索がフリーズの原因かと思われる。
フォルダが多すぎるせいで検索に時間がかかっているのかもと思い、ファイル単体での編集も試みたが同様の現象が発生。
 
やむなく機能を無効にし、次のアップデートで修正されるのを待つことにする。

同一ウィンドウ内にhtmlとCSSとJavaScriptを書いてリアルタイムプレビューできるなんて・・・

f:id:maru0014:20151105210519p:plain

しかもブラウザ上で動作するなんて・・・   CodePenがこんなに便利なんて知りませんでした(´ェ`)

今までWEBプログラミング系のブログで何度か埋め込みを見たことはありましたが、実際に使ってみると使いやすいのなんのって!

しかもemmetが使える

半信半疑で ! を入力してTABキーを押してみると・・・使えた!

素晴らしい。スニペットとかちょっとしたコーディングならエディタ起動するまでもないですね。

使えるスニペットが盛りだくさん!

他のユーザーが公開しているcodeが使えるのも楽しすぎる。

ボタンデザインとかだけでも参考になりますなぁ。

ページ内リンクをすべて滑らかにスクロールさせるjQuery

f:id:maru0014:20151019221044p:plainページ内でのリンクを貼る場合

 

<a href="#pagetop">ページトップへ戻る</a>

 

などと書きますよね。
Q&Aのページなどの場合大変便利。

でもこれ、普通にリンクを貼るだけだと瞬間的に画面が切り替わってスクロールされている感が少ない!

ちょっとこだわったサイトだとすーーっとスクロールして表示されます。

上に行ったのか下に行ったのか分かりやすく、何より今風でいいですよね。

 

これを簡単に実装できるようにコピペできるソースを公開!

 

 

 

上記を

<head> ~ </head> 内 もしくは</body>直前に挿入。

これだけで滑らかにスクロールされます。

 

※「リンクが # で始まる場合」という指定なので別ページ間でのスムーズスクロールは不可です。

 

【CSSで3等分】要素をきっちり三分割するスタイルシートの書き方

今日のお題は「きっちり」三等分できる書き方。 どんな書き方を想像しましたか?

この書き方を知るまで僕は

.col3 li {
  width : 33.33333% ; 
}

のような書き方をしていました。

実際にこの書き方をしているウェブサイトもよく見かけます。 が、性格の問題もあるかもしれませんが割り切れない 余り があるのがちょっと許せない。

width: 1/3;

みたいな書き方ができたらいいのになー って思ってました。 で、探してみたところ発見!

1/3サイズを指定する方法があったんです! 感動(´ェ`)

 

CSSで計算式を可能にするcalc

対応ブラウザ:IE9以降、Safari6以降、Google Chrome19以降、Firefox4以降  

使い方:

.col3 li {
  width : calc(100% / 3) ;
}

これだけ! 簡単ですね。全体の幅100%の3分の1サイズという、まさに僕が探していた等分指定!!!

 

上記にさらにベンダープレフィックスを付け加えて・・・

li.3col {
  width : 33.33333% ; /* 未対応ブラウザ用フォールバック */
  width : -webkit-calc(100% / 3) ;
  width : calc(100% / 3) ;
}

これで完成形です!!

See the Pen width: calc() by maru (@maru0014) on CodePen.

ウェブページ製作で実際に使う場面としては、ランキングのトップ3を横並びにさせたい時なんかオススメです。

2017/11/19追記 主要ブラウザの対応状況

f:id:maru0014:20171119165559p:plain 参考: Can I use... Support tables for HTML5, CSS3, etc

執筆時点の2015年においては未対応ブラウザに留意すべきと考えられましたが、現状の主要ブラウザは全て対応済みなのでベンダープレフィックスやフォールバックも不要かもしれません。

※個人的な意見です。実装の際はアナリティクスで利用者の使用ブラウザを調査した後判断しましょう。

Android標準ブラウザでbackground-size: autoが機能しない

見出しの背景画像として、幅1pxの画像をリピート表示させようとしたところAndroid標準ブラウザでのみ機能しなかったお話。

 

Android標準ブラウザで背景画像が表示されない

 

ChromeSafariでは正常に表示されたがAndroid標準ブラウザのみ背景が表示されなかった。

 

background-sizeを backgroundプロパティにショートハンドで

 

例) background: url(image.jpg) repeat-x center center / contain rgba(0, 0, 0, 0);

 

などと書いた場合にAndroid標準ブラウザで機能しないという記事をいくつか見つけたが、今回はきちんと別で書いている。

 

 

次に考えられる要因は"サイズ指定自体が間違っている"
結論から言えばこれでした。

 

他のブラウザでは幅100%か原寸の幅1pxとして認識されていたautoがAndroid標準ブラウザでは読み込まれず、背景画像自体が一切表示されなかった。

今回は下記のように記述を変えることで対応。

 

Android標準ブラウザでも背景画像が表示される

 

もう一つやり方があるとすれば、リピートではなく幅100%にしてしまう方法

 

Android標準ブラウザでも背景画像が表示される(幅100%指定)

 

 

まぁ文字数も大して変わらないのでどちらでも良いと思いますが。