利用!important,分隔IE6與非IE6瀏覽器所套用的CSS樣式

最近在寫網頁時遇到一些CSS樣式在IE與非IE瀏覽器顯示差異的狀況,
例如我希望某個div有最小高度320px的限制,
雖然可以在CSS加入:
[cc_css]min-height: 320px;[/cc_css]
但問題是IE6並不認識min-height,
而height若是給定值,
當div的內容超過給定的高度IE6會自己延伸,
非IE6的瀏覽器則是照給定的值。

後來找了一下相關文章發現可以利用!important這個語法,
這個語法是用來提高樣式的優先權,
例如我在CSS中寫下:
[cc_css]height: 200px !important;
height: 240px;[/cc_css]
那麼實際套用的高度是200px而不是240px,
而IE6是看不懂!important,
如此一來可以利用這個語法來分隔IE6與非IE6瀏覽器所套用的樣式。

假設我希望某個div高度最小為120px且會隨著內容長度自動延伸,
而不管IE6還是IE8、Firefox等瀏覽器都能達到同樣的效果,
就可以這麼寫:
[cc_css]height: auto !important;
height: 120px;
min-height: 120px;[/cc_css]
對IE6來說它只看懂height: 120px,
而對非IE6的瀏覽器來說,
兩個重覆定義的height只有auto會生效並且最小高度120px也能順利運作,
如此一來便可解決這種惱人的問題。

機動戰士鋼彈UC 第1話觀後感

雖然沒拜讀過原作小說,
不過難得以UC背景推出的OVA真的是令人眼睛一亮,
極佳的作畫水準,
細節表現部份也令人讚賞,
像是人物在駕駛艙承受著G力、人物在操作感應砲前的神情等等十分生動。
而它的音樂個人尤其喜愛,
和畫面節奏實在是相搭配,
似乎每一個音符都隨畫面的一靜一動而舞動著,
尤其最後主角與父親訣別後啟動Unicorn到把剎帝利推出殖民地這一段個人是最喜歡的。
gundam_unicorn

最令人印象深刻的莫過於開頭特裝傑鋼與剎帝利兩架MS的對戰,
很難得表現出即使是量產機也是仍有一拼的絕佳表現與氣勢,
雖然最後還是不敵剎帝利但也不得不為這架傑鋼的駕駛員致上最大的敬意,
反倒是後面數架新銳的Ζ量產機-ReZEL的表現反而不怎麼亮眼,
看了先前傑鋼的表現再看後面同樣被爆機的ReZEL總覺得十分不過癮。
stark_jegan

劇情上是圍繞著「拉普拉斯之盒」為中心,
這神奇的東西會帶什麼重大的影響相信應該是劇情的重點,
主角機Unicorn和似乎它也有一定程度的關聯。
而在時間線上的前作逆襲的夏亞中活躍的隆德貝爾艦隊,
在這部作品的表現感覺真的是有點黑暗…
於殖民地中毫無顧忌地大打出手,
還有兩架ReZEL玩弄著一架吉拉.祖魯,
在這部作品裡這支艦隊會扮演著什麼樣的角色呢?
而最令人好奇的是我們的萬年艦長-布萊特.諾亞似乎也會在這部作品中登場,
不知為請到哪一位聲優來擔綱這個角色。

不過話說劇中的米妮瓦真的是成長不少,
在Ζ鋼彈中的米妮瓦感覺凡事都需要哈曼來打理,
像是一個不知世事的公主一般,
在Unicorn裡蛻變成一位相當具有行動力的少女,
與卡帝亞斯會面時也展現出不凡的氣息,
比起主角巴納吉,
個人反而期待米妮瓦在後面故事的表現。
mineva

免費好用的Web IDE – Aptana

因為這陣子在寫PHP的緣故也順便玩了一些編輯器,
雖然已經對於Dreamwaver那種WYSIWYG的環境不再嚮往,
不過一些像是關鍵字提示、標籤自動完成、基本除錯等等功能還是覺得很實用,
也能夠加快編寫效率,
最近找到了一個不錯的免費軟體 – Aptana
Aptana01

Aptana是以著名的Eclipse開發整合環境為基礎,
因此除了獨立執行版本外也有提供給Eclipse用的Aptana Plugin,
本身即支援HTML、CSS和Javascript等環境,
而且能夠透過Plugin使Aptana支援PHP。
簡述一下做法和設定:
(1) 到 Help → Install Aptana Features
(2) 在 Featured Plugins選擇 PHP Development Tools (PDT) 和 PHP Debugger Binaries (PDT)
(3) 接來會有版本選擇,我是選用較新的2.1.2版
(4) 最後License Text點選同意就會開始進行安裝動作。
Read More

