当前位置: 首页 > 知识库问答 >
问题:

flex内部的网格具有固定宽度的左右边栏

南宫炜
2023-03-14

我正在尝试用html和CSS制作以下内容:图像草图

基本上,我想完成这一点:

  • 左右边栏的宽度始终为200px,它们本身没有页边距或页边距(它们的高度为100%)
  • 中间为12列网格div,网格间隙为10px

网格如何结构化本身并不重要(我知道这部分),但是我没有按照正确的顺序对齐div(左、网格和右侧栏)。

null

#container{
	display: flex;
}

#left-sidebar{
	background-color: blue;
	height: 100%;
    width: 200px;
	position: fixed;
	left: 0;
}

#grid{
	display: grid;
	grid-template-columns: repeat(12,1fr);
	grid-template-rows: repeat(12, 1fr);
	grid-gap: 10px;
	height: 100vh;
	padding: 10px;
  flex: 1;
}

#right-sidebar{
	background-color: blue;
	height: 100%;
    width: 200px;
	position: fixed;
	right: 0;
}

#g1{
	background-color: orange;
	grid-column: 1 / 4;
	grid-row: 1 / last-line;
	border-radius: 4px;
}

#g2{
	background-color: red;
	grid-column: 4 / 13;
	grid-row: 1 / last-line;
	border-radius: 4px;
}
<div id="container">

  <div id="left-sidebar"></div>
  
  <div id="grid">
    <div id="g1"></div>
    <div id="g2"></div>
  </div>
  
  <div id="right-sidebar"></div>
  
 </div>

null

我要格子在两个边栏之间...

共有1个答案

辛弘壮
2023-03-14

您可以在网格的左右两边添加一个200px的填充,这样它就在边栏之间了。

null

css prettyprint-override">#container{
	display: flex;
}

#left-sidebar{
	background-color: blue;
	height: 100%;
    width: 200px;
	position: fixed;
	left: 0;
}

#grid{
  padding-left: 200px !important;
padding-right: 200px !important;
	display: grid;
	grid-template-columns: repeat(12,1fr);
	grid-template-rows: repeat(12, 1fr);
	grid-gap: 10px;
	height: 100vh;
	padding: 10px;
  flex: 1;
}

#right-sidebar{
	background-color: blue;
	height: 100%;
    width: 200px;
	position: fixed;
	right: 0;
}

#g1{
	background-color: orange;
	grid-column: 1 / 4;
	grid-row: 1 / last-line;
	border-radius: 4px;
}

#g2{
	background-color: red;
	grid-column: 4 / 13;
	grid-row: 1 / last-line;
	border-radius: 4px;
}
<div id="container">

  <div id="left-sidebar"></div>
  
  <div id="grid">
    <div id="g1"></div>
    <div id="g2"></div>
  </div>
  
  <div id="right-sidebar"></div>
  
 </div>
 类似资料:
  • 问题内容: 我正在寻找一种将2个div作为列的方法,其中右侧的div具有固定的宽度,左侧的div填充剩余空间。 有谁碰巧知道是否可以做到这一点? 我的尝试 (在block1下面提供了block2) : 问题答案: 您可以这样做: HTML: CSS:

  • 问题内容: 我的要求很简单: 2列,其中正确的列具有固定的大小 。不幸的是,无论是在stackoverflow上还是在Google中,我都找不到可行的解决方案。如果我在自己的上下文中实现,那么那里描述的每个解决方案都会失败。当前的解决方案是: 我得到以上代码的以下内容: 请指教。非常感谢! 问题答案: 除去左列上的浮子。 在HTML代码处,右列必须位于左列之前。 如果右边有一个浮点数(和宽度),并

  • 问题内容: 许多人仍然使用表格来布局控件,数据等。-流行的jqGrid就是一个例子。但是,发生了一些我似乎无法理解的魔术(它的桌子大声喊叫,可能有多少魔术?) 如何设置表的列宽并使它像jqGrid那样遵守!?如果我尝试复制此内容,即使我设置了every ,只要这些单元格之一的内容大于20px,该单元格就会展开! 有什么想法或见解吗? 问题答案: 您可以尝试对所有行使用标签管理表样式,但是您需要在或

  • 问题内容: 我是Java Swing的新手,对下一个代码感到困惑。 我的目标是制作带有 2个JTextPane的 垂直可滚动面板 。具有父面板固定宽度70%的第一个JTextPane和具有固定宽度30%的第二个JTextPane。因为这两个JTextPane具有固定的宽度,所以它们只能在垂直方向上扩展更多文本。 我使用此解决方案,因为我只想为此2个JTextPane使用一个滚动条。 我的初始化代码

  • 我是Java Swing的新手,我对下一个代码感到困惑。 null

  • 问题内容: 许多人仍然使用表格来布局控件,数据等。-流行的jqGrid就是一个例子。但是,发生了一些我似乎无法理解的魔术(它的桌子大声喊叫,可能会有多少魔术?) 如何设置表的列宽并使它像jqGrid那样遵守!?如果我尝试复制此内容,即使我设置了every ,只要这些单元格之一的内容大于20px,该单元格就会展开! 有什么想法或见解吗? 问题答案: 您可以尝试对所有行使用标签管理表样式,但是您需要在