隐藏部分溢出的元素

2024-02-10

我正在寻找一种纯 CSS 方法来隐藏已部分溢出其容器的 div 3。请参阅附图。


这是一个可行的解决方案,它将完全隐藏不适合其父级固定高度的项目:Codepen https://codepen.io/PhilippeVay/pen/JyBQOy?editors=0100

它以一种棘手的方式使用多列布局:pseudos 和overflow: hidden作为最后的润色。在 Fx、Chrome、Edge 和 IE11 上可以(如果您不像我那样使用自定义属性来更好地理解。预处理器变量就可以了)

  • .container有固定的高度,否则这个问题就没有意义
  • Same .container是预期的两倍。它有 2 列,没有间隙/天沟
  • 它:伪:after存在(半透明的番茄斑点),因此被视为在此 2 列布局中要考虑的第四项。它的高度是 100% => 如果第一列没有足够的空间,它会使第三个项目占据第二列(第二个示例)
  • Parent .mask有我们想要的宽度(一半.container) and overflow: hidden:第 2 列.container被剪裁。您可以删除后一个声明以查看它剪辑的内容
  • Profit!
:root {
  --w: 40rem;
  --p-horiz: 1rem;
  box-sizing: border-box;
  font-size: 62.5%;
}

* {
  box-sizing: inherit;
}

.mask {
  width: calc(var(--w));
  overflow: hidden; /* REMOVE to see the trick */
  /*padding: 0 1rem; NOPE */
  padding: 1rem 0;
  background-color: #aaa;
  /*outline: 1px dashed red;*/
}

.container {
  position: relative;
  display: column;
    column-count: 2;
    column-gap: 0;
  width: calc(var(--w) * 2);
  /*max-*/height: 25rem; /* max-height also work, at least on Fx */
  font-size: 1.6rem;
}

.container:after {
  content: '';
  display: block;
  height: 100%;
  background-color: #FF634780;
}

.container:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 50%;
  height: 100%;
  background-color: #aaa;
}

/* 1. Sufficient for Fx */
/* 2. Needed for Chrome */
[class^="item-"] {
  overflow: hidden; /* 1. */
  display: inline-block; /* 2. */
  width: calc(100% - 2 * var(--p-horiz)); /* 2. */
  margin-left: var(--p-horiz);
  text-align: center;
  background-color: #ddd;
  /*outline: 1px dashed blue;*/
}

.item-1 {
  height: 8rem;
}

.item-2 {
  height: 4rem;
}

.item-3 {
  height: 8rem;
  background-color: lightblue;
}

.alt .item-3 {
  height: 16rem;
}

.mask:first-child {
  margin-bottom: 3rem;
}

[class^="item-"]:not(:first-child) {
  margin-top: 1rem;
}
<div class="mask">
  <div class="container">
    <div class="item-1">Block 1</div>
    <div class="item-2">Block 2</div>
    <div class="item-3">Block 3</div>
   </div>
</div>

<div class="mask">
  <div class="container alt">
    <div class="item-1">Block 1</div>
    <div class="item-2">Block 2</div>
    <div class="item-3">Block 3</div>
   </div>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

隐藏部分溢出的元素 的相关文章

