Safari是一個功能比較完整的瀏覽器。它支持全部按照W3C標準HTML,CSS,Javascript開發的網頁。 固然,讓網站正常訪問只是咱們的初級目標。開發者應該致力於給用戶提供更好的用戶體驗。好比支持不一樣手持觸屏設備顯示,針對多屏幕或分屏時的響應式設計,支持觸摸和手勢事件,等等。css
safari瀏覽器下img標籤src屬性支持連接到mp4文件。其會預加載對應的資源,適用於小視頻或動畫gif。html
到目前爲止,基於webkit引擎開發的全部瀏覽器包括Safari桌面端及ios系統移動端,都支持如下標準:ios
更多設計實踐參考 Web Page Development: Best Practicescss3
保證文字在ios端可以更清晰的展現,而且支持雙擊縮放。web
showModalDialog在ios端Safari暫時不支持。canvas
使用-webkit-appearance:none可清除瀏覽器默認樣式。api
textarea{ -webkit-appearance:none; // safari 默認樣式清除 }
@media screen and (-webkit-min-device-pixel-ratio: 2){ font-size: 14px; }
更多優化建議參看 優化你的網頁應用瀏覽器
視窗meta標籤做用:安全
支持的meta屬性app
<meta name="apple-mobile-web-app-capable" content="yes" >
<meta name="apple-mobile-web-app-status-bar-style" content="black">
// 禁用該功能 <meta name="format-detection" content="telephone=no">
<meta name="viewport" content="width=device-width, initial-scale= 1, user-scalable=no"
默認支持的常量:
支持的屬性及其默認值:
設置user-scalable可阻止當輸入框聚焦時頁面滾動的行爲。
-webkit-爲前綴的css3屬性屬於W3C標準規範內
當用戶雙擊屏幕時,頁面最好可以動態調整文字大小,以提升文字可讀性。
Safari瀏覽器中,給文字容器標籤設置-webkit-text-size-adjust屬性,實現動態調整文字大小。
該屬性只在Safari瀏覽器下有效
-webkit-text-size-adjust默認屬性通常爲auto。惟一例外是iPad中,該屬性默認值爲none。
#sticky_container { top: 200px; right: 0; width: 300px; height: 400px; overflow: hidden; position: fixed;
position:fixed;保證固定元素不受界面滾動或縮放影響。
更多參考 Understanding Layout and Gestures in Safari on iOS and Lion from WWDC2011
Safari瀏覽器默認高亮顯示被點擊的連接或可點擊元素。咱們能夠經過-webkit-tap-hightlight-color屬性改變或禁用該默認行爲。
// -webkit-tap-hightlight-color -webkit-tap-hightlight-color: 0; // 禁用
可顯示高度
頁面在輸入鍵盤展開或隱藏狀態下,頁面可展現內容高度,可經過下列公式大概計算:
設備高度-狀態欄高度-導航欄高度-鍵盤高度。
爲避免鍵盤展開時,覆蓋正在輸入的表單輸入框。使用上面公式合理安排動態調整表單元素的高度位置。
使用-webkit前綴加屬性實現Safari下的特殊顯示樣式。
{ width: 100px; height: 100px; -webkit-border-radius: 50px; background-color: purple; }
Safari下,input輸入框可選值完整列表:列表 或參考w3c標準。
autocorrcet
autocapitalize