Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Flexbox:在移动设备上将2列折叠为单列,但重新排列元素

Flexbox:在移动设备上将2列折叠为单列,但重新排列元素
EN

Stack Overflow用户
提问于 2020-09-06 22:05:29
回答 1查看 295关注 0票数 0

我正在努力理解flexbox (双关语)对我的产品页面的完全灵活性。我的桌面设置如下: flex容器中有两列div。左列有一个包含产品图像的div (调用DIV 1)。右列div中有两个div,标题/描述DIV (调用DIV2)和变体样本(大小和颜色输入) div (调用DIV3)。对于移动端,我想要一个单独的列,我可以使用flex-direction:column来实现,但是排序是我想要调整的。基本上,左列在顶部,然后右列在下面,因此排序是DIV1、DIV2和DIV3。但是,我希望将DIV2和DIV3分开,这样顺序是DIV2、DIV1,然后是DIV3。

我目前的解决方案我不知道这是否是好的做法,但我已经创建了第二个版本的DIV2,并将其放在左栏中,然后我隐藏起来,直到移动设备开始工作,我使它可见,然后隐藏右栏版本的DIV2。

我想知道flexbox是否是一个完整的解决方案,我也想知道我在移动和桌面上隐藏和取消隐藏重复元素的做法是不是很糟糕,因为这是我使用flexbox时唯一能想到的解决方案。我的网站实现了这一点,请访问www.printperry.com/home/product-page/index.php

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-07 06:35:46

在这里,flexbox可以为你做的事情已经达到了极限,虽然你可以在每个flex项目上使用order重新安排事情,但这对你没有太大帮助,因为你想在移动设备上重新排序的东西(产品信息)嵌套在另一个div中,目的是在桌面视图中显示堆叠在照片旁边的内容。在这种情况下,更适合使用display:grid。您可以将其设置为桌面的2列3行,并让图像div跨3行。然后再次更改移动视图的布局,如下所示;

代码语言:javascript
运行
AI代码解释
复制
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 15px;
  display: grid;
  /*set up a grid layout, 2 by 3 */
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(3 1fr);
}

.product-images {
/* make image div span all 3 rows starting from the 1st */
  grid-row: 1 / span 3;
}


/*mobile styles*/

@media screen and (max-width: 940px) {
  .container {
  /*single column layout*/
    grid-template-columns: 1fr;
  }
  
  .product-description {
  /*move prod description to first row of grid*/
    grid-row-start: 1;
  }
  
  .product-images {
   /*move images to second row, everything else follows under neath*/
    grid-row-start: 2;
  }
 
}
代码语言:javascript
运行
AI代码解释
复制
<div class="container">
  <div class="product-images">
    [Product Image Set here]
  </div>
  <div class="product-description">
    <span>T-Shirts</span>
    <h1>Gildan 2000</h1>
    <p>Purchase your products blank at wholesale or even better choose your color and sizes and click customize. Use our free online designer to make your designs come to life!</p>
  </div>
  <div class="product-configuration">
    [Product Configuration controls here]
  </div>
  <div class="product-price">
    <span>148$</span>
    <a href="#" class="cart-btn">Add to cart</a>
  </div>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63769295

复制
相关文章
Flexbox在表单布局的应用
上面是一个空表单。根据 HTML 标准,它是一个块级元素,默认将占据全部宽度,但是高度为0,因为没有任何内容。
javascript.shop
2019/09/04
1.1K0
【说站】css Flexbox布局的介绍
1、Flexbox是flexiblebox的简称(注:灵活的箱容器),是CSS3引进的新布局模式。
很酷的站长
2022/11/24
4870
【说站】css Flexbox布局的介绍
移动端全兼容的flexbox速成班
本文介绍了移动端全兼容的flexbox速成班,包括常见概念、版本对比、实用技巧和实例演练等内容,并提供了7个移动端常见布局的demo。
练小习
2017/12/29
1.7K0
Skyfire-在移动设备上体验silverlight的效果
    Silverlight for mobile还未正式release,相信大家会比较期待。但是,大家就可以通过skyfire beta来体验silverlight的效果了。具体方法如下: 1.
