很高兴您选择学习网络开发。
但是你的方法听起来比它更复杂。首先,桌面和移动可以完全一样。它只倒计时到媒体查询。在桌面上,您的浏览器可以与移动设备具有相同的宽度。因此,您需要在您的项目中阐明您希望在什么时候向用户显示“移动”样式以及何时显示“桌面”样式。在我工作或看到的大多数项目中,默认的媒体查询是这样的:
@media (min-width: 320px) {}
@media (min-width: 768px) {}
@media (min-width: 1024px) {}
@media (min-width: 1220px) {}
@media (min-width: 1440px) {}
因此,您可以在每个媒体查询中看到,您可以为选定的查询大小附加一些新样式。为了更容易编写样式并且不要在每个新宽度上覆盖所有这些东西,您可以这样做:
@media (min-width: 320px) {} // for general stylings (both, mobile && desktop)
@media (max-width: 767px) {} // for only styles between 320px and 768px (most mobile devies)
@media (min-width: 768px) {} // general desktop && tablet styles if needed
@media (min-width: 768px) and (max-width: 1024px) {} // only tablet styles
@media (min-width: 1025px) // start with desktop styling
媒体查询之间的所有这些样式仅附加到大小。
所以只要选择你需要的宽度,例如:
All mobile styles attached only between 320px and 1024px
@media (min-width: 320px) and (max-width: 1024px) {
.nav{ background: red; }
}
All desktop styles attached only after 1025px
@media (min-width: 1025px) {
.nav{ background: green; }
}
所有这些媒体查询只显示不同的宽度,您也可以通过高度来做到这一点,但由于设备/显示器尺寸的原因,它的方式更加困难。
如果您真的想检查用户代理并在浏览器、代理、设备或类似的东西之间进行划分,您将需要 JavaScript,这比仅显示不同宽度的样式要复杂得多。
希望对您有所帮助!如果您对媒体查询以及如何正确编写它们有任何疑问,MDN 是一个很好的资源:@987654321@