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

HTML/CSS:创建两行,分别有2列和3列,它们应该占据窗口视口,单元格应该滚动

吕淮晨
2023-03-14

我尝试用基本的CSS(没有CSS或JS库,它应该全部适合一个HTML文件)创建一个简单的HTML页面布局。

+-------------------------------------------------+
| row1col1 ..................... row1col1         |
|                                                 |
|                                                 |
|                                                 |
| row2col1 ......  row2col2 ...... row2col3 ..... |
|                                                 |
|                                                 |
+-------------------------------------------------+

布局应该显示两行信息,其中第一行有两个单元格/列,第二行有3列。

我希望这两行分别占窗口高度的60%和40%,但至少400px。

第一行中的列应占窗口宽度的60%和40%,但至少400px;

第二行的列应占窗宽的1/3,但至少300px;

但是,如果这样的列/单元格中有许多行内容(第一行或第二行),我不希望单元格垂直扩展超过行的高度(第一行的高度应该是窗口高度的60%但至少400px,第二行的高度应该是窗口高度的40%但至少400px)。 如果单元格内有更多的行,则应显示滚动条,使它们可滚动。

我尝试从SO复制,粘贴一些类似问题的解决方案,但我尝试的都不起作用,对于如何实现每行几列的行为,有许多非常不同的建议。 在我看来,表格,表格行,表格单元格等显示样式最适合于此,但使用这些样式,我发现无法限制单元格的高度或使其可滚动(垂直或水平)。

我真的想让单元格适应封闭窗口或Iframe的大小,行和列占高度/宽度的一定百分比,如果有更多的显示,单元格使用滚动条,但我不知道如何做到这一点。

到目前为止,我所拥有的,不起作用的内容在这里:https://jsfiddle.net/johann_petrak/caflqdz5/

共有1个答案

戚鸿
2023-03-14

下面是我使用flex属性对它的看法。 将最小高度和最小宽度设置为400px是相当大的,可能会搞砸您正在寻找的响应性。

null

  .row{
        min-height: 400px;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        width: 100%;
      }

      .col{
        border: 1px solid black;
        display: inline-block;
        min-height: 400px;
        min-width: 400px;
        padding: 10px;
        white-space: normal;
        overflow-y: scroll;
      }
<section>
      <div class="row" style="height:60vh">
        <div class="col" style="width:60%;">
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
        </div>
        <div class="col" style="width:40%;">
          Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
        </div>
      </div>

      <div class="row" style="height:40vh;">
        <div class="col">
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
        </div>
        <div class="col">
          Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
        </div>
        <div class="col">
          Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
        </div>
      </div>
    </section>
 类似资料:
  • 好的,我有一个带屏幕的JFrame。我把尺寸设定为800乘800。但是,创建的窗口比该窗口小。任务栏没有问题,因为它不是全尺寸的。 在screen类中,paint方法在边框应位于的位置周围绘制一个框: 当我运行它时,窗口比盒子小,底部和右侧被切断。 请注意,我手动调整了第二张图片的大小,以显示边框的差异。 我意识到我已经把盒子的每一面都画小了1个像素,但差别远不止2个像素。

  • 我正在与熊猫的df与有关netflix节目的信息。其中一列是一个字符串,其中包含所有参与生产的国家。我使用以下代码创建了一个附加列,该列旨在列出所有单个国家(因为有涉及多个国家的联合制作),名为: 之后,我尝试创建一个名为的新列,通过执行以下操作,该列包含了列列表中的国家数: 然而,我得到了以下错误:typeerror:“float”类型的对象没有len() 这对我来说没有意义,因为列中填充的是列

  • pre { white-space: pre-wrap; } 创建一个窗口(window)非常简单,我们创建一个 DIV 标记: <div id="win" title="My Window">     Some Content. </div> 现在运行测试页面,您会看见一个窗口(window)显示在您的屏幕上。我们不需要写任何的 javascript 代码。 如果您希望创建一个隐藏的窗口(w

  • 问题内容: 在这里,我对元素进行了设置,并为其应用了相关的CSS。 要么 现在,这里我给的,它也做同样的工作对我来说。 那么,什么是之间准确的区别 标识 和 类 ,当我应该使用 ,当我应该使用 ?我是CSS和Web设计的新手,在处理此事时有些困惑。 问题答案: 例 (请注意,CSS使用前缀 # 表示ID,使用 。 表示类。) 但是 ,HTML 5中弃用了HTML4.01标记属性。在CSS中,没有“

  • 译注 注意,由于作者对教程做出了更新,之前本节使用的是GLEW库,但现在改为了使用GLAD库,关于GLEW配置的部分现在已经被修改,但我仍决定将这部分教程保留起来,放到一个历史存档中,如果有需要的话可以到这里来查看。 在我们画出出色的效果之前,首先要做的就是创建一个OpenGL上下文(Context)和一个用于显示的窗口。然而,这些操作在每个系统上都是不一样的,OpenGL有目的地从这些操作抽象(

  • 问题内容: 鉴于以下HTML和CSS,我在浏览器中看不到任何东西(撰写本文时,Chrome和IE最新)。一切都崩溃为0x0像素。为什么? 问题答案: CSS表模型基于HTML表模型 一个表分为ROWS,并且每一行包含一个或多个单元格。单元格是ROWS的子级,它们是列的子级。 “ display:table-column”不提供用于制作列式布局的机制(例如,具有多列的报纸页面,其中内容可以从一列流向

  • 我是一个ameatur编码器,我最近开始使用pyplay,我一直在编码一些例子,我刚刚找到一个执行时无法正常加载的例子。我很确定我写对了,但我不知道为什么它不会运行。我运行Python 3.6和Pygame1.9.3。** *我知道pygame的版本是1.9,但我不知道最后一个数字。 这是代码:

  • 问题内容: 假设我使用的是我不知道其源代码的库。它具有返回List的方法,如下所示: 我想知道这是否是个好主意: 例如,如果getObjs()中List的具体实现是a,那么是否会存在某种类型的差异? 问题答案: 不,这不是一个好主意。除非出于某种原因您需要从中执行特定操作,否则应始终使用接口()声明列表变量。 另外,如果您这样做,则需要确保返回的列表是。在这种情况下,的承诺合同只是返回类型是的某种