TinyTip 修改頭銜顯示格式

最近換用了TinyTip(Hughman修改版)代替之前的TipTac,
因為它能夠在滑鼠提示裡顯示該角色的雙天賦個人覺得很實用,
可惜TinyTip的頭銜顯示格式是「角色名字 + 頭銜」,
看起來就覺得很怪:
tinytip01
而自己希望是顯示成「頭銜 + 角色名字」並去掉礙眼的「,」,
所以試著修改原本的程式,
原本顯示角色頭銜的內容為:

if TTVar.PVPRank and IsPlayer then
  tmp2 = UnitPVPName(unit)
  tmp3 = nil
  if tmp2 and tmp2 ~= name then
    i = strfind(tmp2, name)
    if i and i > 1 then 
      tmp3 = strsub(tmp2, 1, i - 1 )
    elseif i == 1 then
      _, tmp3 = tmp2:match("(.+),(.+)") --strsub(tmp2, strlen(name)+1)
    end
  end
  tmp3 = tmp3 and (", " .. tmp3) or ""
  L1:SetText( tmp .. tmp3)
else
  L1:SetText( tmp )
end

改成以下這樣,主要改動在第298~299行:

if TTVar.PVPRank and IsPlayer then
  tmp2 = UnitPVPName(unit)
  tmp3 = nil
  if tmp2 and tmp2 ~= name then
    i = strfind(tmp2, name)
    if i and i > 1 then 
      tmp3 = strsub(tmp2, 1, i - 1 )
    elseif i == 1 then
      _, tmp3 = tmp2:match("(.+),(.+)") --strsub(tmp2, strlen(name)+1)
    end
  end
  tmp3 = tmp3 and tmp3 or ""
  L1:SetText( tmp3 .. tmp)
else
  L1:SetText( tmp )
end

另外也將單位W換成萬,

local percent = format("%.1f%%", (val / max * 100))
	tmp, tmp2 = 10000, "W"
	if val and val > tmp then val = format("%.1f %s", (val/tmp), tmp2 ) end
	if max and max > tmp then max = format("%.1f %s", (max/tmp), tmp2 ) end
[/cce_lua]
改成:
[cce_lua first_line="565" line_numbers="1" width="650"]
	local percent = format("%.1f%%", (val / max * 100))
	tmp, tmp2 = 10000, "萬"
	if val and val > tmp then val = format("%.1f %s", (val/tmp), tmp2 ) end
	if max and max > tmp then max = format("%.1f %s", (max/tmp), tmp2 ) end

成果如下:
tinytip02

Firefox 3.6正式推出!

正體中文站

歷經五次Beta版和兩次RC版後終於推出正式版本,
雖然比預設時期延遲了些時間但為了品質相信是值得的。
3.6版本對javascript處理速度上真的有改進,
可惜程式第一次啟動的速度還是有點慢,
聽到的說法是Firefox本身架構的關係,
強化了擴充性但犧牲了些速度。

不過以單純讀取網頁速度來說,
和用過的Opera、Google Chrome等相比其實差異很小了,
而且每次執行的狀況不同也很難客觀地比較,
而Firefox許多實用的套件真的是令人難以釋手。
fx3.6

終於拿到審判胸甲~終結三年來的宿願

總算是讓我的聖騎士從黑翼之巢畢業了,
三年前就這樣穿著七缺一的審判套裝(T2)挺進TBC,
終於在下午的懷舊團如願!
拿到之後還特別去弄了法力+100的附魔(60級年代的東西)。
mypal_t2
背後的AL也是後來懷舊團才拿到的,
當年拿的是悲哀使者。

T2套裝的設計真的是很經典,
尤其是鎧甲裙還是保有重甲的感覺,
同樣的設計T8的鎧甲裙看起來就太像布甲,
T10就好多了但是走陰暗的色彩風格,
果然還是T2最賞心悅目。

PitBull4 數值單位換算再修正

好像有點玩上癮了,
用了一天發現數值判斷還要再調整一下,
畢竟用的單位變小(百萬→萬),
數字也就變大了,
為了配合PitBull短格式的設計我多寫了一條判斷,
當數值達一百萬以上不顯示小數點以下的數字,
看起來比較不會一長串佔空間的感覺。

