基于javascript条件应用样式

基于javascript条件应用样式,javascript,html,css,Javascript,Html,Css,我有两个独立的标记,它们都包含大量样式和媒体查询。第一组样式应用于桌面查看器,另一组样式应用于移动查看器。当这两组媒体查询都运行时,会使显示混乱,因为不同的组件以不同的大小显示。我一直在根据用户显示动态链接样式表,但我被要求在一个页面上完成所有操作,而无需额外加载文件。是否有任何方法可以通过javascript专门应用一组样式或另一组样式?您可以使用javascript进行移动检测,然后根据需要的样式添加一个类。即 <body> <div class="mobile">

我有两个独立的
标记,它们都包含大量样式和媒体查询。第一组样式应用于桌面查看器,另一组样式应用于移动查看器。当这两组媒体查询都运行时,会使显示混乱,因为不同的组件以不同的大小显示。我一直在根据用户显示动态链接样式表,但我被要求在一个页面上完成所有操作,而无需额外加载文件。是否有任何方法可以通过javascript专门应用一组样式或另一组样式?

您可以使用javascript进行移动检测,然后根据需要的样式添加一个类。即

<body>
  <div class="mobile">
    .. your page ..
  </div>
</body>

.. 你的页面。。


.. 你的页面。。

您可以在CSS链接中链接它

<link rel='stylesheet' media='screen and (max-width: 701px)' href='css/medium.css' />
<link rel='stylesheet' media='screen and (min-width: 702px)' href='css/large.css' />


如果你必须用这种方式检测“移动”设备,考虑在你的<代码> 元素上设置基类。标签包含几十种不同的样式,适用于尽可能多的对象和多个媒体查询。我已将样式指定给子元素,但从未指定媒体查询。仍然可以这样做吗?对于这种方法,您需要修改CSS,将类预先添加到每个相关规则中。如果您使用的是LESS/SASS之类的东西,这很容易。否则,复制/粘贴不会花费太长时间。几乎每个类都必须有3个左右的条件,可能相当混乱。对于LESS/SASS,可能有一个解决方案。只需将该类放在
上即可。不需要额外的元素。
标记包含几十种不同的样式,应用于尽可能多的对象和多个媒体查询。我已将样式指定给子元素,但从未指定媒体查询。还可以这样做吗?
<link rel='stylesheet' media='screen and (max-width: 701px)' href='css/medium.css' />
<link rel='stylesheet' media='screen and (min-width: 702px)' href='css/large.css' />