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

CSS滚动条不显示

陈允晨
2023-03-14

我总是很难让布局与CSS一起工作。我肯定我错过了什么。基本上,我有一个由并排的两列组成的网页。右边的列包含一个固定宽度为200px的正方形。左边的列应该是可扩展的。由两列组成的页面内容的最大宽度应为400px。当屏幕宽度在200px400px之间时,左边的列应该缩小,但右边的列应该总是200px

问题是左列中有一些文本由一个没有空格的长单词组成。这个词恰好是一个URL,但它可能是任何东西,只要它没有任何空格。它似乎可以防止左列收缩。我尝试在包含长单词的左列区域添加一个水平滚动条,但滚动条不会显示。

这两列是flexbox项。我更喜欢这样保存它们,或者让它们成为grid项目。我使用flexbox而不是grid的唯一原因是因为我更熟悉flexbox。我只是不想在布局中使用浮动,因为我认为从长远来看这可能会变得混乱。

有人能给我解释一下,当屏幕宽度缩小到200px400px之间时,为什么滚动条不显示?如果我能让滚动条在屏幕宽度缩小时显示出来,它将解决所有的布局难题:)

代码如下:

.wrapper {
  width: 100%;
}

.center-wrapper {
  max-width: 400px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
}

.left-col {
  flex: 1 1 0;
}

.right-col {
  flex-shrink: 0;
}

.rectangle {
  width: 200px;
  height: 200px;
  background: grey;
}

.urls {
  overflow-x: auto;
}

.long-url {
  //display: none;
}
<div class="wrapper">
  <div class="center-wrapper">
    <div class="left-col">
      <h1>Some title</h1>
      <div>Some details</div>
      <div class="main-content">
      This is just some text.  Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah.
      
        <div class="urls">
          <ol class="list">
            <li>
              <span class="long-url">http://example.com/some/really/long/url#withasuperlonghashtag</span>
            </li>
          </ol>
        </div>
      </div>
    </div>
    <div class="right-col">
      <div class="rectangle"></div>
    </div>
  </div>
</div>

这是同样问题的另一个例子,但是没有长而完整的单词:

.wrapper {
  width: 100%;
}

.center-wrapper {
  max-width: 400px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
}

.left-col {
  flex: 1 1 0;
}

.right-col {
  flex-shrink: 0;
}

.rectangle {
  width: 200px;
  height: 200px;
  background: grey;
}

.other-rectangle {
  width: 200px;
  height: 200px;
  background: lightgreen;
}

.urls {
  overflow-x: auto;
}

.long-url {
  display: none;
}
<div class="wrapper">
  <div class="center-wrapper">
    <div class="left-col">
      <h1>Some title</h1>
      <div>Some details</div>
      <div class="main-content">
        This is just some text. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah.

        <div class="urls">
          <div class="other-rectangle"></div>
          <ol class="list">
            <li>
              <span class="long-url">http://example.com/some/really/long/url#withasuperlonghashtag</span>
            </li>
          </ol>
        </div>
      </div>
    </div>
    <div class="right-col">
      <div class="rectangle"></div>
    </div>
  </div>
</div>

共有2个答案

苍元章
2023-03-14

该问题似乎是由于默认的min-ware: auto属性设置在. leet-colflexbox项上而发生的。这可以防止. leet-cols项小于其内容。当我使用:

.left-col {
  flex: 1 1 0;
  min-width: 0;
}

对于。左栏,滚动条出现。我在这里找到了Michael Benjamin对另一个问题的答案。

嵇光临
2023-03-14

尝试将wordbreak设置为break all

.left-col {
  word-break: break-all;
}

使用默认值normal,文本中的换行符只能出现在某些空格中,如有空格或连字符时。但是,当涉及到一个长拷贝和粘贴的URL时,如果该URL没有连字符,它可能会扩展到父框之外,看起来很糟糕或更糟。滚动条不会出现,因为浏览器不知道将换行符放在哪里。

 类似资料:
  • 主要内容:1. overflow,2. overflow-x、overflow-y通过《 CSS盒子模型》一节的学习我们知道,页面中的每个元素都可以看作是一个矩形的盒子,我们可以使用 CSS 来控制盒子的大小、位置等等信息。默认情况下,当元素中的内容超出盒子的大小时,例如元素内容区的宽度和高度所组成的矩形区域中不足以容纳元素中的内容时,一部分内容就会溢出盒子。 1. overflow 为了能更好的处理溢出的内容,CSS 中提供了一个名为 overflow 的属性,该属性可以设置

  • 问题内容: 所以目前我有: 但是,我认为对于某些用户来说,那里有更多的内容是显而易见的。他们可以在不知道我的div实际包含更多内容的情况下向下滚动页面。我使用510px的高度,因此它会截断一些文本,因此在某些页面上看起来确实有更多内容,但这不适用于所有页面。 我使用的是Mac,在Chrome和Safari中,垂直滚动条仅在鼠标悬停在Div上并且您正在滚动时才会显示。有没有办法一直显示它? 问题答案

  • 问题内容: 亲朋好友,是否可以增加放置在元素内部的滚动条的宽度? 我不是在谈论 浏览器本身 的默认滚动条,此页面以全屏模式运行,并且由于浏览器滚动条从不显示图片,因此内部元素具有自己的滚动条。 问题答案: 如果您谈论的是带有(或)自动出现在滚动条上的滚动条,那么没有,那仍然是浏览器使用常规OS小部件呈现的本机滚动条,而不是可以样式化的(*)。 虽然您可以按照Matt的建议,将其替换为由可样式化的d

  • 问题内容: 我有一个div容器,其定义如下: 填充此div包含的表格后,这将自动为我提供水平和垂直滚动条。我只希望只自动显示水平滚动条。我将以编程方式修改桌子的高度。 我该怎么做呢? 问题答案: 除非使内容足够大以至于不能使用它们,否则不应同时获得水平和垂直滚动条。 但是,由于错误,您通常在IE中进行操作。签入其他浏览器(Firefox等)以查明是否实际上只有IE在执行此操作。 IE6-7(在其他

  • 我有一个类可以画一些非常简单的图形,比如直线、圆和矩形。线条可以动态扩展,有时当它们扩展到超出分辨率时,如果没有滚动条,就无法看到。因此,我已经将JScrollPane添加到JFrame中,但不幸的是,尽管已经调用了布局管理器,但滚动条还是无法滚动。 这是我所拥有的:-一个绘制组件(线条、矩形、圆形)的类-一个设置JFrame/JScrollPane的类 这是我的GUI类的摘录代码: 通过上面的代

  • 问题内容: 我试图弄清楚如何隐藏不需要的东西。我的意思是说我正在建立一个网站,并且有一个主要区域将显示帖子,并且如果内容未超过当前宽度,我想隐藏滚动条。 另外,我的第二个问题。我要这样做,以便当帖子超过当前宽度时,宽度将自动增加,并且内容不会开箱即用。 有人知道如何执行此操作吗? 帖子区域: 主网站容器: 问题答案: 将属性设置为,或者如果不继承该属性,则将其完全删除。