以 PitBull4_DogTagTexts\libs\LibDogTag-3.0\Categories\TextManip.lua 這檔案為例,
在函式 DogTag:AddTag(“Base”, “Short”) 中的 if type(value) == “number” 下的起頭多加一項判斷:

if type(value) == "number" then
  if value >= 100000 or value <= -100000 then
    return ("%.1f萬"):format(value / 10000)
  elseif value >= 10000 or value <= -100000 then
    return ("%.2f萬"):format(value / 10000)
  --elseif value >= 100000 or value <= -100000 then
  --	return ("%.0fk"):format(value / 1000)
  --elseif value >= 10000 or value <= -10000 then
  --	return ("%.1fk"):format(value / 1000)
  else
    return math.floor(value+0.5)..''
  end
else

所以又做了一些修正:

if type(value) == "number" then
  if value >= 1000000 or value <= -1000000 then
    return ("%.0f萬"):format(value / 10000)
  elseif value >= 100000 or value <= -100000 then
    return ("%.1f萬"):format(value / 10000)
  elseif value >= 10000 or value <= -100000 then
    return ("%.2f萬"):format(value / 10000)
  --elseif value >= 100000 or value <= -100000 then
  --	return ("%.0fk"):format(value / 1000)
  --elseif value >= 10000 or value <= -10000 then
  --	return ("%.1fk"):format(value / 1000)
  else
    return math.floor(value+0.5)..''
  end
else

其他幾個地方也要加入同等的判斷。

成果:
pitbull4_textfix

Shadowed Unit Frames 修改生命/法力值換算單位

因為有PTT WOW版友問到SUF是否也可以改成萬來換算,
以ShadowedUnitFrames 3.1版為例,
找到一下SUF是在 ShadowedUnitFrames/modules/tags.lua 這個檔案,
一樣用文字編輯器打開它,
在第218~228行有以下兩個函式:

function ShadowUF:FormatLargeNumber(number)
  if( number &lt; 9999 ) then
    return &lt; number
  elseif( number &lt; 999999 ) then
    return string.format("%.1fk", number / 1000)
  elseif( number &lt; 99999999 ) then
    return string.format("%.2fm", number / 1000000)
  end

  return string.format("%dm", number / 1000000)
end

可以改成以下這個樣子:

function ShadowUF:FormatLargeNumber(number)
  if( number &lt; 99999 ) then
    return number
  elseif( number &lt; 999999 ) then
    return string.format("%.1f萬", number / 10000)
  elseif( number &lt; 99999999 ) then
    return string.format("%d萬", number / 10000)
  end

  return string.format("%.2f億", number / 100000000)
end

當數值為不到十萬時顯示完整數值,
十萬至一百以下以萬為單位並顯示一位小數,
一百萬至一億內的值顯示以萬為單位的整數,
而超過一億的值(也就是上面沒列到的條件)則可顯示兩位小數的值並以億為單位,
改完一樣儲存成無BOM的UTF-8格式。

只有一個檔案改起來比PitBull簡單多了,
另外if判斷裡數值的大小要不要改就看你要設定哪個範圍的數值要以你想要的方式顯示。

成果:
suf_fix

PitBull4 修改生命/法力值換算單位

[已有新改法請一同參考PitBull4 數值單位換算再修正]

使用PitBull做為頭像已經有好一陣子了
不過它的血量/法力值如果有加Short、VeryShort等修飾語法
換算單位是用m(百萬)、k(千)這類英美常用的換算單位
而不是像台版內建用是的華人地區常用的萬
之前在PTT WOW版上詢問PitBull生命值的數值設定時曾有人順道問過這個問題
最近突然想到便想改看看

因此翻了一下PitBull的原始碼改看看
所使用的版本是4.0.0 Beta8版
需要更動的程式碼有兩個檔案:
PitBull4_DogTagTexts\libs\LibDogTag-3.0\Categories\TextManip.lua

PitBull4_LuaTexts\ScriptEnv.lua
前者是DogTagTexts後者是LuaTexts
端看你所用來顯示數值的是哪一個模組。
Read More

光畫社新聞Blog文章日期修正

昨天發現到Blog上的文章怎麼順序都不對,
仔細看發現所有的文章日期都變成2010-01-15 02:00:58之後,
幸好文章數還不多,
乾脆直接進資料庫手動改,
文章日期是儲存在plog_articles資料表的date欄位中,
找出舊的資料庫SQL檔進行比對修正就可以了,
修完正畢後資料庫也立即備份。