我正在使用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固定的,是否可以插入一个很好的参数来使它相对于屏幕尺寸?
我希望有人可以提供帮助!
谢谢!
答案 0 :(得分:0)
设置为width: 100%
的html元素会延伸到其父级宽度的100%
。您需要确保包含元素的宽度也是100%
。
您还需要制作html
和body
宽度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>