CSS 使用 px 和 em 的差異

CSS 在設計頁面的時後, 並不是說 px 就一定不要用, 只是要注意說, 畫面放大的時後, px 指定的是不會跟著一起放大, 所以我的做法是如下:

  • 文字: 使用 em 或 %.
  • 間距: 兩個 Module 的間距這種, 用 px (不然畫面放大, 間距也跟著放大, 也蠻難看的.

閱讀全文〈CSS 使用 px 和 em 的差異〉

PHP: 移除"同時寫入" MySQL 資料的程式(資料重覆)

規畫 DB 時沒注意到, 有一個欄位是這種狀況: 寫入前檢查是否有此 URL, 有的話, 就不再寫入, 這個現在一看就知道, 該加 UNIQUE KEY, 但是當初規劃時並沒注意到此事(或者是加的時後不能加), 然後自己測, 或者網站量小的時後是都不會有問題的, 但是會出問題的狀況, 會發生在同時寫入的時後, 同時寫入兩筆, 或者寫入第二筆時, 第一筆的資料臨時沒查到(系統太忙 或者 第一筆還沒寫完), 就會有兩筆以上的重覆資料.

這種狀況要把後來寫的那個 ID 拉出來, 砍掉後面的那個 ID(可能會有 2筆以上), 所以下述的程式就是把這些 ID 拉出來, 然後寫成 SQL 檔, 再手動執行砍掉的動作, 砍完後, 再加上 UNIQUE KEY 的屬性.

閱讀全文〈PHP: 移除"同時寫入" MySQL 資料的程式(資料重覆)〉

PHP: 將 CSS 檔 做排版的程式(inline, formatter)

有某人說要將 css selector "{}" 包住的值, 依照字母排列順序的排列(註), 所以先寫了 css_formatter.php, 後來發現某人寫程式的時後, 有時後會做其另一類的排版方式, 所以就再寫一個 css_inline.php(將格式先變成 一個 selector {} 一行), 這樣子(inline)的格式才能給 css_formatter.php 正常吃下來, 並做排版的動作.

註: 依照字母順序來寫 css, 維護起來比較容易, 看起來也蠻漂亮的.(PS: IE hack 要特別處理一下, *, _ 要排在最後面, 所以順序會是 Global -> IE -> IE6)

閱讀全文〈PHP: 將 CSS 檔 做排版的程式(inline, formatter)〉