摘要:不允許負值用百分比來定義縮放比例。解決這個很簡單,在父元素中使用即可解決該。列寬度由單元格內容設定。定義僅有大寫字母。不過,要讓任何元素生效還得借助于一點點。
css/css3常用樣式 CSS修改選中文字的顏色
html代碼:
第一段文字選中效果
第二段文字選中效果
css代碼:
.p1::selection{background:red;color:#fff;} .p2::selection{background: black;color:red;}
選中文字后的效果如圖所示:
單行顯示語法:white-space:nowrap;
讓一段文字在固定寬度在一行顯示,最后一個字符為省略標記(...),css樣式如下
div{ white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
多行文本最后省略號:
div{ display: -webkit-box; -webkit-line-clamp:2; overflow: hidden; -webkit-box-orient: vertical; text-overflow: ellipsis; }
這里用到了文本溢出顯示省略號的,即設置溢出文本顯示為省略標記:
語法:text-overflow:text-overflow:clip | ellipsis | ellipsis-word(css3新增加的);
clip:表示直接裁切溢出的文本;
ellipsis:表示文本溢出時,顯示省略標記(...),省略標記代替最后一個字符;
ellipsis-word:表示文本溢出時,也是顯示省略標記(...),不同的是,省略標記代替的是最后一個詞)
zoom:1的原理和作用語法:zoom:normal |
取值:
normal:使用對象的實際尺寸。
兼容性:
例子:
zoom_CSS參考手冊_web前端開發參考手冊系列 zoom:normal
zoom:normalzoom:5
zoom:5zoom:300%
zoom:300%
谷歌與IE瀏覽器結果如圖所示(Firefox不支持):
參考地址:http://www.css88.com/book/css/properties/user-interface/zoom.htm
Zoom屬性是IE瀏覽器的專有屬性, 它可以設置或檢索對象的縮放比例。
在平常的css編寫過程中,zoom:1能夠比較神奇地解決ie下比較奇葩的bug。
譬如外邊距(margin)的重疊,譬如浮動的清除,譬如觸發ie的 haslayout屬性等等。
(重點)當設置了zoom的值之后,所設置的元素就會擴大或者縮小,高度寬度就會重新計算了,這里一旦改變zoom值時其實也會發生重新渲染,運用這個原理,也就解決了ie下子元素浮動時候父元素不隨著自動擴大的問題。
ie下子元素浮動時候父元素不隨著自動擴大的問題,使用下面的CSS寫法:
.父元素 { overflow: auto; zoom: 1 }css ie6、ie7中overflow:hidden無效解決辦法
產生原因:
當父元素的直接子元素或者下級子元素的樣式擁有position:relative 屬性時,父元素的overflow:hidden 屬性就會失效。
解決辦法:
我們在IE 6、7 內發現子元素會超出父元素設定的高度,即使父元素設置了overflow:hidden。
解決這個bug很簡單,在父元素中使用 *position:relative; 即可解決該bug。
...
表格位置,置左...
表格位置,置中...
背景圖片的URL=就是路徑網址...
設定表格邊框大小(使用數字)...
設定表格的背景顏色...
設定表格邊框的顏色...
設定表格暗邊框的顏色...
設定表格亮邊框的顏色...
指定內容與格線之間的間距(使用數字)...
指定格線與格線之間的距離(使用數字)...
指定表格的欄數...
設定表格外框線的顯示方式...
指定表格的寬度大小(使用數字)...
指定表格的高度大小(使用數字)
table{table-layout:fixed;}
語法:table-layout:automatic | fixed | inherit
automatic:默認。列寬度由單元格內容設定。
fixed:列寬由表格寬度和列寬度設定。
inherit:規定應該從父元素繼承 table-layout 屬性的值。
合并表格邊框border-collapse:collapsetable{border-collapse:collapse;}
語法:border-collapse:separate | collapse | inherit
separate:默認值。邊框會被分開。不會忽略 border-spacing 和 empty-cells 屬性。
collapse:如果可能,邊框會合并為一個單一的邊框。會忽略 border-spacing 和 empty-cells 屬性。
inherit:規定應該從父元素繼承 border-collapse 屬性的值。
例如:
table{border-collapse:collapse;} table, td, th{border:1px solid black;}CSS text-transform控制文本的大小寫
描述:text-transform 屬性控制文本的大小寫。
語法:text-transform:none | capitalize | uppercase | lowercase | inherit
none 默認。定義帶有小寫字母和大寫字母的標準的文本。
capitalize 文本中的每個單詞以大寫字母開頭。
uppercase 定義僅有大寫字母。
lowercase 定義無大寫字母,僅有小寫字母。
inherit 規定應該從父元素繼承 text-transform 屬性的值。
text-stroke[ text-stroke-width ]:設置或檢索對象中的文字的描邊厚度
[ text-stroke-color ]:設置或檢索對象中的文字的描邊顏色
text-stroke(文本描邊)和text-fill-color(文本填充色)注意點:
目前這兩個屬性只有webkit內核的Safari和Chrome支持,例如:
.box{-webkit-text-stroke: 3.3px #2A75BF;}
text-fill-color:顏色值,和color屬性差不多都是文字的樣式;
注意:同時使用text-fill-color和color屬性,text-fill-color將覆蓋color屬性的顏色值;
text-fill-color可以使用透明值,即:text-fill-color:transparent
text-shadow.box{text-shadow:0px 0px 0px #333333;}
屬性值依次:水平方向位移(支持負值)、垂直方向位移(支持負值)、模糊半徑、陰影顏色
text-shadow對同一個text,可設置多個陰影,與box-shadow類似,使用逗號","分割,前一個設置效果在后一個設置效果之上。
box-shadow 參考:http://www.cnblogs.com/lhb25/...
為了兼容各主流瀏覽器并支持這些主流瀏覽器的較低版本,在基于Webkit的Chrome和Safari等瀏覽器上使用box-shadow屬性時,我們需要將屬性的名稱寫成-webkit-box-shadow的形式。Firefox瀏覽器則需要寫成-moz-box-shadow的形式。全面的寫法:
.box-shadow-6{ box-shadow:-10px 0 10px red, /*左邊陰影*/ 10px 0 10px yellow, /*右邊陰影*/ 0 -10px 10px blue, /*頂部陰影*/ 0 10px 10px green; /*底邊陰影*/ }
參考地址:http://blog.csdn.net/freshlov...
letter-spacing字符間距letter-spacing 屬性增加或減少字符間的空白(字符間距)。
例如: letter-spacing: 2px;
css中透明度兼容代碼
div{filter: alpha(opacity=80);opacity:0.8;}根據input的type來控制css樣式
1.用css中的type選擇器
input[type="text"]{ background-color:#FFC;}
2.用css的expression判斷表達式
input{ background-color:expression(this.type=="text"?"#FFC":"");}
3.用javascript腳本實現(覺得沒必要,省略...)
css3設置字體@font-face{ font-family: myFirstFont; src: url("Sansation_Light.ttf"), url("Sansation_Light.eot"); /* IE9+ */ } div{ font-family:myFirstFont; }網頁字體設置
font-family:"YourWebFontName"; src:url("YourWebFontName.eot"); /* IE9 Compat Modes */ src:url("YourWebFontName.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */ url("YourWebFontName.woff") format("woff"), /* Modern Browsers */ url("YourWebFontName.ttf") format("truetype"), /* Safari, Android, iOS */ url("YourWebFontName.svg#YourWebFontName") format("svg"); /* Legacy iOS */}
參考地址:《css學習筆記 - 網頁中導入特殊字體@font-face屬性詳解》
css強制性換行div{ word-break:break-all; /*支持IE,chrome,FF不支持*/ word-wrap:break-word;/*支持IE,chrome,FF*/ }CSS :first-child 選擇器,:last-child選擇器,nth-child(IE7,8無效,不識別)
:nth-child(2)選取第幾個標簽,“2可以是你想要的數字”
:nth-child(2n)選取偶數標簽,2n也可以是even
:nth-child(2n-1)選取奇數標簽,2n-1可以是odd
:nth-child(3n+1)自定義選取標簽,3n+1表示“隔二取一”
background:-webkit-linear-gradient(top,#FFF,#cb1919); background:-o-linear-gradient(top,#FFF,#cb1919); background:-ms-linear-gradient(top,#FFF,#cb1919); background:-moz-linear-gradient(top,#FFF,#cb1919); background:linear-gradient(top,#FFF,#cb1919);
第一個參數:設置漸變的起始位置
第二個參數:設置起始位置的顏色
第三個參數:設置終止位置的顏色
IE 瀏覽器
IE瀏覽器實現漸變只能使用IE自己的濾鏡去實現
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffff,endColorstr=#9fffff,grandientType=1);
第一個參數:漸變起始位置的顏色
第二個參數:漸變終止位置的顏色
第三個參數:漸變的類型
0 代表豎向漸變 1 代表橫向漸變
其中RGB顏色的原理是通過定義不同的紅綠藍色值來組成一個顏色。color:rgb(254,2,8);
其中HSL是通過色相、飽和度、亮度模式來申明顏色的。color:hsl(359,99%,40%);
如果需要設置透明背景 則可以用到他們:
background-color:hsla(0,0%,100%,0.8); background-color:rgba(255,255,255,0.8);
不使用opacity的原因是:opacity使里面的元素也透明了,而上面的不會。
background-color:rgba(0,0,0,0.5),此寫法解決opacity帶來的元素也透明問題,但IE8低版本瀏覽器不支持。
em,u{font-style: normal;}媒體查詢功能
一般寫法:
@media screen and (max-width: 960px){ body{ background: #000; } }
應該有人會發現上面這段代碼里面有個screen,他的意思是在告知設備在打印頁面時使用襯線字體,在屏幕上顯示時用無襯線字體。但是目前我發現很多網站都會直接省略screen,因為你的網站可能不需要考慮用戶去打印時,你可以直接這樣寫:
@media (max-width: 960px){ body{ background: #000; } }
其中css2的媒體查詢:
我們想知道移動設備是不是縱向放置的顯示屏,可以這樣寫:
我們把第一段的代碼也用CSS2來實現,讓它一樣可以讓頁面寬度小于960的執行指定的樣式文件:
但是上面這個方法,最大的弊端是他會增加頁面http的請求次數,增加了頁面負擔,我們用CSS3把樣式都寫在一個文件里面才是最佳的方法。
下面的寫法是實現尺寸等于480px:
@media (max-device-height:480px) and (-webkit-min-device-pixel-ratio:2){ /*自己添加的樣式*/ }
其中對于-webkit-min-device-pixel-ratio作如下解釋:
-webkit-min-device-pixel-ratio為1.0
所有非Retina的Mac
所有非Retina的iOS設備
Acer Iconia A500
Samsung Galaxy Tab 10.1
Samsung Galaxy S
-webkit-min-device-pixel-ratio為1.3
Google Nexus 7
-webkit-min-device-pixel-ratio為1.5
Google Nexus S
Samsung Galaxy S II
HTC Desire
HTC Desire HD
HTC Incredible S
HTC Velocity
HTC Sensation
-webkit-min-device-pixel-ratio為2.0
iPhone 4
iPhone 4S
iPhone 5
iPad (3rd generation)
iPad 4
所有Retina displays 的MAC
Google Galaxy Nexus
Google Nexus 4
Google Nexus 10
Samsung Galaxy S III
Samsung Galaxy Note II
Sony Xperia S
HTC One X
樣式實現三角形div{ position:absolute; left:50%; bottom:0; margin-left:-10px; width:0; height:0; border-width:10px; border-style:solid dashed dashed dashed; border-color:transparent transparent #71151c transparent; }css3水平垂直居中
div{ display: box; display: -webkit-box; display: -moz-box; -webkit-box-pack:center; -moz-box-pack:center; -webkit-box-align:center; -moz-box-align:center; }css3屬性 -webkit-filter(改變模糊度 亮度 透明度等方法)
-webkit-filter是css3的一個屬性,Webkit率先支持了這幾個功能,感覺效果很不錯。下面咱們就學習一下filter這個屬性吧。
現在規范中支持的效果有:
grayscale 灰度 值為0-1之間的小數
sepia 褐色 值為0-1之間的小數
saturate 飽和度 值為num
hue-rotate 色相旋轉 值為angle
invert 反色 值為0-1之間的小數
opacity 透明度 值為0-1之間的小數
brightness 亮度 值為0-1之間的小數
contrast 對比度 值為num
blur 模糊 值為length
drop-shadow 陰影
用法是標準的CSS寫法,如:
-webkit-filter: blur(2px);
使用方法:(配合動畫使用)
.jaguar-con-show img.jaguar-con-imglast{ -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .jaguar-con-show img.jaguar-con-imglast{ -webkit-filter: blur(3px) brightness(.6); -moz-filter: blur(3px) brightness(.6); -o-filter: blur(3px) brightness(.6); -ms-filter: blur(3px) brightness(.6); filter: blur(3px) brightness(.5); -webkit-transform:scale(1.1,1.1); -moz-transform:scale(1.1,1.1); /*border: 3px solid #000;*/ }CSS pointer-events
pointer-events原本來源于SVG,目前在很多瀏覽器中已經得到體現。不過,要讓任何HTML元素生效還得借助于一點點css。該屬性稱之為pointer-events,基本上可以將它設置為auto,這是正常的行為,而“none”是一個有趣的屬性。
如果你已經設置一個元素的css屬性為pointer-events: none。它將不會捕獲任何click事件,而是讓事件穿過該元素到達下面的元素.
Firefox 3.6+和chrome 2.0+ 以及safari 4.0+都支持這個CSS3屬性,IE6/7/8/9都不支持,Opera在SVG中支持該屬性但是HTML中不支持。
禁止button按鈕的點擊與禁止a標簽的跳轉pointer-events:none禁止掉鼠標事件(css3屬性)
禁止button按鈕的點擊:
button禁止點擊的樣式:
button{cursor: not-allowed;}
所以button用到了disabled="disabled"與樣式cursor: not-allowed
禁止a標簽的跳轉行為:
鏈接 禁用鏈接
樣式:
a{pointer-events: none;cursor:not-allowed}
參考地址:http://www.runoob.com/try/try.php?filename=bootstrap3-button-disabledstate
但是用到鍵盤tab鍵的時候出現a標簽可以跳轉,實現鍵盤tab也禁止a標簽跳轉 參考地:
http://www.zhangxinxu.com/wordpress/2011/12/css3-pointer-events-none-javascript/
首字母大寫:text-transform:capitalize
全部大寫:text-transform:uppercase
全部小寫:text-transform:lowercasecase
this is a test!!! 首字母大寫html title屬性內容換行方法全部大寫 全部小寫
a.直接填寫title內容時候“回車鍵”換行
b.使用html title換行代碼
使用代碼換行共兩種代碼,均可實現html標簽內title內容顯示時換行。
換行代碼符合分別為:
“
”和“
”
“
”拼寫:&(and符號,鍵盤數字鍵7一起&)+ #(井號)+ 10(阿拉伯數字十)+ ;(小寫分號)
“
”拼寫:&(and符號,鍵盤數字鍵7一起&)+ #(井號)+ 13(阿拉伯數字十三)+ ;(小寫分號)
以上符合數字輸入均必須英文半角模式輸入。使用時候,在需要換行地方任選一種(組)換行符號代碼即可。
例如:
那么解決辦法:給文字區外面的div設最大高度100%。
HTML5:input file控件限制上傳文件類型input file控件限制上傳文件類型
文件類型中間用,分開
html和htm這樣的要寫成兩個
如果限制上傳文件為圖片類型,如下:
去掉input聚焦,點擊a標簽,出現的外虛線框
input:focus{outline: none;}CSS3 vw讓overflow:auto頁面滾動條出現時不跳動
傳統的實現方式:
body { overflow-y: scroll; }
css3實現方式:
.wrap-outer { margin-left: calc(100vw - 100%); }
或者:
.wrap-outer { padding-left: calc(100vw - 100%); }
首先,.wrap-outer指的是居中定寬主體的父級,如果沒有,創建一個(使用主體也是可以實現類似效果,不過本著寬度分離原則,不推薦);
然后,calc是CSS3中的計算,IE10+瀏覽器支持,IE9瀏覽器基本支持(不能用在background-position上);
最后,100vw相對于瀏覽器的window.innerWidth,是瀏覽器的內部寬度,注意,滾動條寬度也計算在內!而100%是可用寬度,是不含滾動條的寬度。
于是,calc(100vw - 100%)就是瀏覽器滾動條的寬度大小(如果有,如果沒有滾動條則是0)!左右都有一個滾動條寬度(或都是0)被占用,主體內容就可以永遠居中瀏覽器啦,從而沒有任何跳動!
參考地址:http://www.zhangxinxu.com/wor...
***以下內容將主要是在移動端使用的多***
meta相關知識 H5頁面窗口自動調整到設備寬度,并禁止用戶縮放頁面忽略將頁面中的數字識別為電話號碼
忽略Android平臺中對郵箱地址的識別
當網站添加到主屏幕快速啟動方式,可隱藏地址欄,僅針對ios的safari
將網站添加到主屏幕快速啟動方式,僅針對ios的safari頂端狀態條的樣式
移動端viewport模板
viewport通用
viewport模板 - target-densitydpi=device-dpi,android 2.3.5以下版本不支持
自己做移動端活動的時候常如下方式:
移動端問題總結 移動端如何定義字體font-familyviewport通用
中文字體使用系統默認即可,英文用Helvetica,為什么呢,首先先看一下各平臺的主流字體支持情況(來源網絡,沒有驗證)!!!
各系統的默認字體和常用字體:
(表格稍后補上)
需要詳細相關信息,可查看《兼容PC手機端字體》文章
結論
各個手機系統有自己的默認字體,且都不支持微軟雅黑
如無特殊需求,手機端無需定義中文字體,使用系統默認
英文字體和數字字體可使用 Helvetica ,三種系統都支持
代碼:
/* 移動端定義字體的代碼 */ body{font-family:Helvetica;}移動端touch事件(區分webkit 和 winphone)
當用戶手指放在移動設備在屏幕上滑動會觸發的touch事件
以下支持webkit
touchstart——當手指觸碰屏幕時候發生。不管當前有多少只手指
touchmove——當手指在屏幕上滑動時連續觸發。通常我們再滑屏頁面,會調用event的preventDefault()可以阻止默認情況的發生:阻止頁面滾動
touchend——當手指離開屏幕時觸發
touchcancel——系統停止跟蹤觸摸時候會觸發。例如在觸摸過程中突然頁面alert()一個提示框,此時會觸發該事件,這個事件比較少用
TouchEvent
touches:屏幕上所有手指的信息
targetTouches:手指在目標區域的手指信息
changedTouches:最近一次觸發該事件的手指信息
touchend時,touches與targetTouches信息會被刪除,changedTouches保存的最后一次的信息,最好用于計算手指信息
參數信息(changedTouches[0])
clientX、clientY在顯示區的坐標
target:當前元素
以下支持winphone 8
MSPointerDown——當手指觸碰屏幕時候發生。不管當前有多少只手指
MSPointerMove——當手指在屏幕上滑動時連續觸發。通常我們再滑屏頁面,會調用css的html{-ms-touch-action:
none;}可以阻止默認情況的發生:阻止頁面滾動
MSPointerUp——當手指離開屏幕時觸發
移動端click事件有300 ms的延遲響應問題歷史原因:
2007年蘋果發布首款iphone上IOS系統搭載的safari為了將適用于PC端上大屏幕的網頁能比較好的展示在手機端上,使用了雙擊縮放(double tap to zoom)的方案,比如你在手機上用瀏覽器打開一個PC上的網頁,你可能在看到頁面內容雖然可以撐滿整個屏幕,但是字體、圖片都很小看不清,此時可以快速雙擊屏幕上的某一部分,你就能看清該部分放大后的內容,再次雙擊后能回到原始狀態。
雙擊縮放是指用手指在屏幕上快速點擊兩次,iOS 自帶的 Safari 瀏覽器會將網頁縮放至原始比例。
原因就出在瀏覽器需要如何判斷快速點擊上,當用戶在屏幕上單擊某一個元素時候,例如跳轉鏈接,此處瀏覽器會先捕獲該次單擊,但瀏覽器不能決定用戶是單純要點擊鏈接還是要雙擊該部分區域進行縮放操作,所以,捕獲第一次單擊后,瀏覽器會先Hold一段時間t,如果在t時間區間里用戶未進行下一次點擊,則瀏覽器會做單擊跳轉鏈接的處理,如果t時間里用戶進行了第二次單擊操作,則瀏覽器會禁止跳轉,轉而進行對該部分區域頁面的縮放操作。那么這個時間區間t有多少呢?在IOS safari下,大概為300毫秒。這就是延遲的由來。造成的后果用戶純粹單擊頁面,頁面需要過一段時間才響應,給用戶慢體驗感覺,對于web開發者來說是,頁面js捕獲click事件的回調函數處理,需要300ms后才生效,也就間接導致影響其他業務邏輯的處理。
解決方案:
fastclick可以解決在手機上點擊事件的300ms延遲,地址:https://github.com/ftlabs/fas...
zepto的touch模塊,tap事件也是為了解決在click的延遲問題
觸摸事件的響應順序1、ontouchstart 2、ontouchmove 3、ontouchend 4、onclick
解決300ms延遲的問題,也可以通過綁定ontouchstart事件,加快對事件的響應
清除IOS系統手機對input等表單元素的默認樣式.css{-webkit-appearance:none;}
偽元素改變number類型input框的默認樣式
input[type=number]::-webkit-textfield-decoration-container { background-color: transparent; } input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; } input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; }CSS美化Placeholder提示信息的樣式兼容
input::-webkit-input-placeholder{color:#AAAAAA;} input:focus::-webkit-input-placeholder{color:#EEEEEE;}
手機對Placeholder提示信息都基本帶有默認的樣式,兼容各種瀏覽器的使用方式:
.css::-webkit-input-placeholder {color: #777;} /* WebKit browsers */ .css:-moz-placeholder {color: #777;opacity: 1;} /* Mozilla Firefox 4 to 18 */ .css::-moz-placeholder {color: #777;opacity: 1;} /* Mozilla Firefox 19+ */ .css:-ms-input-placeholder {color: #777;} /* Internet Explorer 10+ */webkit表單輸入框placeholder的文字能換行么
ios可以,android不行~
在textarea標簽下都可以換行~
取消a,button等元素被觸摸時產生的半透明灰色遮罩或者虛線框問題a,button,input,textarea{-webkit-tap-highlight-color: rgba(0,0,0,0;)}
-webkit-tap-highlight-color :當用戶點擊iOS的Safari瀏覽器中的鏈接或JavaScript的可點擊的元素時,覆蓋顯示的高亮顏色。
該屬性可以只設置透明度。如果未設置透明度,iOS Safari使用默認的透明度。當透明度設為0,則會禁用此屬性;當透明度設為1,元素在點擊時不可見。
詳細參考:《-webkit-tap-highlight-color》
關閉手機端橫屏或者豎屏自動調整字體大小功能ios使用-webkit-text-size-adjust禁止調整字體大小:
body{-webkit-text-size-adjust: 100%!important;}
text-size-adjust 設為 none 或者 100% 關閉字體大小自動調整功能。
android使用以下代碼,該接口只在微信瀏覽器下有效:
/** * 頁面加入這段代碼可使Android機器頁面不再受到用戶字體縮放強制改變大小 * 但是會有一個1秒左右的延遲,期間可以考慮通過loading展示 * 僅供參考 */ (function(){ if (typeof(WeixinJSBridge) == "undefined") { document.addEventListener("WeixinJSBridgeReady", function (e) { setTimeout(function(){ WeixinJSBridge.invoke("setFontSizeCallback",{"fontSize":0}, function(res) { alert(JSON.stringify(res)); }); },0); }); } else { setTimeout(function(){ WeixinJSBridge.invoke("setFontSizeCallback",{"fontSize":0}, function(res) { alert(JSON.stringify(res)); }); },0); } })();禁止ios 長按時不觸發系統的菜單,禁止ios&android長按時下載圖片
.css{-webkit-touch-callout: none}
-webkit-touch-callout 是一個 不規范的屬性(unsupported WebKit property),它沒有出現在 CSS 規范草案中。
當你觸摸并按住觸摸目標時候,禁止或顯示系統默認菜單。在iOS上,當你觸摸并按住觸摸的目標,比如一個鏈接,Safari瀏覽器將顯示鏈接有關的系統默認菜單。這個屬性可以讓你禁用系統默認菜單。
適用于:鏈接元素比如新窗口打開,img元素比如保存圖像等等
取值:
none:系統默認菜單被禁用
inherit:系統默認菜單不被禁用
詳細參考:《-webkit-touch-callout》
禁止ios和android用戶選中文字.css{-webkit-user-select:none}
當然pc端現在也在用禁止用戶選中文字,兼容寫法:
.test{ -webkit-user-select:none; -moz-user-select:none; -o-user-select:none; user-select:none; }
當然有時候pc上也直接寫到html代碼中,如:
選擇我試試,你會發現怎么也選擇不到我,哈哈哈哈
代碼解釋:
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。
打電話發短信,發郵件的怎么實現打電話:打電話給:0755-10086 發短信:winphone系統無效,發短信給: 10086 發郵件:10086@qq.com
詳細了解mailTo:移動web頁面給用戶發送郵件的方法 (郵件含文本、圖片、鏈接)
移動端實現類似hover效果移動端觸摸按鈕的效果,可明示用戶有些事情正要發生,是一個比較好體驗,但是移動設備中并沒有鼠標指針,使用css的hover并不能滿足我們的需求,還好國外有個激活移動端css的active效果。
直接在body上添加ontouchstart,同樣可激活移動端css的active效果,比較推薦這種方式,代碼如下:
html代碼:
css代碼:
.btn:active{background-color: red;}開啟硬件加速
解決頁面閃白,保證動畫流暢
.css { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }android 上去掉語音輸入按鈕
input::-webkit-input-speech-button {display: none}取消input在ios下,輸入的時候英文首字母的默認大寫
如何阻止windows Phone的默認觸摸事件
winphone下默認觸摸事件事件使用e.preventDefault是無效的
目前解決方法是使用樣式來禁用
html{-ms-touch-action: none;}/* 禁止winphone默認觸摸事件 */屏幕旋轉的事件和樣式
window.orientation,取值:正負90表示橫屏模式、0和180表現為豎屏模式;
window.onorientationchange = function(){ switch(window.orientation){ case -90: case 90: alert("橫屏:" + window.orientation); case 0: case 180: alert("豎屏:" + window.orientation); break; } }
樣式:
//豎屏時使用的樣式 @media all and (orientation:portrait) { .css{} } //橫屏時使用的樣式 @media all and (orientation:landscape) { .css{} }IE10(winphone8)表單元素默認外觀如何重置
禁用 select 默認下拉箭頭
::-ms-expand 適用于表單選擇控件下拉箭頭的修改,有多個屬性值,設置它隱藏 (display:none) 并使用背景圖片來修飾可得到我們想要的效果。
select::-ms-expand { display: none; }
禁用 radio 和 checkbox 默認樣式
::-ms-check 適用于表單復選框或單選按鈕默認圖標的修改,同樣有多個屬性值,設置它隱藏 (display:none) 并使用背景圖片來修飾可得到我們想要的效果。
input[type=radio]::-ms-check,input[type=checkbox]::-ms-check{ display: none; }
禁用PC端表單輸入框默認清除按鈕
當表單文本輸入框輸入內容后會顯示文本清除按鈕,::-ms-clear 適用于該清除按鈕的修改,同樣設置使它隱藏 (display:none) 并使用背景圖片來修飾可得到我們想要的效果。
input[type=text]::-ms-clear,input[type=tel]::-ms-clear,input[type=number]::-ms-clear{ display: none; }Retina 顯示屏的問題
retina:一種具備超高像素密度的液晶屏,同樣大小的屏幕上顯示的像素點由1個變為多個,如在同樣帶下的屏幕上,蘋果設備的retina顯示屏中,像素點1個變為4個
在高清顯示屏中的位圖被放大,圖片會變得模糊,因此移動端的視覺稿通常會設計為傳統PC的2倍
那么,前端的應對方案是:
設計稿切出來的圖片長寬保證為偶數,并使用backgroud-size把圖片縮小為原來的1/2
//例如圖片寬高為:200px*200px,那么寫法如下 .css{width:100px;height:100px;background-size:100px 100px;}
其它元素的取值為原來的1/2,例如視覺稿40px的字體,使用樣式的寫法為20px
.css{font-size:20px}移動端設置滾動條的默認樣式
/* 設置滾動條的樣式 */ ::-webkit-scrollbar { width:12px; } /* 滾動槽 */ ::-webkit-scrollbar-track { -webkit-box-shadow:inset 0 0 6px rgba(0,0,0,0.3); border-radius:10px; } /* 滾動條滑塊 */ ::-webkit-scrollbar-thumb { border-radius:10px; background:rgba(0,0,0,0.1); -webkit-box-shadow:inset 0 0 6px rgba(0,0,0,0.5); } ::-webkit-scrollbar-thumb:window-inactive { background:rgba(255,0,0,0.4); }為移動端頁面中滑動滾動條的時候,添加慣性效果的方法
首先設置:
div{height:100%;overflow-y:auto;}
但是實際在 iPhone 上測試時,發現 Safari(也包括很多 iOS App 內置瀏覽器使用的 UIWebView)竟然完全禁用掉了著名的「慣性滾動」效果。
但解決方法是有的,令人吃驚的是還非常簡單:只有一條 CSS 屬性即可解決問題:
body{-webkit-overflow-scrolling:touch;}
有的同學添加了這一條屬性后遇到了向下滑動后頁面變成空白的問題,實際上可以通過一條 CSS 屬性把頁面加載到內存來解決:
body{-webkit-transform:translate3d(0,0,0);}
移動端實現控制文本行數注:如果設置了-webkit-overflow-scrolling: touch;那么在IOS系統下對于改變滾動條的默認樣式將失效,即上面一條所述。
div{ display: -webkit-box; -webkit-line-clamp: 4; overflow: hidden; text-overflow: ellipsis; -webkit-box-orient: vertical; }移動端使用flex讓內容平均分配
htm代碼:
css代碼:
nav{display:-webkit-flex;display:flex;} a{-webkit-flex:1;flex:1;}
更新于2017.06.02,逐步更新中...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/110882.html
摘要:常用樣式強制文本顯示單行顯示語法讓一段文字在固定寬度在一行顯示,最后一個字符為省略標記,樣式如下多行文本最后省略號這里用到了文本溢出顯示省略號的,即設置溢出文本顯示為省略標記語法新增加的表示直接裁切溢出的文本表 css/css3常用樣式 強制文本顯示 單行顯示語法:white-space:nowrap;讓一段文字在固定寬度在一行顯示,最后一個字符為省略標記(...),css樣式如下 d...
摘要:絕對底部前端掘金來自國外的設計達人,純,可以實現當正文內容很少時,底部位于窗口最下面。有效解決圖片使用單位邊角缺失的問題前端掘金起因在移動端使用布局時圖片也需要用單位。 CSS 絕對底部 - 前端 - 掘金來自國外的設計達人,純CSS,可以實現: 當正文內容很少時,底部位于窗口最下面。當改變窗口高度時,不會出現重疊問題。甚至,創造該CSS的人還專門成立一個網站介紹這個CSS底部布局方案...
摘要:收藏優秀組件庫合集前端掘金開源的優秀組件庫合集教你如何在應用程序中使用本地文件上傳圖片前端掘金使用在中添加到的,現在可以讓內容要求用戶選擇本地文件,然后讀取這些文件的內容。 『收藏』VUE 優秀 UI 組件庫合集 - 前端 - 掘金github 開源的 Vue 優秀 UI 組件庫合集?... 教你如何在 web 應用程序中使用本地文件?上傳圖片file? - 前端 - 掘金使用在HTM...
閱讀 1768·2021-10-11 10:57
閱讀 2352·2021-10-08 10:14
閱讀 3393·2019-08-29 17:26
閱讀 3340·2019-08-28 17:54
閱讀 3020·2019-08-26 13:38
閱讀 2884·2019-08-26 12:19
閱讀 3608·2019-08-23 18:05
閱讀 1277·2019-08-23 17:04