如何创建 3 列响应式布局?

2024-04-23

我有一个 3 列布局。当从桌面访问它时,它显示如下:

-------------------------------------------
| columnleft | columncenter | columnright |
-------------------------------------------

我希望从手机/平板电脑/调整大小浏览器查看它时是这样的:

----------------
| columnleft   |
----------------
| columncenter |
----------------
| columnright  |
----------------

我的示例如下,这是JSFiddle http://jsfiddle.net/XD8RW/1/.

<style>
    .column-left{ float: left; width: 33%; }
    .column-right{ float: right; width: 33%; }
    .column-center{ display: inline-block; width: 33%; }
</style>
<div class="container">
    <div class="column-left">Column left</div>
    <div class="column-center">Column center</div>
    <div class="column-right">Column right</div>
</div>

有很多方法可以做到这一点。首先,您需要使 div 在大屏幕上显示为列,然后使用媒体查询将它们更改为中/小屏幕上的行。

适合所有人的 HTML:

<div class="container">
  <div class="section">1</div>
  <div class="section">2</div>
  <div class="section">3</div>
</div>

1. 弹性盒:

JSFiddle https://jsfiddle.net/c6qgoLmw/

.container {
  display: flex;
}

.section {
  flex: 1; /*grow*/
  border: 1px solid;
}

@media (max-width: 768px) { /*breakpoint*/
  .container {
    flex-direction: column;
  }
}

2. 浮动:

JSFiddle https://jsfiddle.net/e93w86ho/

.container:after { /*clear float*/
  content: "";
  display: table;
  clear: both;
}

.section {
  float: left;
  width: 33.3333%;
  border: 1px solid;
  box-sizing: border-box;
}

@media (max-width: 768px) { /*breakpoint*/
  .section {
    float: none;
    width: auto;
  }
}

3.内联块:

JSFiddle https://jsfiddle.net/8zqqwu1n/

.container {
  font-size: 0; /*remove white space*/
}

.section {
  font-size: 16px; /*reset font size*/
  display: inline-block;
  vertical-align: top;
  width: 33.3333%;
  border: 1px solid;
  box-sizing: border-box;
}

@media (max-width: 768px) { /*breakpoint*/
  .section {
    display: block;
    width: auto;
  }
}

4.CSS表:

JSFiddle https://jsfiddle.net/04vnfw3w/

.container {
  display: table;
  table-layout: fixed; /*euqal column width*/
  width: 100%;
}

.section {
  display: table-cell;
  border: 1px solid;
}

@media (max-width: 768px) { /*breakpoint*/
  .section {
    display: block;
  }
}

5.CSS网格:

JSFiddle https://jsfiddle.net/zs9why1a/

.container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; /*fraction*/
}

.section {
  border: 1px solid;
}

