首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Overflow-x被overflow-y覆盖

Overflow-x被overflow-y覆盖
EN

Stack Overflow用户
提问于 2012-07-27 17:27:23
回答 2查看 5.2K关注 0票数 2

看起来overflow-xoverflow-y的行为并不像我期望的那样。如果我将overflow-x设置为visible,将overflow-y设置为auto,overflow-x将不会表现为可见,而是隐藏。

是我漏掉了什么,还是这很正常?

Here就是一个例子。

HTML:

代码语言:javascript
复制
</html
  <body>
    <div class='container'>
      <div class='content'>
        This is a content
      </div>
      <div class='content'>
        This is a content
      </div>
      <div class='content'>
        This is a content
      </div>
      <div class='content'>
        This is a content
      </div>
      <div class='content'>
        This is a content
      </div>
      <div class='content'>
        This is a content
      </div>
    </div>
  </body>
</html>

CSS:

代码语言:javascript
复制
.container {
  background: rgba(0, 0, 0, 0.1);
  width: 200px;
  height: 100px;

  overflow-y: auto;
  overflow-x: visible;
}

.content {
  border: 1px solid rgba(255, 255, 255, 0.6);
  color: rgba(255, 255, 255, 0.6);
  position: relative;
  margin-left: -14px;
  padding-left: 14px;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-27 17:33:55

编辑:更多细节后由OP:

overflow CSS属性指定是剪切内容、呈现滚动条还是显示块级元素的溢出内容。

将overflow特性的值与其默认值visible不同时,将创建新的块格式上下文。这在技术上是必要的,因为如果一个浮动将与滚动元素相交,它将强制围绕入侵的浮动重新包装可滚动元素的内容。重绕将在每个滚动步骤之后发生,并将导致太慢的滚动体验。请注意,通过以编程方式将scrollTop设置为相关的HTML元素,即使overflow具有隐藏的值,元素也可能需要滚动。

Overflow的

visible:默认值。内容不会被裁剪,它可能会呈现在内容框之外。

hidden:内容被剪切,不提供滚动条。

scroll:内容被剪切,桌面浏览器使用滚动条,而不管是否有任何内容被剪切。这避免了滚动条在动态环境中出现和消失的任何问题。打印机可能会打印溢出内容。

auto:取决于用户代理。如果内容溢出,像Firefox这样的桌面浏览器会提供滚动条。

补充了更多细节:

来自:http://www.brunildo.org/test/Overflowxy2.html

在壁虎、野生动物园、歌剧中,“visible”与“

”组合时也会变成“auto”(换句话说:“visible”与“visible”以外的任何东西组合时也会变成“auto”)。Gecko 1.8,Safari 3,Opera 9.5在它们之间是相当一致的。

此外,W3C spec还表示:

‘overflow-x’和‘overflow-y’的计算值与它们的指定值相同,只是与‘visible’的某些组合是不可能的:如果其中一个指定为‘visible’,而另一个指定为‘scroll’或‘auto’,则‘visible’将设置为‘auto’。如果‘overflow-y’与‘overflow-x’相同,则‘overflow’的计算值等于‘overflow-x’的计算值;否则是‘overflow-x’和‘overflow-y’的计算值对。

票数 3
EN

Stack Overflow用户

发布于 2012-07-27 17:38:38

实际上,在您的示例中,overflow-x将充当auto

有一些overflow-xoverflow-y的组合不能组合,因为它们根本不能工作。您不能让内容在一个方向上在容器内滚动,而在另一个方向上在容器外可见。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11685039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档