html - 移除 flex 容器左右两侧的间隙
问题描述
我有这个包含左框、中框和右框的 flex 容器。
我应用 flex-start 对齐以重新排列块从位置 3 到位置 3 以及从位置 1 到位置 2,而由图像组成的中心框移动到列中的位置 1。
最初,这适用于移动版布局。flex 容器上方的标题在右侧有一个绝对定位的非画布菜单切换按钮,并且高度设置为 auto。
应用代码后,我发现移动布局在左侧框旁边和右侧框旁边显示奇怪的间隙。
假设左框和右框具有绝对定位以适应桌面版本中元素的复杂放置(即重叠的 web 3.0 样式现代块),其中由于绝对位置,左框和右框都应用了 margin-left,我认为 flex-start 属性会消除屏幕左右两侧的间隙(就像“鬼间隙”)。
理想情况下,我希望左框和右框或整个容器以及标题粘贴到屏幕的左侧和右侧。
这里有一些伪代码供参考:
HEADER
header{height: auto;}
CONTAINER
.container{width:750px; margin:auto; background: white:
padding: 15px;}
ROW (containing three boxes)
.row{clear:both;
width:750px;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
flex-wrap: wrap;
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
/* optional */
-webkit-box-align: start;
-moz-box-align: start;
-ms-flex-align: start;
-webkit-align-items: flex-start;
align-items: flex-start;}
LEFT BOX
#leftabout{
-webkit-box-ordinal-group: 2;
-moz-box-ordinal-group: 2;
-ms-flex-order: 2;
-webkit-order: 2;
order: 2;
width:750px;
display:block; margin-left:114px;
}
CENTER BOX
#centerimage{-webkit-box-ordinal-group: 1;
-moz-box-ordinal-group: 1;
-ms-flex-order: 1;
-webkit-order: 1;
order: 1}
RIGHT BOX
#rightabout{
-webkit-box-ordinal-group: 3;
-moz-box-ordinal-group: 3;
-ms-flex-order: 3;
-webkit-order: 3;
order: 3;
width:750px; display:block; margin-top:0px;background: white;
height: 450px; padding: 0px 0px 20px 20px; margin-left: 114px;
}
伪代码 HTML 结构:
标题 CONTAINER 行 LEFT CENTER RIGHT
问题的外观如下:
[ gap] [ left box] [center image] [right box] [gap]
这里我想去掉左右两边的[gap],让左右两边的盒子粘在移动设备屏幕的侧面。
任何消除差距的建议和指导将不胜感激
编辑:这里是 JS fiddle 演示,以显示我的意思,用于演示目的以显示间隙,而不是它没有将 flex 的右侧带到设备屏幕: https ://jsfiddle.net/martyforever/6bd9ca3y/
解决方案
推荐阅读
- html - 制作 html 内置信使
- jquery - 变量/函数名称对于周围的 jQuery(函数($))是唯一的吗?
- c# - AES 初始化向量和密文
- ios - 使用 @EnvironmentObject 无休止地重新渲染 Swift UI Tabview
- ruby-on-rails - 每个字段上的 GraphQL Ruby Resolver
- lua - 如何在 Neovim 中使用 mod 键(Ctrl、Alt、Shift 等)编写 Lua 命令
- sql - 如何使用 CASE WHEN 从我们的分类和竞争分类中获取匹配的 SKU 产品
- laravel - Laravel 文件系统(url)公开显示无图像
- python - raise ValueError("name_scope 的名称必须是字符串。"
- javascript - 使用本地存储保存游戏进度