CSS中的梯形div

2023-12-08

我想要内容为梯形的部分div但我不知道如何开始或实现我的目标的最佳方法是什么:

enter image description here

我遇到过这个解决方案,但没有太多信息可供我理解CSS3 转换为梯形

HTML

<div class="section">
    <p>content here</p>
</div>

这是创建类似梯形的 div 的方法。 这使用了::before and ::after伪元素

.example {
  margin: 20px 0px;
  position: relative;
  display: inline-block;
  width: 200px;
  height: 200px;
  background-color: gray;
  color: white;
  font-size: 2rem;
}
.example::before {
  content: "";
  position: absolute;
  top: -20px;
  border-top: 20px solid transparent;
  border-left: 0px solid transparent;
  border-right: 200px solid gray;
  border-bottom: 0px solid gray;
}
.example::after {
  content: "";
  position: absolute;
  bottom: -20px;
  border-bottom: 20px solid transparent;
  border-left: 0px solid transparent;
  border-right: 200px solid gray;
  border-top: 0px solid gray;
}
<div class="example">
  <p>Example</p>
</div>

有反应吗? 我可以通过 css 解决方案来破解,但我会推荐 svg

.trap-container {
  position: relative;
  /*Change this to test responsive*/
  width: 400px;
  /*change this to test responsive*/
  height: 150px;
}
.trap-container svg {
  position: absolute;
}
.trap-content {
  display: inline-block;
  position: relative;
  top: 10%;
  height: 80%;
  width: 100%;
  bottom: 10%;
  color: white;
}
<div class="trap-container">
  <svg width="100%" height="100%" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none">
    <polygon points="0,10 100,0 100,100 0,90">
    </polygon>
  </svg>
  <div class="trap-content">Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet,
    Lorem ipsum dollar si amet.
  </div>
</div>

它是如何工作的? SVG 在设计上是响应式的,因此它始终会扩展到其容器。
添加了serveAspectRatio =“none”,以便svg在所有方向上缩放。
属性职位:亲属; and 位置:绝对;用于让您将 svg 放在背景中,以便内容可以位于其形状之上。
由于形状的设计内部 viewBox 为 100 100,并且形状的点范围为 90-100,因此底部和顶部始终有 10% 的间隙。

形状顶部的三角形基本上始终是其容器的 10%。这就是为什么我们设置.trap-content类的top:10%和bottom:10%。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS中的梯形div 的相关文章

