Partial URLs are interpreted relative to the source of the style sheet

6.4 URL

A Uniform Resource Locator (URL) is identified with a functional notation:

BODY { background: url(http://www.bg.com/pinkish.gif) }
The format of a URL value is ‘url(‘ followed by optional white space followed by an optional single quote (‘) or double quote (“) character followed by the URL itself (as defined in [11]) followed by an optional single quote (‘) or double quote (“) character followed by optional whitespace followed by ‘)’. Quote characters that are not part of the URL itself must be balanced.

Parentheses, commas, whitespace characters, single quotes (‘) and double quotes (“) appearing in a URL must be escaped with a backslash: ‘\(‘, ‘\)’, ‘\,’.

Partial URLs are interpreted relative to the source of the style sheet, not relative to the document:

BODY { background: url(yellow) }

廣告

Hooks – 擴充核心

Hooks – 擴充核心

CodeIgniter的Hooks機制提供了一個方法來進入並改變框架的內部作業而不用修改核心檔案。當CodeIgniter執行時,它會遵循在程式流程圖頁面中圖示的流程。不過在一些實例中,你也許會想要在流程的特定的階段執行特定的動作。例如,你可能會想要在你的控制器(controller)載入前後執行一些程式,或是在其他位置觸發你自己的程式。

啟動Hooks

Hooks機制可以透過下列 application/config/config.php 檔案中的設定項目來啟動:

$config['enable_hooks'] = TRUE;

定義一個Hook

Hooks定義在 application/config/hooks.php 檔案中。每一個hook都用下面陣列的方式來指定:

$hook['pre_controller'] = array(
'class'    => 'MyClass',
'function' => 'Myfunction',
'filename' => 'Myclass.php',
'filepath' => 'hooks',
'params'   => array('beer','wine','snacks')
);

注意:
陣列索引的名稱與你要使用的特定的hook插入點相對應。在上例中,hook插入點是 pre_controller 。本頁底下可以找到一個hook插入點的清單。另外,以下的項目必須在hook的關係陣列中定義好:

  • class  你想要執行的類別名稱。如果你想要使用一個函數而不是類別,就保持空白。
  • function  你要呼叫的函數名稱。
  • filename  你的類別/函數所在的檔案名稱。
  • filepath  包含你程式的目錄名稱。注意:程式必須在你的 application 目錄內,所以這個目錄名稱是相對於 application 的路徑。例如,如果你的程式放在 application/hooks ,那你只要用 hooks 當作filepath。如果你的程式放在 application/hooks/utilities ,那你要用hooks/utilities 作為filepath。路徑最後不用加斜線。
  • params  任何你希望傳遞給程式的參數,這是非必須的選項。

在同一的Hook中多次呼叫

如果要在一個hook插入多個程式,只要把陣列宣告成多維的就可以。像這樣:

$hook['pre_controller'][] = array(
'class'    => 'MyClass',
'function' => 'Myfunction',
'filename' => 'Myclass.php',
'filepath' => 'hooks',
'params'   => array('beer','wine','snacks')
);

$hook['pre_controller'][] = array(
'class'    => 'MyOtherClass',
'function' => 'MyOtherfunction',
'filename' => 'Myotherclass.php',
'filepath' => 'hooks',
'params'   => array('red','yellow','blue')
);

注意要在陣列索引後加上中括號:

$hook['pre_controller'][]

這樣就可以讓你在一個hook中插入多個程式。程式執行的順序就是你在陣列中定義的順序。

Hook插入點

以下是可用的hook插入點清單:

  • pre_system
    在系統執行的初期執行。這時只有benchmark及hook類別被載入。路由或其他程序都還沒執行。
  • pre_controller
    在所有的控制器(controller)呼叫之前執行。此時所有的基礎類別、路由、安全檢查都已經完成。
  • post_controller_constructor
    在控制器(controller)實例化之後但是任何方法都還未呼叫之前立刻執行。
  • post_controller
    在控制器(controller)執行完畢之後立刻執行。
  • display_override
    覆蓋用來在系統執行完畢後向瀏覽器送出完成的頁面的 _display() 函數。這樣就允許你用你自己定義的顯示方法。注意,你必須用 $this->CI =& get_instance() 取得CI參考物件然後才可透過呼叫 $this->CI->output->get_output() 來使用完成的頁面資料。
  • cache_override
    讓你可以呼叫自己定義的函數而非output類別中的 _display_cache() 函數。這讓你可以使用自己的cache顯示機制。
  • post_system
    在完成的頁面送到瀏覽器之後呼叫。在系統執行結束時,完成的資料已送到瀏覽器之後執行。

Style a Select Box Using Only CSS

From: http://bavotasan.com/2011/style-select-box-using-only-css/

<div class="styled-select">
<select>
<option>Here is the first option</option>
<option>The second option</option>
</select>
</div>

.styled-select select {
background: transparent;
width: 268px;
padding: 5px;
font-size: 16px;
line-height: 1;
border: 0;
border-radius: 0;
height: 34px;
-webkit-appearance: none;
}

div 包在 select 標籤外

Here’s a quick way to style an input button

From: http://www.red-team-design.com/style-an-input-button

Here’s a quick way to style an input button
October 23, 2009 by Catalin Rosu – 12 comments
I assume there was at least one time when you wanted to add more appeal to a html input and at that moment you didn’t knew how.
We all know how boring looks an input when we use it without styling it and that’s why today I will show you the way to get rid of this old-style input.

For the beginning here is how a non-styled input looks like:

When styling and input button, we have two alternatives, to style it using only CSS with pout a background image, or using a custom background image.
1.USE ONLY CSS WITHOUT BACKGROUND IMAGE
First add a class or an id to your button. For this tutorial we will add an id because we do not intend to use this kind of button several times into a page:

Now let’s add some styles for the id:

#btn
{
border: 1px solid #777777;
background: #6e9e2d;
color: white;
font: bold 11px ‘Trebuchet MS’;
padding: 4px;
cursor: pointer;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
}
The final result looks like this:

 

Please note that border-radius actually is working only on Mozilla/Firefox, Google Chrome and Safari 3.

2.USE A CUSTOM BACKGROUND IMAGE
Start by creating a new .psd file with 78x28px size. From the left panel choose “Rounded Rectangle Tool” (ALT+U for Windows Users) and set a 4px radius.Fill it with #6e9e2d (green) color and apply some effects.

This is my result and also this is the Photoshop source file (please use it as you wish).

Download Photoshop FREE source file

 

Now, back to our code ….this image is 78x28px and we will use it as background image for our input.Here you have the new css code for it.
Note that this time you don’t need to use the value attribute anymore.

#btn
{
background: url(test-button-2.png);
cursor: pointer;
width: 78px;
height: 28px;
display: block;
border: none;
}
That’s it, i hope you’ll find it useful!

一次刪除 excel 裏所有的文字方塊包含文字藝術師

轉貼:http://tw.myblog.yahoo.com/jw!3QH6dXaFGRvLjngfyDp82rOE/article?mid=176

要刪除 EXCEL 工作表裹的文字方塊(數量很多時,又不知在那),
可依下列方式一次通通刪除:

1. 打開 EXCEL 檔,選好要刪除文字方塊的那個工作表。

2. 按 F5,出現一個視窗,按左下的 特殊 按鈕。

3. 又出一現個 特殊目標 的視窗,然後選擇 物件 ,就會將所有的 文字方塊 都選起來了。

4. 按 刪除 就全部將文字方塊 都刪除掉了。

Windows Exchange 郵箱轉寄設定

轉貼:http://zerofourzero.pixnet.net/blog/post/1607294-%5Bwindows%E7%AD%86%E8%A8%98%5D%E5%A6%82%E4%BD%95%E8%BD%89%E8%A8%98%E5%A4%96%E9%83%A8%E4%BF%A1%E7%AE%B1

環境:Windows 2003 AD、Exchange 2003
事由:將公司某信箱轉寄給外部信箱或者希望用公司群組信箱就可順便寄給外部相關廠商等。
做法:

A:先新增一連絡人
1.在AD上新增一『連絡人』
2.第一個畫面:輸入使用者相關資料,完成後按『下一步』。
3.第二個畫面:因為這是要建立轉寄外部信箱帳號所以『建立Exchange電子郵件地址』這個選項一定得打勾,下面的三個選項只有『電子郵件』這個選項需要輸入,按旁邊的『修改』按鈕進入下一畫面。
4.第三個畫面:選擇電子郵件地址類型,基本上這邊應該是選擇『SMTP地址』,選定後按『確定』。
5.第四個畫面:『電子郵件地址』輸入外部信箱,例如:abc@gmail.com,輸入完成後按『確定』。
6.回到步驟3的第二個畫面,檢查資料是否輸入正確,好了之後按『下一步』進入下一畫面,再按一次『確定』,就完成連絡人的新增。

B:轉寄外部信箱
1.選擇要轉寄的信箱,點兩下或者滑鼠左鍵『內容』進入。
2.選擇『Exchange一般』頁籤。
3.選擇『傳遞選項』。
4.點選中間『轉寄地址』中的『轉寄至』。
5.點選『轉寄至』旁的『修改』按鈕。
6.會出現『選取收件者』視窗,輸入A步驟所新增的連絡人,選完後按『確定』。
7.回到第5步驟畫面,按『確定』。
8.回到第3步驟畫面,按『確定』,即完設定。
9.寄發測試信看是否能正常轉寄。

C:利用群組信箱轉寄給外部信箱
1.建立一新群組信箱或者點選已存在之群組信箱。
2.點選『成員』頁籤。
3.在『成員』頁籤中點選『新增』。
4.會出現『選擇使用者、連絡人或電腦』視窗,點選『物件類型』。
5.將『連絡人』打勾後,按『確定』。
6.在『輸入物件名稱來選取』輸入,輸入A步驟所新增的連絡人,選完後按『確定』。
7.回到第2步驟畫面,按『確定』,即完設定。
8.寄發測試信看是否能正常轉寄。

注意事項:
1.步驟B可以轉寄內外部信箱,內部是選取AD內的使用者帳號,外部則是A步驟所新增的選擇連絡人。
2.在步驟B『轉寄地址』設定中有一個勾選盒『將郵件同時傳遞到轉寄地址和信箱』,打勾的話就此帳號及轉寄的外部帳號兩個都收的到同一封信,若是不勾的話就只有轉寄外部的帳號會收到信件而已,所以可以依照自己的需求來選擇勾或不勾。
3.步驟B在選擇目標時,『物件類型』自動會把連絡人歸納到『其他物件』,所以可以不用去修改『物件類型』裡的設定,就可以找到連絡人。但在步驟C時『物件類型』內的選項分成四種,連絡人並沒有歸在『其他物件』,所以必須要修改『物件類型』把『連絡人』打勾,才會找的到連絡人。