如何获取设备的宽度(不是视口)?
How to get width of device (not viewport)?
我正在制作我的第一个网站,我的 meta
标签只是定义了一个恒定宽度而不是采用设备宽度,因为我喜欢 CSS 动画并且想避免制作它动态的。除了需要居中的内容外,大部分内容在移动设备上看起来都不错。当我根据百分比将它居中时,它会根据我设置的宽度(我的视口)而不是设备的宽度居中。当然,这不是一个错误,但我想知道是否有办法让我获得设备的宽度,即使我没有将它设置为视口,所以我可以计算 left
属性使其居中。有任何想法吗?谢谢!
我没有放代码,因为确实没有任何问题,它更像是一个操作方法问题。
有时一些用户在使用桌面设备时不会最大化他们的浏览器。但是您可以尝试通过创建变量来获取应用程序的 "body" 宽度。更高级的是检查导航期间该值是否有任何正变化。在移动设备上,该值会更精确一些,除非屏幕旋转。
your_var_name = document.body.clientWidth
我推荐 flex css 属性。
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
html
<div class="wrapper">
wrapper
<div class="inner"> inner </div>
</div >
css
.wrapper {
display: flex;
justify-content: center;
width: 200px;
}
.wrapper .inner {
width: 50px;
}
或
使用绝对和相对
wrapper {
position: absolute;
width: 200px;
}
wrapper parent {
position: relative;
width: 50px;
left: calc( 100% - 25px );
}
要查找您的 html body(设备)的当前宽度,您可以尝试此 javascript 代码 window.innerWidth;
尝试 运行 此代码并将 windows 调整为不同的宽度:
function myFunction() {
var wid = window.innerWidth;
document.getElementById("display").innerHTML = "Width: " + wid;
}
<button onclick="myFunction()">Show</button>
<div id="display"></div>
ps:单击 运行 代码,然后单击整页,以便您可以调整浏览器大小并测试我的代码段。它将显示当前宽度。
我正在制作我的第一个网站,我的 meta
标签只是定义了一个恒定宽度而不是采用设备宽度,因为我喜欢 CSS 动画并且想避免制作它动态的。除了需要居中的内容外,大部分内容在移动设备上看起来都不错。当我根据百分比将它居中时,它会根据我设置的宽度(我的视口)而不是设备的宽度居中。当然,这不是一个错误,但我想知道是否有办法让我获得设备的宽度,即使我没有将它设置为视口,所以我可以计算 left
属性使其居中。有任何想法吗?谢谢!
我没有放代码,因为确实没有任何问题,它更像是一个操作方法问题。
有时一些用户在使用桌面设备时不会最大化他们的浏览器。但是您可以尝试通过创建变量来获取应用程序的 "body" 宽度。更高级的是检查导航期间该值是否有任何正变化。在移动设备上,该值会更精确一些,除非屏幕旋转。
your_var_name = document.body.clientWidth
我推荐 flex css 属性。
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
html
<div class="wrapper">
wrapper
<div class="inner"> inner </div>
</div >
css
.wrapper {
display: flex;
justify-content: center;
width: 200px;
}
.wrapper .inner {
width: 50px;
}
或
使用绝对和相对
wrapper {
position: absolute;
width: 200px;
}
wrapper parent {
position: relative;
width: 50px;
left: calc( 100% - 25px );
}
要查找您的 html body(设备)的当前宽度,您可以尝试此 javascript 代码 window.innerWidth;
尝试 运行 此代码并将 windows 调整为不同的宽度:
function myFunction() {
var wid = window.innerWidth;
document.getElementById("display").innerHTML = "Width: " + wid;
}
<button onclick="myFunction()">Show</button>
<div id="display"></div>
ps:单击 运行 代码,然后单击整页,以便您可以调整浏览器大小并测试我的代码段。它将显示当前宽度。