@media (max-width: 768px) { /*breakpoint*/
  .container {
    grid-template-columns: none;
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何创建 3 列响应式布局? 的相关文章

  • 如果在 中执行 document.write,为什么 DHTML 行为在 IE8 中不起作用?

    我们有一个 3rd 方 Web 应用程序 可以在 IE6 中运行 但不能在 IE8 中运行 示例代码如下 在IE6中会弹出 message from htc 消息 但在IE8中不会弹出 测试 html
  • 自动调整Google网站嵌入代码的高度(html)

    我正在使用 Google 协作平台嵌入 HTML 代码 将代码粘贴到 从网络嵌入 窗口中 输出的长度是可变的 我希望有一种方法可以动态调整父级的高度iframeGoogle 协作平台用于托管我的 HTML 我知道我可以使用 Google 协
  • 使用 pkg:sjPlot 函数创建一个生成部分斜体单元格的数据框

    我正在尝试创建一个简单的数据表 其中 Coral taxon 列中的属名称为斜体 而 spp 列中的属名称为斜体 属名后面的部分不大写 我尝试使用 expression 函数对 Coral taxon 的每一行进行编码 但没有成功 sum
  • 如何在 R 中绘制一列与其余列的关系图

    我有一个数据集 其中 1 是时间 接下来的 14 个是幅度 我想在一张图表上散布所有大小与时间的关系 其中每个不同的列都是网格化的 分层在另一个之上 我想使用原始数据来制作这些图表 并单独制作它们 但只想执行此过程一次 数据集A 唯一的自变
  • 如何向我的网站添加 Google 搜索框?

    我正在尝试将 Google 搜索框添加到我自己的网站 我希望它搜索谷歌本身 而不是我的网站 我曾经有一些代码可以工作 但现在不再工作
  • 将文本大小调整为矩形 在 Canvas HTML5 中调整大小

    我是 Canvas 新手 我正在创建一个网站 以在调整矩形大小时增加文本 我尝试了很多 但没有任何效果 实际上 我希望如果我仅按其宽度调整矩形大小 向左拉伸 向右拉伸 则仅应增加文本宽度而不是字体大小 我已经完成了字体大小 但发现增加孤立文
  • iOS 解决方法:在没有 CSS 属性的情况下平滑滚动 滚动行为:平滑?

    编辑 我找到了一个 jQuery 解决方案 https codepen io chriscoyier pen dpBMVP https codepen io chriscoyier pen dpBMVP这个确实可以在 iOS 上运行 我想
  • 如何仅在 css/html 中强制在单词之间换行?

    我只有一段普通的文本 p 标签内的 p div 标签 但只有 Firefox 可以正确显示 Firefox 打破了单词之间的界限 所有其他浏览器都会在单词中间断行 这使得阅读变得困难 这是我的意思的一个例子 火狐浏览器 工作中 This w
  • 如何适应特定子元素的宽度?

    problem 我正在尝试创建一个技能表 我无法问下一个问题为什么 所以我创建了一个新帐户并询问 当前状态 我想将元素的宽度与 meter 也就是说 如何设定区块的标准 meter 子元素 在上面的 gif 中 img meter 我想要保
  • Firefox Placeholder Before CSS 选择器不起作用

    我使用的是最新的firefox 30 0 我正在尝试在必填字段的占位符之前插入红色字体真棒星号 我在 Chrome 中工作没问题 但我在 FF 和 上遇到问题 这是一个说明我的问题的代码笔 http codepen io anon pen
  • ToggleClass 动画 jQuery?

    我的网站上有一个部分 当用户单击时我希望它展开 我正在使用 jQuerytoggleClass为了这 expandable function e e preventDefault this closest article toggleCla
  • html css 下拉菜单

    这是我第一次在 Stack Overflow 上发帖 我不熟悉论坛发帖规定 所以请让我知道我做错了什么 我在论坛中研究过这个问题 但我所遇到的一切都没有给我明确的答案 我试图从 新闻 元素创建一个下拉菜单 但在运行代码时我从未得到任何可见的
  • 将 CSS 生成的三角形拆分为 2 个水平不同的相同颜色

    正如您应该能够通过此代码看到的那样fiddle http jsfiddle net Xh36r 1 以及下面 我希望能够分割显示在第二个 div 顶部的 CSS 生成的三角形水平均等在 之间orange and green使用的颜色 现在它
  • HTML 元素的默认背景颜色是什么?白色还是透明?

    我只是被一个简单的问题困住了 想弄清楚 HTML 元素的默认背景颜色是什么 是白色的还是透明的 默认背景颜色是透明的 看这里 https developer mozilla org en docs Web CSS background co
  • 使用@font-face时浏览器下载什么字体

    font face 有点令人困惑 因为所有浏览器都无法决定使用哪种文件格式 下面是我目前正在使用的向网站添加 1 个新字体的方法 您可以看到有 4 个单独的字体文件 我知道每个文件都是因为某些浏览器支持不同的格式 但浏览器是下载所有文件还是
  • 如何让div与包含td的高度相匹配?

    我沿着桌子的一排布置了三个 面板 一个比另外两个高 我希望所有三个面板都与最高的一个的高度相匹配 我尝试将 div 的样式设置为 height 100 但是即使包含的 tds 增长 短面板仍然很短 我的 HTML 是由 JSF 生成的 因此
  • HTML 输入 - 名称与 ID [重复]

    这个问题在这里已经有答案了 使用 HTML 时
  • 如何在表格列标题处垂直旋转文本

    我用过这个数据表 http www datatables net 在我的网页上 这是fiddle http jsfiddle net fxju7 2 链接我放置代码的地方 我想要 第一个数字第二个数字列应该垂直旋转 我已经做到了 但是 问题
  • 如何使用Python保存“完整的网页”而不仅仅是基本的html

    我正在使用以下代码来使用 Python 保存网页 import urllib import sys from bs4 import BeautifulSoup url http www vodafone de privat tarife r
  • 强制输入数字小数位

    我想强制

随机推荐

  • 为什么 Google Analytics 使用 __utm.gif?

    只是想了解他们为什么不使用 REST API 在REST中 客户端向服务器发起资源请求 服务器处理这些请求并返回适当的响应 The utm gif不参与服务器到客户端的数据传输 而是参与向另一个方向移动数据 当然 REST 具有供客户端与服
  • 是否可以将公共IP分配给AWS中的Lambda函数?

    我们需要访问企业后端中的 API 该 API 仅接受来自授权 IP 地址的调用 此时 我们的移动客户端正在调用 AWS Lambda 函数 该函数执行一些转换 然后调用分配了授权公共 IP 地址的 EC2 实例上的另一个服务 第二个服务执行
  • SQLite数据适配器不显示数据

    我试图在 Windows 窗体应用程序中填充数据网格视图 但当我执行选择查询时 数据库没有返回任何内容 我已经在本网站上查看了有关此主题的其他问题 但找不到任何可以解决我的问题的内容 数据视图表的名称是qbcMemDataView 数据源是
  • 如何使用 Java 中的 Scanner 将输入值存储在数组中

    您好 我是 Java 新手 我正在尝试 Scanner 类 我试图解决一个小问题 我想输入两个输入 例如 4 5 6 和 8 9 0 我想将 4 5 6 存储在一个数组中 将 8 9 0 存储在另一个数组中 然后打印这些数组 但我无法这样做
  • “:=”有什么作用?

    我见过 在多个代码示例中使用 但从未附带说明 如果不知道它的正确名称 就不可能通过谷歌搜索它的用途 它有什么作用 http en wikipedia org wiki Equals sign In computer programming
  • Gitolite 权限仅限于一个分支

    我有点困惑gitolite https gitolite com gitolite 权限 仅允许 1 个分支并拒绝特定用户或组的所有其他分支的最佳方法是什么 See 部分复制 分支的选择性读取控制 https gitolite com gi
  • 从列表转换为数字

    我正在从列表形式强制转换为数字形式 如果有用的话 列表最初是从一个因素中绘制的 并且是 1x33 行 我的列表定义为 tmpseqsf 1 其中规定 TradeValue 1 72914431 2 25325 3 20139 4 因此 根据
  • 与基于类的方法相比,使用 Hooks 设置状态后重新渲染有什么区别?

    类组件 在 React 类组件中 我们被告知setState always导致重新渲染 无论状态是否实际更改为新值 实际上 一个组件will当状态更新到时重新渲染same以前的价值 文档 setState API 参考 https reac
  • ViewPager内部的TextView拦截触摸事件

    我有一个ViewPager包含两个片段 在任何片段中我都可以触摸一个地方 滑动即可切换到另一个地方fragment 其中一个片段包含一个列表 列表中的项目包含一项TextView和一个ImageView 问题是 如果您是从点击开始拖动的Im
  • 未定义的索引:php 脚本中的错误

    在 php 页面中我有以下代码 if REQUEST c I get error on this line itself Why pidis int REQUEST c 我不断收到未定义索引错误 在谷歌搜索上 我设法理解 如果我们尝试访问的
  • Visual Studio 设置以在运行时删除对 dll 文件的依赖

    到处都有人建议当 Visual Studio 在运行时找不到 DLL 时如何让 Visual Studio 知道 但我想知道在哪里删除该选项 以便 Visual Studio 在运行时不会尝试查找 dll 文件 我昨天也有类似的问题 但没有
  • Spring XML 406错误

    我正在尝试使用 Java 制作 RESTful 服务 使用多个教程和许多 StackOverflow 条目 不幸的是 我似乎无法让我的代码工作 当我尝试到达端点时 我一直收到 Http 406 任何帮助表示赞赏 GreetingContro
  • 工厂中的依赖注入

    我对 DI 很陌生 但我真的很想尝试使用它 有件事我不明白 这是一个简单的工厂伪代码 我经常使用 class PageFactory public function construct dependency list save refere
  • CLLocationManagerDelegate 协议中的挂钩

    我已经 3 天遇到问题了 我想在 CLLocationManagerDelegate 协议中挂钩此方法 void locationManager CLLocationManager manager didUpdateLocations NS
  • 在 Corona sdk 上保存高分?

    我想保存游戏中创建的高分 并且当玩家点击高分按钮时可以在主菜单中看到 有人可以帮助我吗 您可以使用SQLITE https docs coronalabs com api library sqlite3 index html将高分保存到数据
  • 使用 Puppet 配置远程规则集

    我正在尝试使普罗米修斯自动化node exporter和我的普罗米修斯服务器 为了node exporter我已经编写了一个模块来安装所有需要的软件包 设置 ipaddress基于facter还有更多 现在我想确保收集到的信息 hostna
  • Haskell-Stack:构建期间出现访问冲突错误

    过去几天我一直在尝试使用堆栈构建我的 Haskell 项目 但遇到了访问冲突错误 据我了解 我有最新的堆栈版本和 GHC 这一切最初都是有效的 直到我将一个库添加到我的 cabal 文件中 我现在已经将其删除 但错误仍然出现 我也恢复到我的
  • Flutter ListView收缩包装——嵌套ListView

    我在 ListView 中有一个 ListView 内部 ListView 不知道它的高度应该是多少 所以我必须用例如 SizedBox 给它一个特定的高度 然而问题是 我实际上希望内部 ListView 收缩包装 这样它就不会滚动 占用父
  • iPhone如何将一个视图控制器的视图添加到另一个视图控制器的视图?

    这一直在我的脑海里 我真的不知道如何正确地将一个视图控制器管理的视图添加到另一个视图控制器的视图中 这不起作用 因为视图未完成加载 self messageViewController PopupMessagesViewController
  • 如何创建 3 列响应式布局?

    我有一个 3 列布局 当从桌面访问它时 它显示如下 columnleft columncenter columnright 我希望从手机 平板电脑 调整大小浏览器查看它时是这样的 columnleft columncenter column