Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据浏览器宽度通过平滑过渡更改网格中的列数_Javascript_Jquery_Css - Fatal编程技术网

Javascript 根据浏览器宽度通过平滑过渡更改网格中的列数

Javascript 根据浏览器宽度通过平滑过渡更改网格中的列数,javascript,jquery,css,Javascript,Jquery,Css,我在一个简单的HTML和CSS网格中遇到了一个小问题。我有一个n个盒子的网格。它可以有任意数量的列,具体取决于浏览器或其父宽度 将显示应用于内联块非常简单,如下例所示: ul { list-style: none; } ul li { width: 100px; height: 100px; display: inline-block; background: #f00; }​ 看 但是,当有人更改浏览器的宽度时,我希望列的数量在平滑过渡中更改。这在C

我在一个简单的HTML和CSS网格中遇到了一个小问题。我有一个n个盒子的网格。它可以有任意数量的列,具体取决于浏览器或其父宽度

将显示应用于内联块非常简单,如下例所示:

ul {
    list-style: none;
}

ul li {
    width: 100px;
    height: 100px;
    display: inline-block;
    background: #f00;
}​

但是,当有人更改浏览器的宽度时,我希望列的数量在平滑过渡中更改。这在CSS中是可能的吗?或者有好的jQuery插件或技巧吗

例如:


我正在寻找一个非常简单和小的解决方案。因为我不能为那个小东西添加一个完整的库。我已经在应用程序中使用jQuery了。因此,如果可以使用CSS和jQuery。那太好了。

是的,您可以更改当前浏览器的动态页面。我决定您可以使用jQuery中的
$(window).width()
检查浏览器宽度,并且您可以使用事件处理程序,如
resize()
在当前用户更改浏览器宽度时附加浏览器宽度。。。还有一件事:当我们在CSS中这样做时,大多数开发人员都会动态地将网站的宽度设置为100%

//这是我添加的CSS媒体查询示例:-

CSS媒体查询可以通过您能够定义的所有方式添加到CSS中:

第一个示例:当当前页面宽度不高于或低于480px时,链接特定CSS:

我建议您使用第一个示例。我们知道我们可以覆盖CSS网格,当浏览器调整大小时,您可以根据需要设置很多时间,使用不同的文件名,您可以创建更多类似下面这样的
.CSS
文件和链接

<link rel="stylesheet" type="text/css" href="smallscreen.css" media="only screen and (max-width: 480px)" />
第三个示例:作为媒体规则,在
元素中:

<style type="text/css">
  @media only screen and (max-width: 480px){
    /* rules defined inside here are only applied to browsers that support CSS media queries and the browser window is 480px or smaller */
  }
</style>
Firefox:

@media screen and (-webkit-animation) {
   div.grid_24 {
     // Webkit only rules 4
 } 
}
   @media screen and (max-width:320px;) {        
           div.grid_24 {
           //..
          }
       }
 @media all (-o-min-device-pixel-ratio:0) {  
        div.grid_24{  
         //..
    }   // as i know maybe for opera 10 and above
@media all and (max-width:480px) {
   div.grid_24 {
   //..
  }
}
。。。和歌剧:

@media screen and (-webkit-animation) {
   div.grid_24 {
     // Webkit only rules 4
 } 
}
   @media screen and (max-width:320px;) {        
           div.grid_24 {
           //..
          }
       }
 @media all (-o-min-device-pixel-ratio:0) {  
        div.grid_24{  
         //..
    }   // as i know maybe for opera 10 and above
@media all and (max-width:480px) {
   div.grid_24 {
   //..
  }
}
或者您可以对所有人使用:

@media screen and (-webkit-animation) {
   div.grid_24 {
     // Webkit only rules 4
 } 
}
   @media screen and (max-width:320px;) {        
           div.grid_24 {
           //..
          }
       }
 @media all (-o-min-device-pixel-ratio:0) {  
        div.grid_24{  
         //..
    }   // as i know maybe for opera 10 and above
@media all and (max-width:480px) {
   div.grid_24 {
   //..
  }
}
就这些。如果您想要更多关于媒体查询的参考,您可以查看,或者只需使用属性来设置列的宽度(假定它将以
em
为单位,而不是
px
),然后将所有
li
项与列的宽度设置放在一个容器中


当我调整浏览器窗口的大小时,该示例会平滑地更改列数。

你的意思是什么..你想创建动态网页吗?网格(部分)中的内容可以是动态的,也可以不是动态的。但网格的宽度和网格中的列数应该是动态的(根据浏览器的宽度进行更改)。为了便于参考,我知道即使我们不需要jQuery,我们也只能通过CSS来实现它。我的问题是列必须通过平滑的事务进行更改。在我之前发送给你的示例中,通过减少浏览器宽度来查看效果哦..我认为你可以使用css3关键帧检查w3school-伙计,可能是我无法解释你,或者你没有阅读我的问题,并且看到了我发送的两个链接以完全澄清。不管怎样,谢谢。好的。之前很抱歉,现在我明白你的意思了。正如我所想的那样,当我们在css动态网页中预期在特定的浏览器上显示时,我们希望显示浏览器与其他浏览器之间的差异,我们可以使用css媒体查询。。。。。我再加上上面的例子,你不会明白我的问题,伙计:(谢谢,这是一个很好的解决方案。但我的情况有点不同。我的主要问题是我想保留相同的块(节)按原样。只需在缩小浏览器时将其移到另一行,它就会随着动画移到下一行。再次感谢上述解决方案,我可以在其他地方使用它:)