css 如何使用单个网格或Flex实现卡片的多个布局?

bq3bfh9z  于 2022-12-05  发布在  其他
关注(0)|答案(2)|浏览(208)

我试图使一个响应卡布局如图所示。

目前我正在做的是,我正在分别创建布局的电脑,平板电脑和移动的.然后,其中的帮助下,一个media query我设置显示属性为display: none为其他两个视图.
例如:如果我在计算机视图中,计算机的卡布局将不会有一个显示设置为无,而其他两个将有一个display as none
这是可行的,但造成了大量的冗余。有一种方法可以实现所有三个布局使用灵活或网格。
请指点。

e5nszbig

e5nszbig1#

Flex可以轻松实现这一点。
根据屏幕宽度,您可以添加媒体查询,如下所示,您可以调整框宽度和最大宽度来调整框的大小。

/* tablet view */
@media only screen and (max-width: 768px){
    .parent-container {
        max-width: 320px;
    }
}

/* mobile view */
@media only screen and (max-width: 480px){
    .parent-container {
        flex-direction: column;
        align-items: center;
    }
}

你可以看看这个https://jsfiddle.net/rx4hvn/wbqoLe0y/35/
希望这对你有帮助!

yacmzcpb

yacmzcpb2#

您不必每次都设置display: none来设计屏幕尺寸的特定设计。* 媒体查询 * 会带来一个叫做***断点***的东西,您可以在其中指定宽度对于移动的屏幕尺寸,只需将css放在 media query 下,并输入max-width: 600px即可。此外,您可以改用orientation属性来区分 landscapeportrait 模式。
More on Queries and screen sizes

//for mobile
    @media query and only screen(max-width: 600px) 
    {
        display:flex;
        //some more css-code
    }
    
//for tablet
    @media query and only screen(min-width: 600px) 
   {

    display: flex;
   //some more css-code

   }
   
//for desktop size
   @media query and only screen(min-width: 768px) 
  {
     display: flex;
     //some more css-Code
  }

确保遵循移动的优先开发方法,如
MDN Guide

相关问题