當移動應用程序頁面方向從橫向更改爲縱向時,更改CSS文件的最佳方法是什麼,反之亦然。我只需要支持Android和iPhone。媒體查詢似乎不是最乾淨的方式,還有其他想法?基於移動定位更改CSS
回答
下面的jQuery代碼似乎工作最適合我......結合實例沒有。
$(document).ready(function() {
$(window).resize(function() {
alert(window.orientation);
});
});
您可以使用window.onorientationchange事件。
首先給你的樣式表包含一行id =「cssElement」或其他東西。
然後使用jQuery:
$(document).ready(function(){
// The event for orientation change
var onChanged = function() {
// The orientation
var orientation = window.orientation;
if(orientation == 90) {
$('#cssElement').attr('href', '/path/to/landscape.css');
} else {
$('#cssElement').attr('href', '/path/to/portrait.css');
}
};
// Bind the orientation change event and bind onLoad
$(window).bind(orientationEvent, onChanged).bind('load', onChanged);
});
我以爲'window.orientation'是一個數字,而不是一個字符串。 – icktoofay
onChanged事件永遠不會從Safari瀏覽器手機中被觸發.. – c12
^^ icktoofay您是對的(修復)。我錯誤地閱讀了一些內容。無論如何,這個/應該/在手機瀏覽器上工作。 – SublymeRick
例
/* For portrait */
@media screen and (orientation: portrait) {
#toolbar {
width: 100%;
}
}
/* For landscape */
@media screen and (orientation: landscape) {
#toolbar {
position: fixed;
width: 2.65em;
height: 100%;
}
p {
margin-left: 2em;
}
}
欲瞭解更多詳情,請參閱here
- 1. 如何更改基於移動設備的CSS?
- 2. CSS移動固定定位
- 3. 基於滾動位置更改圖像
- 4. 更改CSS基於Time.now
- 5. 更改基於Javascript的CSS?
- 6. 基於頁面滾動位置更改偏移/保證金位置
- 7. HTML - 移動版面 - 定位更改後的滾動位置
- 8. 基於HTML5和CSS的移動網站
- 9. 更改CSS類基於存在
- 10. 基於jQuery.html更改CSS顯示屬性()
- 11. 基於JavaScript事件更改CSS變量
- 12. 基於.css文件更改標誌
- 13. 更改基於按鈕狀態的CSS
- 14. 基本CSS定位(相對於絕對)
- 15. 基本CSS定位
- 16. 需要更改基於網站部分的CSS div定位部分
- 17. 根據滾動位置/定位點更改CSS
- 18. 基於上次登錄更改位置
- 19. Android ListView基於位置更改圖像
- 20. 基於寬度更改頂部位置%
- 21. jQuery更改基於html的位置
- 22. 辨的移動和固定的DIV在HTML基於CSS
- 23. 更改和移動背景HTML,CSS
- 24. 僅針對移動設備更改CSS?
- 25. 移動設備的CSS定位
- 26. CSS定位不移動圖像?
- 27. 移動css沒有被定位
- 28. 動態更改基於css類的圖像內容
- 29. Rails 3 - 基於控制器名稱動態更改css類
- 30. 移動/更新基於JSON的標記
難道沒有綁定到窗口大小調整事件的任何選項,如果X越大,則Y是景觀? Y比X大你有肖像嗎?保持1 var作爲布爾值,isLandscape,如果改變了,編輯你的樣式表? – Niels
爲什麼你認爲CSS媒體查詢不是乾淨的解決方案? –