随机推荐

  • Jquery cookie 记住下拉菜单的最后状态

    谁能帮我解决这个问题 我在互联网上找不到用 jQuery 执行此操作的脚本 我需要记住下拉菜单的最后状态 以便在页面加载时已经选择下拉选项 cookie 过期日期应为 90 天 或者让我在脚本中指定 因为我已经在我的页面上使用了 jQuer
  • Angular 2 - 更新到 rc4 后,ngModel 无法在
    内工作

    我刚刚更新了 RC4 然而 很多事情都停止工作了 下面的工作正常 现在 除非删除其中之一 否则 ngModel 无法在内部工作 page js import Component from angular core 页面 html
  • jsf html标签内部值

    我有这个命令按钮 我需要使用 Bootstrap 3 添加一个图标
  • 离子应用程序的 Keycloak:带有 cordova-native 的 keycloak-js 不起作用

    我正在尝试在我的 ionic 4 cordova 应用程序中使用 Keycloak js 来自 4 4 0 Final 库 我已遵循example https github com keycloak keycloak tree master
  • 错误由于错误而停止(org.apache.kafka.connect.cli.ConnectDistributed)java.lang.NoClassDefFoundError:io/debezium/util/IoUtil

    客观的 我正在尝试使用 Debezium 连接器 1 2 4 Final 从 Kafka Connect 最好是分布式模式 连接到我的 Oracle 数据库 12c 我使用的Kafka版本是2 13 2 6 0 使用的命令 正如所提到的he
  • YouTube 视频嵌入 pyqt

    如何使用 PyQt5 嵌入 youtube 视频 我尝试执行以下操作 但它给了我一个未解决的错误 DirectShowService doRender 未解决的错误代码 from PyQt5 import QtWidgets QtCore
  • 使用 Kerberos S4U 扩展(在 Java 8 中引入)通过 JDBC 连接到数据库

    自从我用 Java 编写代码以来已经有一段时间了 所以我可能遗漏了一些明显的东西 我想通过 JDBC 连接到数据库 我需要支持很多 SQL Server MySQL 等 但是 我想使用 Java 8 中添加的 Microsoft S4U J
  • 如何获取被调用例程中调用函数的名称?

    是否有一种 非内部 方式来获取调用者的姓名 如函数stop does 我的想法是 我有一个小函数来检查输入并在不满足某些条件时停止执行 该函数被其他几个使用相同验证代码的函数调用 如果输入无效 则调用者的环境将被转储 因此我可以看到传递给函
  • SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS 是什么意思?

    我正在尝试使用 onPreviewFrame 回调显示过滤后的相机预览 问题是当我删除这一行时 mHolder setType SurfaceHolder SURFACE TYPE PUSH BUFFERS 隐藏预览 应用程序崩溃 日志中写
  • 将 div 高度设置为等宽 ( javascript )

    我知道这是一个很受欢迎的问题 我已经阅读了解决方案 包括将 padding bottom 设置为相等宽度 以及将其分配给伪元素 以便更容易插入内容 加上其他 CSS 解决方案 css 高度与宽度相同 https stackoverflow
  • 如何在DNN中获取父页面的名称和链接

    我希望子页面上有一个链接 它不仅是父页面的名称 而且还链接到 DNN 中的父页面 在你的皮肤 ascx 文件中使用它 a href a 注意 这是针对 C 皮肤的
  • 在 Windows Phone 7 开发中使用 SQLite

    我是 Windows Phone 7 开发的新手 我使用 SQLite 作为数据库 那么任何人都可以帮助我了解如何使用它吗 如果您有任何有关此问题的帮助链接或论坛 请帮助我 我已经搜索了两天了 但我没有得到我想要的东西 Thanks 您是否
  • Proguard 重复的 Zip 条目

    我试图通过 Proguard 运行我的 Android 应用程序 但是这个不断出现 Warning Exception while processing task java io IOException Can t write C User
  • 在 Rails 的会话中存储对象

    我一直被教导在会话中存储对象是一个坏主意 相反 应该存储 ID 以便在需要时检索记录 但是 我有一个应用程序 我想知道它是否是该规则的例外 我正在构建一个抽认卡应用程序 被测验的单词位于数据库中的一个表中 其架构不会更改 我想存储当前在会话
  • 捕获承诺中的拒绝

    我想保留错误func reject 不直接到onError 通过选择 在我总是让func resolve 并确定后的返回结果yield func 如果我想直接前往onError use throw 想知道有什么更好的主意我可以让func r
  • RedirectToAction 到另一个控制器中的操作不起作用

    在我的 mvc3 POST ActionResult 方法中 我有一部分如下代码 if button Save as Pdf RedirectToAction getPdf Pdf resultObtained 当用户单击按钮时 它会将用户
  • Python配置文件:有什么文件格式推荐吗? INI格式还合适吗?看起来很老派

    我需要存储 Python 应用程序的配置 键 值 并且我正在寻找将这些配置存储在文件中的最佳方法 我遇到了Python的配置解析器 http docs python org library configparser html我想知道 INI
  • 使用 rspec 调用特定 url

    我想在 rspec 中创建一个 get 请求 get exec query gt bla id gt something user id gt user 这会构建一个类似以下的 URL user query something exec q
  • 在静默模式下安装 sqlcmd 接受 EULA

    我正在尝试以静默模式安装 sqlcmd 但我不知道如何自动接受 EULA 我尝试安装的文件名为 MsSqlCmdLnUtils msi 从 MS 下载中心下载 这是我到目前为止所尝试过的 通过谷歌找到 msiexec i MsSqlCmdL
  • 隐藏部分溢出的元素

    我正在寻找一种纯 CSS 方法来隐藏已部分溢出其容器的 div 3 请参阅附图 这是一个可行的解决方案 它将完全隐藏不适合其父级固定高度的项目 Codepen https codepen io PhilippeVay pen JyBQOy