隨著蘋果系統的普及,越來越多的網站需要進行蘋果系統的css樣式兼容性處理。蘋果系統的瀏覽器Safari和iOS中的Safari都是基于WebKit內核開發的,與其他瀏覽器在渲染頁面上存在一些差別。下面我們來看一些常見的問題以及解決方案。
1. Border-radius
-webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;
在Safari瀏覽器中使用-webkit-border-radius屬性,而在Firefox等瀏覽器中使用-moz-border-radius屬性。當然,為了兼容所有的瀏覽器,最好還是再加上標準的border-radius屬性
2. Box-shadow
-webkit-box-shadow: 2px 2px 10px #ccc; -moz-box-shadow: 2px 2px 10px #ccc; box-shadow: 2px 2px 10px #ccc;
同樣的,box-shadow屬性在不同的瀏覽器中是不同的。在Safari瀏覽器中使用-webkit-box-shadow屬性,在Firefox瀏覽器中使用-moz-box-shadow屬性,標準屬性可以不加。
3. Transparent
background-color: rgba(255, 255, 255, 0.5);
透明度在Safari瀏覽器中使用rgba屬性,而在Internet Explorer和Firefox中使用filter:alpha(opacity=50)和opacity:0.5。使用rgba屬性可以做到透明度效果并兼容Safari瀏覽器。
4. 文本垂直居中
.container { display: table-cell; vertical-align: middle; } .container span { outline: none; }
在處理文本垂直居中的時候,可以使用display:table-cell和vertical-align屬性實現這個效果。當然,如果這里使用了outline屬性,需要將它的值設置為none,否則在Safari瀏覽器中會有一些奇怪的邊框出現。
總之,在進行蘋果系統的樣式兼容性處理時,需要多花些時間來處理不同瀏覽器之間的差異,但是這是為了更好的用戶體驗而必要的。