我知道网站的布局和功能应该严格分开。布局应该用CSS来完成,网站的功能,比如点击展开移动菜单,应该用JS来完成。参考资料:1。& 2。
我经常看到响应式布局发生的情况是为各种媒体查询提供列类,其中只有类名不同,但宽度值是相同的。
这会导致 HTML 格式为
<div class="container small-query-columns-4 medium-query-columns-6 large-query-columns-12><p>Responsive paragraph..</p></div>.
是否可以接受,而不是总是为各种媒体查询的列定义相同的宽度,而只是制作一个最小的 CSS 网格,其中列类宽度定义一次,然后使用 Enquire 动态传递每个媒体查询的宽度?
我知道这破坏了上述与布局 (CSS) 和函数 (JS) 的分离,尽管这意味着更干净的 HTML,并且每个媒体查询都会加上更少的 CSS。每个媒体查询也只调用一次查询,因此使用最小的 CSS 文件对下载量的影响也将大大减少。是的,当然,这意味着该站点依赖于 JS。