1. 程式人生 > >CSS user-select 屬性

CSS user-select 屬性

user-select:none | text | all | element

預設值:text

適用於:除替換元素外的所有元素

繼承性:無

動畫性:否

計算值:指定值

取值:

none:

文字不能被選擇

text:

可以選擇文字

all:

當所有內容作為一個整體時可以被選擇。如果雙擊或者在上下文上點選子元素,那麼被選擇的部分將是以該子元素向上回溯的最高祖先元素。

element:

可以選擇文字,但選擇範圍受元素邊界的約束

說明:

設定或檢索是否允許使用者選中文字。

  • IE6-9不支援該屬性,但支援使用標籤屬性 onselectstart="return false;"
     來達到 user-select:none 的效果;Safari和Chrome也支援該標籤屬性;
  • 直到Opera12.5仍然不支援該屬性,但和IE6-9一樣,也支援使用私有的標籤屬性 unselectable="on" 來達到 user-select:none 的效果;unselectable 的另一個值是 off;
  • 除Chrome和Safari外,在其它瀏覽器中,如果將文字設定為 -ms-user-select:none;,則使用者將無法在該文字塊中開始選擇文字。不過,如果使用者在頁面的其他區域開始選擇文字,則使用者仍然可以繼續選擇將文字設定為 -ms-user-select:none;
     的區域文字;
  • 對應的指令碼特性為userSelect

-webkit-user-select:none 【-webkit 字首 webkit 核心;主要代表為chrome和safari】

-moz-user-select:none  【-moz 字首 是 Gecko 核心;主要代表為Firefox】

-o-user-select:none  【-o 字首 presto 核心;主要代表Opera】

-ms-user-select:none 【-ms 字首 Trident 核心;主要代表IE瀏覽器】

-khtml-user-select :none 【-khtml 字首 KHTML核心;】

備註:

KHTML擁有速度快捷的優點,但是對語法的內容要求則比Mozilla產品所使用的Gecko引擎更加嚴格。

蘋果電腦於2002年採納了KHTML,作為開發Safari瀏覽器之用,併發布所修改的最新及歷史版本原始碼。後來發表了開放原始碼WebCoreWebKit引擎,它們均是KHTML的衍生產品,在開發網站列出引擎改變內容,並會傳回至KDE計劃。由於兩個衍生產品各走不同路線,使兩者原始碼差異較大,結果難以與KDE交換更新。其中一個原因,是蘋果在對外公開原始碼之前,以一年時間編修他們的KHTML。另外,蘋果傳送更新至KDE計劃的方式,多是一口氣把大量改動一起傳送,KDE在整理資料也出現一定的困難,及後蘋果表示會以CVS格式來傳送。再者,蘋果所作出的改動包括Mac OS X系統的特有功能,如Objective-C、KWQ等,在Linux及KHTML是沒有的。但KDE方面仍透過這些改動,為KHTML加入新功能並且加快其排版速度。