div大小相对于屏幕大小

时间:2012-07-20 07:19:44

标签: javascript jquery css html5

我正在使用JQuery Mobile和Phonegap编写html5应用程序。我想在许多不同的设备上运行它们。因此,我希望拥有与屏幕尺寸相关的所有内容。

<div id="pos" data-role="content"
        style="border: 5px solid silver; margin-left: auto; margin-right: auto; width: 250px; height: 250px;">

我使用这个div元素在里面显示一个带有小边框的谷歌地图。

如何调整大小,例如屏幕尺寸的80%?

我尝试了宽度:90%;身高:90%,但结果真的很糟糕。它与屏幕无关,它与内容相关。

并且边框的大小是用5px固定的,是否可以插入一个很好的参数来使它相对于屏幕尺寸?

我希望有人可以提供帮助!

谢谢!

3 个答案:

答案 0 :(得分:0)

设置为width: 100%的html元素会延伸到其父级宽度的100%。您需要确保包含元素的宽度也是100%

您还需要制作htmlbody宽度100%

一个例子:

html, body { width: 100%; }
#pos { width: 80%; }

此示例假定#pos元素在主体上是直的。

答案 1 :(得分:0)

如果您不想使用js,则可能需要定义父项的高度和宽度 这里我在jsfiddle上做了一个例子 jsfiddle

答案 2 :(得分:0)

看起来不错,所以我认为这个问题是因为JQuery!以下是此页面的完整代码:

<!DOCTYPE html>
<html>
<head>
<title> App</title>
<script type="text/javascript" charset="utf-8" src="cordova-1.9.0.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="jquery.mobile-1.1.1.min.css" />
<script src="jquery-1.7.2.min.js"></script>
<script src="jquery.mobile-1.1.1.min.js"></script>

<style>

  html, body, geolocation { width: 100%; height: 100%; } 
  #pos { width: 80%; height: 80%; } 

</style>
</head>

 <body>
<div data-role="page" id="geolocation" data-theme="a">
    <h2 align="center">Geolocation</h2>
    <div data-role="header" data-position="fixed" data-theme="a">
        <h1>Car Data</h1>
    </div>

    <div id="pos" data-role="content" style="border: 5px solid silver;">
        Deine Position wird ermittelt...</div>

    <script type="text/javascript" src="geolocation.js"></script>


    <div data-role="footer" data-position="fixed" data-id="persFooter">
        <div data-role="navbar">
            <ul>
                <li><a href="home.html" data-icon="home">Connect</a></li>
                <li><a href="carView.html" data-icon="gear">Vehicles</a></li>
                <li><a href="infoView.html" data-icon="info">Info</a></li>
            </ul>
        </div>
    </div>


<script>                                       
    $('#geolocation').on('swipeleft',function(){ 
     $.mobile.changePage("fuelGauge.html", { transition: "slide"}); 
     console.log('slideLeft');
    })  

    $('#geolocation').on('swiperight',function(){ 
     $.mobile.changePage("batteryStatus.html", { transition: "slide", reverse: 'true'});    
     console.log('slideLeft');
    })                                       
</script>
</div>



  </body>
  </html>