我们是否需要使用javascript来创建响应性布局?

我们是否需要使用javascript来创建响应性布局?,javascript,css,Javascript,Css,我下载了几个免费的响应式布局(如果你好奇的话,你可以通过谷歌简单地找到它们),我发现这个布局至少有一到两个javascript文件 问题是:javascript对于创建响应性布局至关重要 然后,在对这个问题的回答中是“否”,您还可以链接一个仅使用html和css制作的免费响应版面,好吧,您将收到一个非常感谢。响应版面的全部要点是,它可以(也应该)只使用CSS3媒体查询完成 然而,这通常需要一些巧妙的HTML设计,特别是如果你想要一个滑入式菜单(提示::active与tabindex结合使用时,可

我下载了几个免费的响应式布局(如果你好奇的话,你可以通过谷歌简单地找到它们),我发现这个布局至少有一到两个javascript文件

问题是:javascript对于创建响应性布局至关重要


然后,在对这个问题的回答中是“否”,您还可以链接一个仅使用html和css制作的免费响应版面,好吧,您将收到一个非常感谢。

响应版面的全部要点是,它可以(也应该)只使用CSS3媒体查询完成

然而,这通常需要一些巧妙的HTML设计,特别是如果你想要一个滑入式菜单(提示:
:active
tabindex
结合使用时,可能会非常强大,以使一个原本“惰性”的元素对点击事件(如链接)做出响应),而许多开发人员对此不会感到烦恼,特别是当jQuery如此容易使用时

因此,基本上,是的,您可以只使用CSS创建响应性布局。如果你成功了,恭喜你!JavaScript可以使事情变得更简单,但一般来说,如果你认为你需要它,你可能只需要重新思考一下你是如何做的

不幸的是,我没有链接到JavaScript响应性较差的布局,这是因为我自己做得很差



当我欣赏Martijn演示如何使用JavaScript使图像的分辨率根据屏幕大小而变化时,如果可能的话,可以简单地使用SVG使图像具有响应性。如果这不是一个选项,请考虑使用一个带有<代码>背景图像的容器-只加载与媒体查询匹配的图像:(

有时是,有时不。 首先了解什么是响应布局:响应布局是一种动态改变自身的布局。取决于浏览器的屏幕大小。因此,它完全适合每种屏幕类型、大小、分辨率等,这样网站的布局就不会中断

您可以使用CSS3媒体查询来更改布局,或者使用jQuery或其他JavaScript来实现这一点

但是请记住,使文档具有响应性并不需要JavaScript

有时候是的! 有时,开发人员更擅长使用JavaScript编写代码,比如jQueryAPI。因此,他会发现在jQuery中编写代码以动态处理浏览器窗口中的所有事件以使网站响应起来很容易

我自己会发现,与CSS相比,用jQuery编写代码非常容易。因此,为此,我必须将jQuery源文件添加到文档中,以便以这种方式呈现它。否则,我将无法在网站中创建响应,或者必须坚持使用纯JavaScript

例如:

if($(window).width() > '1300') {
  $('body').css({
    'height': '100%' /* etc */
  });
}
有时候不! 一些开发人员擅长CSS(CSS3及其媒体查询)。因此,他们尝试使用CSS3呈现文档并使其响应

CSS3确实比jQuery简单得多,使用它会很有帮助。它也不需要包含任何脚本文件。您可以在默认CSS文件中轻松编写代码。并会作出相应的改变

@media only screen and (max-width: 1300px) {
  body {
    height: 100%;
  }
}
但是记住
如果您使用纯CSS,然后使用CSS3媒体查询来更改网站的布局,您将能够检测屏幕大小和其他元素。您将无法检查浏览器的属性或屏幕上的内容等。

这两个答案都可以接受。 不,如果你假装使用flash网站之类的东西,我几乎不反对


是的,因为javascript是实现这一点的关键,CSS3/HTML5是针对您的案例的解决方案,但是,它们附带了一些javascript包含的函数,您将看不到这些函数,因此,存在javascript。

媒体查询允许您仅使用css创建响应页面。但当用户在手机或平板电脑上将水平布局更改为垂直布局时,您应该记住jquery函数“.resize()”

默认情况下响应

不,响应式Web设计不需要JavaScript。这对于那些很酷的飞出和滑动效果是必要的

如果你用纯CSS制作一个网站,你可能需要做出一些妥协,比如不同的菜单布局或总是可见的边栏内容。滑块是个问题

但请考虑:

仔细想想,响应式布局并不是什么新鲜事。在web浏览器中打开一个简单的HTML文件,内容会自动调整以适应该浏览器的宽度。默认情况下,web会自行响应。正是我们这些年来通过将内容放在固定宽度的容器中打破了这一局面

安迪·休谟在《默认响应》中,

浏览器兼容性如何?某些浏览器(最旧版本)无法读取多个css3属性,而媒体查询?我是否会遇到与它们兼容的问题?请忽略这些问题。确保你的普通网站看起来不错,这些类型的用户无论如何都不会调整太多大小(当然,除非他们是你的目标用户)@nietTheDark:希望你不介意我扩展你的答案,感觉需要一个小例子来说明clearify@Martijn那很好。虽然就我个人而言,我会将SVG用于响应图像;)@Martijn这是关于无JS的网页设计…不,只需使用
方向:纵向/横向
您的“有时是”参数无效。我们的工作不应该“轻松”。我经常折磨自己,使每件事都发挥最大的效率。