ShiJiong
2018/01/11
7440
Skyfire-在移动设备上体验silverlight的效果
WordPress 技巧:在 WordPress 中如何判断移动设备访问
我前面介绍过 Mobile Detect 这个 PHP 类库,它可以用来检测移动设备环境,它有一个非常完整的库,可以检测出所用的设备类型(包括操作类型,以及手机品牌等都能检测)和浏览器的详细信息。
Denis
2023/04/15
1.6K0
移动端全兼容的flexbox速成班 - 腾讯ISUX
说起flexbox,都算是件陈年旧事了,它是2009年W3C提出的一种全新的可伸缩的CSS布局方式。依赖flexbox,我们可以更简单,高效的完成可伸缩式页面的布局。 业界与flexbox的相关教程文章也是各式各样,新旧交替,很多小伙伴对flexbox想用又不敢用,究其原因也就是即分不清它各个版本的编写规范,又苦恼于大家总是挂在嘴边的一句“flexbox兼容性不好”。 所以今儿前来总结一个精华干货贴,回顾那些楼主在项目里用过的flexbox,来谈谈那些不用苦恼“兼容”的flexbox最佳实例(本文只聊移动
腾讯ISUX
2018/06/29
1.3K0
循环移动数组元素
// 循环移动数组元素 // 一种大部分数据只移动一次的算法 // 方法: // 将数据循环移动, 可以直接计算出每个数据的最终位置, 直接移动即可 // 分析: // 这种算法基本可看做每个数据只需要移动一次 // 但是每个数据移动的位置需要计算, 算法理解起来比较难, 实现也比较复杂 // 另外,由于总是间隔较远存取数据,在数据数量较大的时候会导致比较频繁缓存命中失败 // 常用的两次翻转算法,每个数据需要swap两次(平均每个移动3次),而且很容易理解,实现也简单
全栈程序员站长
2022/09/17
1.5K0
LeetCode 1846. 减小和重新排列数组后的最大元素
给你一个正整数数组 arr 。请你对 arr 执行一些操作(也可以不进行任何操作),使得数组满足以下条件:
Michael阿明
2021/09/06
4200
如何在Nbuntu 18.04上将Nginx Web Root移动到新位置
在Ubuntu上,Nginx Web服务器将其文档存储在/var/www/html中,该文档通常位于其余具有操作系统部分的根文件系统上。但有时,将文档根移动到另一个位置(例如单独安装的文件系统)会很有帮助。例如,如果您从同一个Nginx实例提供多个网站,则将每个网站的文档根目录放在其自己的卷上,这样您就可以根据特定网站或客户端的需求进行扩展。
所有的酒都不如你
2018/10/19
9960
FlexBox布局
概述 FlexBox(弹性框布局):英文全称the flexible box Module,FlexBox旨在提供了在不同尺寸设备上都能保持一致的布局方式。 其主要思想是:让容器有能力让其子项目能够改变其宽度|高度|顺序,以最佳方式填充可用空间。在布局中,首先得确定主轴方向(flexDirection),主轴组件的对齐方式(justifyContent),侧轴组件的对齐方式(alignItems),通过以上四点可以基本确定布局。 注:FlexBox是CSS3弹性框布局规范,目前还处于最终征求意见稿 (Las
xiangzhihong
2018/01/26
3K0
flexbox 布局
即使不知道视窗大小或者未知元素情况之下都可以智能的、灵活的调整和分配元素和空间两者之间的关系。简单的理解,就是可以自动调整,计算元素在容器空间中的大小。
双面人
2019/07/03
9250
如何在Ubuntu 18.04上将Apache Web Root移动到新位置
在Ubuntu上,Apache Web服务器将其文档存储在/var/www/html中,该文档通常位于具有其余操作系统的根文件系统上。但有时,将文档根移动到另一个位置(例如单独安装的文件系统)会很有帮助。例如,如果您从同一个Apache实例提供多个网站,则将每个网站的文档根目录放在其自己的卷上,这样您就可以根据特定网站或客户端的需求进行扩展。
木纸鸢
2018/10/16
1.1K0
最全的常见css布局
对于第一种,先通过对 header,content,footer 统一设置 width:1000px;或者 max-width:1000px(这两者的区别是当屏幕小于 1000px 时,前者会出现滚动条,后者则不会,显示出实际宽度);然后设置 margin:auto 实现居中即可得到。
grain先森
2019/03/29
1.7K0
最全的常见css布局
排序 最少移动元素个数
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
喜欢ctrl的cxk
2019/11/08
1.2K0
使用 TFLite 在移动设备上优化与部署风格转化模型
文 / Khanh LeViet 和 Luiz Gustavo Martins,技术推广工程师
CV君
2020/05/27
1.7K0
使用 TFLite 在移动设备上优化与部署风格转化模型
学习CSS Flexbox,玩Flexbox 青蛙游戏
在学习CSS中,Flexbox是一个比较实用的CSS 布局属性,但很复杂,有些人可能没法很快掌握,今天我要推荐一个跟这个相关的游戏,在游戏中学习Flexbox,这岂不是一个让人觉得很快乐的事吗?
前端开发博客
2020/11/02
1.1K0
学习CSS Flexbox,玩Flexbox 青蛙游戏
在 Chrome DevTools 中添加额外的 Device Mode 模拟移动设备
iPhone 11,414,896,2,"Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.4 Mobile/15E148 Safari/604.1" iPhone 11 Pro,375,812,3,"Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.4 Mobile/15E148 Safari/604.1" iPhone 11 Pro Max,414,896,3,"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1" "iPad 10.2"" (2019)",810,1080,2,"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15" iPhone Xs,375,812,3,"Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1" iPhone Xs Max,414,896,3,"Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1" iPhone XR,414,896,2,"Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1" iPhone X,375,812,3,"Mozilla/5.0 (iPhone; CPU iPhone OS 11_1 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Version/11.0 Mobile/15B93 Safari/604.1" Samsung Galaxy Fold,586,820,2.625,"Mozilla/5.0 (Linux; Android 9; SM-F900U1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36" Samsung Galaxy Note10,412,869,2.625,"Mozilla/5.0 (Linux; Android 9; SM-N970XU) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36" Samsung Galaxy Note10+,412,869,3.5,"Mozilla/5.0 (Linux; Android 9; SAMSUNG SM-N975XU) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/10.2 Chrome/71.0.3578.99 Mobile Safari/537.36" Samsung Galaxy A20,980,1734,2.25,"Mozilla/5.0 (Linux; Android 9; SM-A205U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36" Samsung Galaxy S10,412,869,3.5,"Mozilla/5.0 (Linux; Android 9; SM-G973U) AppleWebKit/537.36 (KHTML
飞奔去旅行
2020/11/26
4.8K0
在 Chrome DevTools 中添加额外的 Device Mode 模拟移动设备
很基础但很重要,React 元素本质
它不是模板语法,而是 JavaScript 扩展语法,可以参与到 JavaScript 表达式的运算中
用户6901603
2022/05/24
3530
很基础但很重要,React 元素本质
flexbox 伸缩布局
row: 左-> 右 ,row-reverse: 右 -> 左 ,column:上 -> 下 ,column-reverse:下 -> 上
frontoldman
2019/09/03
1.3K0
React Native布局详细指南
一款好的APP离不了一个漂亮的布局,本文章将向大家分享React Native中的布局方式FlexBox。 在React Native中布局采用的是FleBox(弹性框)进行布局。
CrazyCodeBoy
2020/08/10
2.8K0

相似问题

仅在移动设备上将div作为块元素

21

Flexbox在移动设备上没有包装

10

Flexbox防止移动设备收缩

23

使元素在移动设备上重新排列(响应式布局)

110

无法在flexbox中移动元素

112
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档