随机推荐

  • 如何使用 bash 更改日志文件中的日期格式,避免 while 循环

    这不是一个新问题here and here 但细节却有所不同 我的输入日志文件如下所示 TEMP MON Sat Aug 15 02 20 24 EEST 2020 48 6 TEMP MON Sat Aug 15 02 20 50 EES
  • 解决具有两个属性的背包问题的最快方法是什么

    假设我们有一个输入 10 saying 1st property should be 10 in total 10 saying 2d property should be 10 in total 5 saying theres 5 rec
  • 在 Rust 中,存储较大的类型更快还是存储较小的类型并始终强制转换它们更快?

    我正在用 Rust 开发一个国际象棋引擎 我有一个Move结构与from and to字段 它们是Square Square是一个包含一个结构体usize 这样我在访问该职位的棋盘元素时就可以直接使用它 因为在 Rust 中索引必须用usi
  • 在 Windows 7 上安装 Ruby on Rails - 快速且简单 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 由于我在装有 Windows 7 的笔记本电脑上安装 RoR 时遇到了很多问题 因此我想与您分享我的步骤 许多人告诉您使用 InstantRails 我也这样做了 但下面的选项最
  • 有没有办法在 Eclipse 中生成“Lorem ipsum”?

    我正在寻找一种生成方法Lorem ipsum在 Eclipse 中为虚拟文本创建视图时 例如 在 Visual Studio 中 您只需输入即可完成lorem并按选项卡 在日食中有什么可以做到的吗 任何想法 在 Android Studio
  • mysql 连接表

    我有4张桌子 表 A 具有用户 user id username and name 具有令牌的表 B token id user id 每个用户有 10 个令牌条目 每个令牌仅分配给一个用户 一个用户拥有多个代币 10 表C即街机游戏 ar
  • 如何为单个字符着色并保持适当的间距/字距调整/对齐?

    我想使用 Graphics DrawString 使用单独的颜色绘制字符 问题是 每次调用 DrawString 时 我都必须知道相对于其他字符的位置 使用点或矩形 当考虑到在具有 StringFormat 的矩形中使用 DrawStrin
  • 内联 JavaScript 会阻塞 UI 线程吗?

    我读了这篇好文章外部脚本如何阻塞 UI 线程但我不清楚阻塞是否实际上是由于存在
  • 根据SDK版本加载类

    有什么方法可以根据手机运行的操作系统版本加载类吗 例如 我制作了一个需要 1 6 Android 的应用程序 有没有办法让我根据手机运行的操作系统加载一个类或另一个类 我特意询问这个联系人 数据库已从 1 6 更改为 2 0 旧版本不会在新
  • for in 循环内部如何工作 - Objective C - 基础

    我找到了这个答案 https stackoverflow com a 5163334 1364174 其中介绍了如何for in循环被实现 NSFastEnumerationState enumState 0 id objects MAX
  • 带查找的动态数组的行式文本连接

    这个问题与以下问题密切相关这个答案来自用户马克 菲茨帕特里克 My sheet image 我在 M3 和 AB3 同一列表 中有一个国家 地区代码标题的变量列表 以及在 A4 中作为行的唯一 提及 的变量列表 M4 和 AB4 中的公式计
  • AttributeError:无法访问“DataFrameGroupBy”对象的可调用属性“groupby”

    我有一个包含 3 列的数据框 我想通过执行以下操作来根据筷子长度对列进行分组 meansByCL df chopstick groupby Chopstick Length Food Pinching Efficiency mean res
  • 使用 IP 地址和 SNI 启动 https 连接

    我在用着WinHttpConnect为了在我的 Windows 应用程序和远程服务器之间建立 https 连接 但是 我的服务器不一定有 DNS 地址 因此通过设置建立连接pswzServerName到原始 IPV4 地址 WINHTTPA
  • 如何将单元中定义的组件添加到Delphi调色板?

    我有一个定义组件的 pa 单元 我怎样才能将它添加到调色板 我知道的唯一方法是将其包含在包中 有直接的方法吗 在一个包中 有一个单元有一个名为Register 大小写很重要 在该过程中 调用RegisterComponents在您想要显示在
  • 如何获取Qt中通过样式表设置的小部件的字体?

    我有 Qt 应用程序 应用了自定义样式表 以及一般的所有小部件 并在此样式表中包含自定义字体 但是当尝试获取某些小部件的字体时font 方法返回不同的字体 我想获得a的字体QWidget这是由样式表设置的 这font 方法总是返回全局系统字
  • 适用于 Xcode 6 的 iPhone 4 模拟器

    我需要模拟 iPhone 4 不是 iPhone 4S 我得到了 iPhone 的完整列表 但 4 不是其中之一 在谷歌上搜索了一个小时后 我抓狂了 我做错了什么 我也尝试过修改构建设置但无济于事 没有针对 iPhone 4 的选项 您认为
  • 将范围复制到虚拟范围

    是否可以将范围复制到虚拟范围 或者是否需要我将其随意粘贴到工作簿中的另一个范围中 dim x as range x copy of Range A1 A4 显然我通常使用以下代码 dim x as range set x Range A1
  • 未知服务错误 botocore

    我正在尝试使用最近的亚马逊转录服务 transcribe boto3 client transcribe 我收到以下错误 botocore exceptions UnknownServiceError Unknown service tra
  • 创建独立进程!

    我正在尝试从 C 中的服务创建一个进程 这个新进程是作为子进程创建的 我想创建一个独立的进程而不是子进程 我正在使用 CreateProcess 函数来实现相同的目的 由于我创建的新进程是一个子进程 当我尝试在服务级别杀死进程树时 它也会杀
  • CSS中的梯形div

    我想要内容为梯形的部分div但我不知道如何开始或实现我的目标的最佳方法是什么 我遇到过这个解决方案 但没有太多信息可供我理解CSS3 转换为梯形 HTML div class section p content here p div 这是创