css - 如何防止加载html结构?

标签 css asp.net-mvc responsive-design

我有 3 列:左中右,当@media 屏幕最大宽度小于 768px 时,我想放弃加载左侧。

<div class="left"></div>
<div class="center"></div>
<div class="right"></div>

我不想使用 display:none 来隐藏该列,而是阻止它加载,因此它不必运行可能会减慢速度的服务器代码。

做到这一点的最佳优雅方式是什么?

最佳答案

CSS 无法阻止常规 HTML 内容的加载,并且服务器无法知道媒体查询是否匹配。

您可以使用 JavaScript (window.matchMedia("only screen and (min-width: 480px)"))) 获取匹配的媒体查询,然后从服务器加载您想要的内容 (使用 AJAX,或导航到一个 URL,例如,附加 ?screen-width=1024)。

它不优雅,它非常丑陋而且根本不是动态的(除非你在每次页面加载时检查它并且如果查询字符串与匹配此 session 的媒体查询不匹配,你更改查询字符串并重新加载页),但它应该可以工作。

关于css - 如何防止加载html结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23441558/

相关文章:

Javascript 悬停函数

asp.net-mvc - 如何为 Bootstrap 选项卡提供外部链接

javascript - 根据子 div 的总数更改宽度

css - 使用 CSS 为一组选定元素添加顶部和底部边框

javascript - 在 Node 快速执行 css 和 js 文件未加载

c# - 多个API调用的Asp.net MVC4并行编程

html - Bootstrap 框架不响应 asp.net webform

html - css响应页面上的图像重叠

jquery - 使用 Jquery 根据时间更改 CSS3 关键帧

asp.net - 如何在 .Net 5 中加载为另一个 .net 版本构建的 .dll?