簡體   English   中英

屏幕檢測和調整大小

[英]Screen Detecting and re-sizing stuff

我有一個主菜單和一個針對我正在開發的應用程序的游戲,問題在於,iphone / ipod 4顯示屏的所有內容均已制作完畢並加注了邊距/大小。

我的問題是我如何才能檢測到用戶正在使用jQuery播放的設備,什么是更改頁邊距的最佳方法,如下面的小提琴所示,按鈕下方有一個向左移動的邊距,如果我要更改其寬度,比如說Iphone 6顯示屏,它將不會居中,如果需要的話,它將位於左側。

以下是一些代碼以及帶有HTML和CSS的javascript / jQuery小提琴。

width: 320px;
height: 480px;

這就是我目前所能達到的屏幕寬度。 和這里的左邊距。

margin-left: 90px;

這里是一個鏈接! jSfiddle

使用jQuery,您可以像這樣檢測設備的寬度:

var isMobile = false;
var width = $(window).width();
if (width <= 350) {
      isMobile = true;
}

或者,如果您想嘗試檢測設備:

var isIDevice = (/iphone|ipad/i.test(navigator.userAgent.toLowerCase()));

第一個示例只是檢測屏幕的寬度。 如果它小於或等於350像素,則可以說您正在處理移動設備(縱向)。 對於縱向和橫向模式,請改用480px。

第二個示例檢測設備。 如果是iPhone或iPad,則“ isIDevice”為true。 但是,我不建議您使用那種瀏覽器嗅探功能,以我的經驗,它並不總是准確的。

處理不同屏幕的最佳方法是媒體查詢。 使用CSS,您可以檢測屏幕的寬度/高度並相應地設置頁面樣式。

假設您需要檢測iPhone4的寬度並根據該寬度調整元素。 您這樣做:

@media screen and (max-width: 320px) {
  body {
    background: #ccc;
  }
}

上面的示例是媒體查詢。 如果我將其翻譯成人類語言,它會像這樣:

“如果這是一個畫面(未打印機或其他), 並且如果屏幕是小於或等於320像素,然后使用這個CSS”

在此媒體查詢上方,您可以將背景定義為黑色,例如:

  body {
    background: black;
  }

@media screen and (max-width: 320px) {
  body {
    background: #ccc;
  }
}

現在,如果屏幕寬於320像素,則背景將為黑色。 如果屏幕等於或小於320像素,則下面的CSS將變為活動狀態,並且由於它是在第一個CSS(黑色背景)之后定義的,因此它將接管並因此使背景變成灰色。

您不僅可以檢測到寬度,還可以檢測到更多。 通過媒體查詢,您可以檢測屏幕的寬度/高度,像素比率,設備方向,...

如果您使用媒體查詢,則幾乎有無限可能,使用JavaScript進行條件樣式設置僅在非常特定的情況下才有意義。 如果可以,請使用媒體查詢代替JavaScript。

重新調整大小<div>適用於 iPhone 和 iPad 屏幕</div><div id="text_translate"><p>在我的 jquery 移動應用程序中,我有一個頁面有一個 header 和頁腳,主要內容是 4 個 2x2 排列的圖像。 我選擇在 div 中創建自己的 2x2 網格,因為我無法讓 JM 網格工作。 主要內容的代碼如下所示:</p><pre> &lt;div class="container"&gt; &lt;div class="image"&gt; &lt;a href="#intro"&gt; &lt;img src="img/Intro1.png" /&gt; &lt;/a&gt; &lt;/div&gt; &lt;div class="image"&gt; &lt;a href="#putting"&gt; &lt;img src="img/Putting1.png" /&gt; &lt;/a&gt; &lt;/div&gt; &lt;div class="image"&gt; &lt;a href="#chipping"&gt; &lt;img src="img/Chipping1.png" /&gt; &lt;/a&gt; &lt;/div&gt; &lt;div class="image"&gt; &lt;a href="#sand"&gt; &lt;img src="img/SandPlay1.png" /&gt; &lt;/a&gt; &lt;/div&gt; &lt;/div&gt;</pre><p> 排列所有內容的頁面 css 如下所示:</p><pre> .container { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }.container.image { width: 50%; }.container img { width: calc(100% - (5px * 2)); margin: 5px; }</pre><p> 這在 iPhone 上運行良好,但在 iPad 上圖像太大。 在 iPad 上,圖像是全寬,這使得它們 go 超出屏幕底部邊緣。 我已經到處尋找解決方案,最后決定來這里。 提前感謝您的任何幫助/指導。</p></div>

[英]Re-sizing <div> for iPhone and iPad screen

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 重新調整大小<div>適用於 iPhone 和 iPad 屏幕</div><div id="text_translate"><p>在我的 jquery 移動應用程序中,我有一個頁面有一個 header 和頁腳,主要內容是 4 個 2x2 排列的圖像。 我選擇在 div 中創建自己的 2x2 網格,因為我無法讓 JM 網格工作。 主要內容的代碼如下所示:</p><pre> &lt;div class="container"&gt; &lt;div class="image"&gt; &lt;a href="#intro"&gt; &lt;img src="img/Intro1.png" /&gt; &lt;/a&gt; &lt;/div&gt; &lt;div class="image"&gt; &lt;a href="#putting"&gt; &lt;img src="img/Putting1.png" /&gt; &lt;/a&gt; &lt;/div&gt; &lt;div class="image"&gt; &lt;a href="#chipping"&gt; &lt;img src="img/Chipping1.png" /&gt; &lt;/a&gt; &lt;/div&gt; &lt;div class="image"&gt; &lt;a href="#sand"&gt; &lt;img src="img/SandPlay1.png" /&gt; &lt;/a&gt; &lt;/div&gt; &lt;/div&gt;</pre><p> 排列所有內容的頁面 css 如下所示:</p><pre> .container { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }.container.image { width: 50%; }.container img { width: calc(100% - (5px * 2)); margin: 5px; }</pre><p> 這在 iPhone 上運行良好,但在 iPad 上圖像太大。 在 iPad 上,圖像是全寬,這使得它們 go 超出屏幕底部邊緣。 我已經到處尋找解決方案,最后決定來這里。 提前感謝您的任何幫助/指導。</p></div> 重新調整屏幕分辨率大小后可以更改Jquery事件嗎? 重新調整網頁內容的大小 同步表調整大小 畫布畫板調整大小問題 使用jQuery重新調整表列大小 調整窗口大小時切換菜單 Cropzoom PNG調整大小問題 用js重新調整div中的iframe大小 Jquery Cycle 插件和 IE - 預加載和調整大小,但間歇性地,圖像無法在 IE 中正確渲染/調整大小
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM