利用CSS實(shí)現(xiàn)禁止雙擊選擇頁(yè)面內(nèi)容的實(shí)例展示
在雙擊左右箭頭,快速切換圖片滾動(dòng)時(shí),會(huì)選擇附近區(qū)域的文字,感覺(jué)不是很好,今天在同事在分享時(shí),講到了這個(gè)問(wèn)題, 試了一下,不錯(cuò),解決了問(wèn)題。
IE及Chrome下的方法一樣,對(duì)相應(yīng)的元素添加onselectstart=”return false;”但是,這個(gè)在火狐下不起作用,但是火狐下可以用css樣式來(lái)達(dá)到這個(gè)效果,即添加-moz-user-select:none;就可以兼容ie,google,firefox了,即代碼如下所示:
這樣這個(gè)區(qū)域的文字都不能選中了,就也不會(huì)出現(xiàn)在雙擊左右箭頭快速切換圖片滾動(dòng)時(shí)會(huì)選擇附近區(qū)域文字的情況了
如果把
和
{
-moz-user-select: none;
}
添加到body中,就實(shí)現(xiàn)了禁止用戶(hù)選中頁(yè)面上內(nèi)容的效果
css禁止雙擊頁(yè)面選中文本
-ms-user-select 屬性是一個(gè)新的級(jí)聯(lián)樣式表 (CSS) 屬性,它使 Web 開(kāi)發(fā)人員和應(yīng)用開(kāi)發(fā)人員能夠控制用戶(hù)在其網(wǎng)頁(yè)或使用 javascript 的 Windows 應(yīng)用商店應(yīng)用中選擇文本的位置。 本主題介紹如何在你自己的網(wǎng)頁(yè)上實(shí)施 -ms-user-select 屬性。(采用完全相同的方法在使用 javascript 的 Windows 應(yīng)用商店應(yīng)用中實(shí)施 -ms-user-select 屬性。)它包含以下幾部分:
Note user-select 屬性當(dāng)前不是任何萬(wàn)維網(wǎng)聯(lián)合會(huì) (W3C) CSS 規(guī)范的一部分。該屬性最初是在 CSS3 的用戶(hù)界面模塊中提出的,但是該模塊已被不包含 user-select 屬性的 CSS3 基本用戶(hù)界面模塊所取代。其他主要的瀏覽器支持帶有其各自前綴的此屬性版本。這三個(gè)實(shí)現(xiàn)之間存在細(xì)微區(qū)別,因此請(qǐng)確保在不同的瀏覽器中測(cè)試你的應(yīng)用程序。
簡(jiǎn)介
在網(wǎng)頁(yè)上選擇文本的功能在許多用戶(hù)方案中非常重要。請(qǐng)考慮一個(gè)典型的新聞?wù)军c(diǎn)。大多數(shù)頁(yè)面包含新聞文章,由于用戶(hù)希望共享內(nèi)容而想要選擇文章的內(nèi)容。但是,頁(yè)面還可能包含用戶(hù)不需要或不希望選擇的菜單、廣告和指向站點(diǎn)其他部分的鏈接。Internet Explorer 10 中引入對(duì)新 -ms-user-select CSS 屬性的支持以后,你可以指定允許在何處使用文本選擇功能,例如在新聞文章的正文中允許使用,但在菜單中不允許使用。
使用 -ms-user-select
-ms-user-select 屬性具有四個(gè)可能值:
關(guān)鍵字 Description
element 在指定的元素內(nèi)啟動(dòng)選擇時(shí),文本是可選擇的。但是,文本選擇限制在該元素的邊界內(nèi)。
none 在指定的元素內(nèi)啟動(dòng)選擇時(shí),文本不可選擇。但是,在指定的元素之外啟動(dòng)的文本選擇仍可輸入元素。
text 在指定的元素內(nèi)啟動(dòng)選擇時(shí),文本是可選擇的。文本選擇未限制在元素的邊界內(nèi),并且可以越過(guò)其邊界。
auto 這是初始值。如果元素包含可編輯文本,例如 input 元素或其 contenteditable 設(shè)置為 "true" 的元素,則該文本是可選擇的。否則,選擇由父節(jié)點(diǎn)的 -ms-user-select 屬性的值確定。
返回到我們的新聞?wù)军c(diǎn)方案,例如,你可以在整個(gè)頁(yè)面上將 -ms-user-select 設(shè)置為 "none",然后在主文章上將 -ms-user-select 設(shè)置為 "element"。這樣做,則只有文章文本是可選擇的。希望選擇新聞文章的內(nèi)容的人們可能不希望選擇剛剛過(guò)去的文章的頁(yè)腳元素。因此,將 -ms-user-select 設(shè)置為 "element",這樣使得這些用戶(hù)可以只輕松選擇文章的內(nèi)容,但不必?fù)?dān)心光標(biāo)放置位置是否完全正確。對(duì)于通過(guò)觸摸導(dǎo)航的用戶(hù),這一點(diǎn)尤其重要。
你可以通過(guò)將 -ms-user-select 設(shè)置為 "none",在任何頁(yè)面元素內(nèi)關(guān)閉文本選擇。用戶(hù)將無(wú)法在指定的文本塊內(nèi)啟動(dòng)選擇。但是,如果用戶(hù)在頁(yè)面的其他區(qū)域上啟動(dòng)文本選擇,則可以在頁(yè)面的任何區(qū)域內(nèi)繼續(xù)選擇,其中包括將 -ms-user-select 設(shè)置為 "none" 的區(qū)域。
示例實(shí)施
IE Test Drive 具有正在使用的 -ms-user-select 屬性的實(shí)例演示。該演示展示了一個(gè)博客帖子的實(shí)例模型,其中具有幾個(gè)不同的文本內(nèi)容區(qū)域:作為整體的博客 ("#blog"),由博客帖子 ("#blogPost") 和幾條評(píng)論 (".comment") 組成。每個(gè)區(qū)域依次由不同類(lèi)型的文本元素組成,其中包括 input 和 textarea 元素以及其 contenteditable 屬性設(shè)置為 "true" 的元素。
頁(yè)面左側(cè)的彈出菜單具有幾個(gè)選項(xiàng),這些選項(xiàng)用于設(shè)置頁(yè)面元素上的 -ms-user-select。讓我們簡(jiǎn)要地瀏覽一下演示內(nèi)彈出菜單中列出的選項(xiàng)。
正常選擇
此選項(xiàng)指示未在頁(yè)面上的任何元素上設(shè)置 -ms-user-select。用戶(hù)可自由選擇任意所選元素中的文本。
關(guān)閉除可編輯內(nèi)容外的選擇
此選項(xiàng)將博客(作為整體)的 -ms-user-select 設(shè)置為 "none"。這意味著,不可選擇除了可編輯區(qū)域內(nèi)的文本之外的任何內(nèi)容,例如“名稱(chēng)”和“評(píng)論”字段。
CSS
#blog {
-ms-user-select:none;
}在任何位置關(guān)閉選擇
此選項(xiàng)針對(duì)所有元素將 -ms-user-select 設(shè)置為 "none",這次將包含用戶(hù)輸入字段(input 和 textarea 元素),以及contenteditable 設(shè)置為 true 的其他所有元素。這意味著,不可選擇任何內(nèi)容,包括可編輯區(qū)域中的文本。
CSS
#blog, #blog input, #blog textarea, #blog *[contenteditable=true] {
-ms-user-select:none;
}
僅選擇博客帖子內(nèi)容
此選項(xiàng)針對(duì)其 ID 為 "blogPost" 的元素,將 -ms-user-select 設(shè)置為 "element",同時(shí)將博客作為整體,將 -ms-user-select 設(shè)置為 "none"。 這意味著,只能選擇博客帖子文本。
CSS
-ms-user-select:element;
}
blog {
-ms-user-select:none;
}
僅選擇評(píng)論
此選項(xiàng)針對(duì)其類(lèi)為 "comment" 的所有元素,將 -ms-user-select 設(shè)置為 "element",同時(shí)將博客作為整體,將 -ms-user-select 設(shè)置為 "none"。 這意味著,只能選擇評(píng)論文本。
CSS
-ms-user-select:element;
}
#blog {
-ms-user-select:none;
}
.
在博客帖子或評(píng)論中啟動(dòng)選擇,但可以擴(kuò)展
此選項(xiàng)針對(duì)其 ID 為 "blogPost" 或其類(lèi)為 "comment" 的所有元素,將 -ms-user-select 設(shè)置為 "text",同時(shí)將博客作為整體,將 -ms-user-select 設(shè)置為 "none"。這意味著,僅在博客帖子或評(píng)論中啟動(dòng)文本選擇,但選擇可擴(kuò)展到任意這些區(qū)域之外。但是,文本選擇無(wú)法在博客帖子或評(píng)論之外啟動(dòng)。
CSS
-ms-user-select:text;
}
#blog {
-ms-user-select:none;
}
其他瀏覽器中的支持
編寫(xiě)本文時(shí),Mozilla 和 WebKit 均支持帶有其各自前綴的 user-select 屬性版本。但是,在其實(shí)施中存在某些不同之處。
本文地址:http://likemindfilms.com/tutorial/wd2416.html
您可能還喜歡
- jquery Jcrop圖像裁切插件中文api文檔
- @media適配不同尺寸的手機(jī)
- 返回上一頁(yè)代碼的幾種寫(xiě)法
- Dreamweaver CC 2014新功能介紹
- 深入了解viewport和px
- 優(yōu)秀CSS代碼書(shū)寫(xiě)的10個(gè)規(guī)范
- 畫(huà)出你的風(fēng)格:HTML5創(chuàng)意畫(huà)板的設(shè)計(jì)教程
- Div中height:100%無(wú)效的解決辦法
- 網(wǎng)頁(yè)前端-網(wǎng)頁(yè)切圖命名規(guī)范
- 為網(wǎng)頁(yè)設(shè)計(jì)師而生的14個(gè)文本編輯器
- 專(zhuān)訪(fǎng):石墨文檔產(chǎn)品總監(jiān)羅穎
- UI設(shè)計(jì)不得不知的移動(dòng)端UI尺寸適
- 光音移動(dòng)設(shè)計(jì)規(guī)范 — 表單類(lèi)
- 體驗(yàn)設(shè)計(jì)中的排序問(wèn)題
- 網(wǎng)頁(yè)設(shè)計(jì)精粹 網(wǎng)頁(yè)中那些迷人的按
- aliued:響應(yīng)式設(shè)計(jì)的現(xiàn)狀與趨勢(shì)
- 10個(gè)智能對(duì)象處理的ps技巧
- 網(wǎng)頁(yè)UI - 原子設(shè)計(jì)理論(上)
- 如何通過(guò)設(shè)計(jì)提升banner點(diǎn)擊率?
- 晉小彥視覺(jué)設(shè)計(jì)系列文章(二):全屏