将小三角形水平居中在 div 底部并按响应和比例调整大小

2023-11-29

使用 CSS,我试图实现以下响应屏幕大小调整的效果(用于响应式设计)。具体来说,我希望随着浏览器窗口变小,三角形也按比例变小。我将其模拟为 PNG(不是 HTML/CSS):

enter image description here

到目前为止,我使用此代码作为基础,其中 2 个 div 堆叠在一起:

CSS:

.pinkbox {
    background-color: #FF8290;
    width: 100%;
    height: 100px;
}

.greenbox {
    background-color: #85D782;
    width: 100%;
    height: 100px;
}

HTML:

<div class="pinkbox"></div>
<div class="greenbox"></div>

使用纯 CSS 且无需媒体查询的响应式三角形。

看到这个代码下载文章

FIDDLE

调整窗口大小并观察三角形响应地调整大小!

Markup

<div class="top">
    <div class="triangle-down"></div>
</div>
<div class="bottom"></div>

CSS

.top
{
    background: pink;
    height: 100px;
    position: relative;
}

.bottom
{
    background: lightGreen;
    height: 100px;
}
.triangle-down{
    width: 2.5%;
    height: 0;
    padding-left:2.5%;
    padding-top: 2.5%;
    overflow: hidden;
    position: absolute;
    left:0;right:0;  /* center the arrow */
    margin:auto;  /* center the arrow */
    top: 100px; /* height of top section */
    z-index:1;
}
.triangle-down:before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    margin-left:-50px;
    margin-top:-50px;

    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-top: 50px solid pink;
}

它到底是如何运作的?

好吧,首先我们需要决定两件事:

1) 三角形的宽/高比。在上面的示例中(为了简单起见)我使用了 2:1 的比率。

2)我们希望三角形占据多少容器/视口宽度。在上面的示例中,我使用了视口宽度 5% 的三角形:(宽度 2.5% + padding-left:2.5%;)

现在根据以下规则设置其他属性/比例:(来自上面的文章)

1) (左内边距 + 宽度)/上内边距 = (左边框 + 右边框)/上边框 = 底部/高度

2) 左边距 = -左边框 = -右边框

3) 顶部边距 = -顶部边框

4) 宽度=左内边距

自定义响应式三角形:

假设您想要一个比例为 3:1 的三角形,并且它占据宽度的 6%。

没问题!

另一把小提琴(这个其实看起来更像图片)

将 CSS 修改为:

.triangle-down{
    width: 3%;
    height: 0;
    padding-left:3%;
    padding-top: 2%;
    overflow: hidden;
    position: absolute;
    left:0;right:0;
    margin:auto;
    top: 100px;
    z-index:1;
}
.triangle-down:before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    margin-left:-50px;
    margin-top:-33px;

    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-top: 33px solid pink;
}

Enjoy!

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

将小三角形水平居中在 div 底部并按响应和比例调整大小 的相关文章

  • 将自定义字体与 wkhtmltopdf 一起使用

    我正在尝试在使用 wkhtmltopdf 生成的 PDF 中使用自定义字体 我读到您不能使用 google webfonts 并且 wkhtmltopdf 使用 truetype ttf 文件 谁能证实这一点吗 所以我从 google we
  • 在每个打印页上重复水印? JavaScript 或 CSS

    所以 我有这个发票页面 我正在页面后面添加水印 我需要为要打印的每一页重复水印 问题是 我不知道会有多少页 可以有任意数量的页面 我需要在每个页面后面显示水印 这些图像取自 Google Chrome 的打印模式 这是该页面的 html 你
  • jQuery animate() 和 CSS calc()

    我尝试设置CSScalc 使用 jQuery 动画 例如 element animate height calc 100 30px 500 我注意到calc 不支持 jQuery 动画 我希望有一种方法可以做到这一点 我不想要类似的方法 替
  • iPhone 上的 Chrome 溢出空白页面上的内容(仅在新选项卡上,而不是重新加载)

    在 iOS Chrome 上 正文会在没有内容的新选项卡或页面上溢出 但如果重新加载页面 问题就会得到解决 它会给位于底部的任何元素 绝对或固定 带来问题 这是重现问题的代码
  • 为什么 Flexbox 会拉伸我的图像而不是保留纵横比?

    Flexbox 具有这种行为 它将图像拉伸到其自然高度 换句话说 如果我有一个带有子图像的 Flexbox 容器 并且我调整了该图像的宽度 则高度根本不会调整大小 并且图像会被拉伸 div display flex flex wrap wr
  • 将 html 转换为 pdf 时防止表格单元格跨页破坏

    使用 Google Apps 脚本 我有一个 html 模板 我填写该模板 然后以 pdf 形式发送 通过传真和 或电子邮件 该模板包括一个带有问题 答案的两列表格 如果行数足够多 表格会在pdf中跨页分页 并且分页符通常发生在单元格的中间
  • javascript中怪异模式的元素宽度?

    我一直在浏览所有流行的 js 库 但我找不到一个具有 DOM 元素宽度函数的库 该函数实际上可以解释 Internet Explorer 中的怪异模式 问题是 当启用怪异模式时 填充和边框不会计入宽度 据我所知 当省略 doctype 或将
  • 如何观察包含许多 sass 文件的整个目录/文件夹的变化

    我如何跟踪包含许多 sass 文件的整个目录的更改 我正在使用以下命令来观察 sass 的变化 file sass watch style scss style css 但是如何观察包含许多 sass 文件的整个目录 文件夹的变化 只需使用
  • 在导航栏下方添加背景图片

    我想在导航栏下方添加背景图像 具有完整窗口大小的宽度 它不应覆盖整个页面长度 而是从导航栏菜单下方开始 一直向下直到特定的指定高度 但宽度是满的 我参考了以下内容 但仍然没有结果 在 Twitter Bootstrap 中的导航栏下方启动背
  • Menu.Item 中的 Antd 自动换行

    可以在 Menu Item 组件中应用自动换行吗 示例不起作用
  • javascript:window.print() 打印 2 页,而我有 1 页

    我有一个简单的 HTML 文档 其中仅包含图像标签 我想在文档加载后打印图像 我的代码 img src form1 jpg alt form1 style margin 0 auto display block 它可以工作 但问题是它打印图
  • 如何修复“没有这样的文件或目录,lstat 'scss/'”?

    我正在尝试遵循 youtube 上的简单教程他尝试使用终端运行 npm 脚本 sass 文件 当我执行命令时npm 运行 sass显示错误消息错误 ENOENT 没有这样的文件或目录 lstat scss 我认为问题在于文件的路径或文件的权
  • 为什么我的图像下方有空间? [复制]

    这个问题在这里已经有答案了 图像在下面获得了神秘的空白空间 即使padding 0 margin 0被应用 示范 http jsfiddle net cLETP 红色边框应该包围图像 但底部有空间 造成这种情况的原因是什么 如何删除该空间
  • html 电子邮件内的背景图像 css - Gmail 不支持

    我想向我的用户发送如下所示的带有背景图像 css 的 html 正文电子邮件 div style width 500px height 1000px background color black background image none
  • 将鼠标悬停在原点时会触发translateY()

    当您将光标移动到按钮底部时 是否可以无限期地不触发动画 它看起来是这样的 gif https i stack imgur com QwdHW gif and codepen https codepen io jaeyson pen GwwJ
  • 如何在其他div id的悬停中使用div显示块

    如何打开div悬停时标记href tag 这是我在悬停 href 标签上显示 div 标签的代码 Services is id of href tag Services is id of div tag Service hover Serv
  • 滚动时的 CSS 背景模糊

    我有固定的背景图像 滚动时我希望图像变得模糊 我知道如何在 css 中进行模糊 但在特定的滚动位置进行 这是一个例子 https medium com good music f160ba9e6c52 https medium com goo
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何使用 JavaScript 或 jQuery 克隆 HTML 元素的样式对象?

    我正在尝试克隆元素的样式对象 这应该允许我在更改后重置所述元素的样式 例如 el style left 50px curr style left 50px Modify the elements style The cloned style
  • 使用javascript动态更新css内容

    需要将 css 更新为动态值 我不确定最好的方法是什么 div style zoom 1 div 缩放级别将根据窗口大小调整触发 应用程序将相应缩放 我将此应用程序加载到 cordova 中并让它在 iPAD 中运行 然后我意识到需要使用

随机推荐

  • 如何隐藏实际的下载文件夹位置

    我心里有一个问题 如何mod rewrite增加安全性 我有一个 php 文件 它在线显示 pdf 文件 例如www exaple com id 234它会查询数据库并获取实际的文件夹位置 实际文件夹位置是uploads 我正在使用类似的东
  • 在新的 Android 模拟器上禁用首次运行的欢迎程序

    我正在编写一个测试 需要直接从启动器启动应用程序 因为我无法通过意图启动来正确模拟它 问题是 当我在新的模拟器上运行测试时 我使用的是 Travis CI 但它可以在我的家用 PC 上轻松重现 模拟器会以 首次运行 问候语覆盖层开始 这会阻
  • Kafka 生产者 - 如何在不停机的情况下更改主题并保留消息顺序?

    这个问题是关于架构和kafka主题迁移的 原来的问题 没有向后兼容性的架构演变 https docs confluence io current schema registry avro html 我请求社区给我建议或分享文章 我可以从中获
  • 如何在 Ivy 中整合版本管理,就像 Maven 中的parent-pom 一样?

    我们有很多项目需要使用通用版本号 使用 Ant Ivy 执行此操作的最佳实践是什么 您是否只是从 Ant 继承了一堆包含版本号的属性 还是有像 Maven 那样更正式的机制 正如你所指出的 我认为这是新的问题extends功能被设计来解决
  • Mongodb 查询特定的月份|年份而不是日期

    如何查询 mongodb 中的特定月份 而不是日期范围 我需要月份来列出当月的客户生日列表 在 SQL 中会是这样的 SELECT FROM customer WHERE MONTH bday 09 现在我需要在 mongodb 中翻译它
  • 从 Play 商店 xamarin 获取最新的应用程序版本

    如何从 Google Play 商店获取最新的 Android 应用程序版本 之前曾使用下面的代码来做到这一点 using var webClient new System Net WebClient var searchString it
  • eclipse插件代码在指定位置创建IProject

    IProgressMonitor progressMonitor new NullProgressMonitor IWorkspaceRoot root ResourcesPlugin getWorkspace getRoot IProje
  • JButton 的不透明度/半透明度?

    我有如下简单的 GUI 代码 我想在其中制作JButton一个是半透明的 这样后面的图像JButton是可见的 package dealORnodeal import java awt BorderLayout import java aw
  • 如何选择并删除每第三列

    我有一组数据 其中每第三列都是相同的 我只想保留第一列 其他相同的列必须删除 起初我尝试了这段代码 但它删除了错误的列 因为在每个循环中其他列的位置都被改变了 Sub DeleteMultipleColumns Dim i As Integ
  • Rails 模型字段未更新到数据库

    使用型号 class Car lt ActiveRecord Base attr accessor model edition attr accessible model edition has many wheels end class
  • Google Actions 返回抱歉,尚不支持电源控制

    我通过扩展助手来实现我的设备 如中所述指示 我可以看到我的设备注册了以下特征 googlesamples assistant devicetool 列表 model Device Model Id assistant 19etc Proje
  • .NET:如何获取空对象的类型?

    我有一个带有 out 参数的方法 尝试进行类型转换 基本上 public void GetParameterValue out object destination object paramVal I want to return this
  • Android 地图、标记和内存泄漏

    我正在阅读 android 文档http developer android com reference com google android gms maps MapFragment html我看到了这句话 从 GoogleMap 获取的
  • R Shiny 中的反应式数据框

    我有一个由多个类别和月份组成的数据框 每行是参与者的 1 次交互 因此我想通过热图按月份和不同类别显示他们全年的交互计数 总共 490 万行 这意味着全年总共有 490 万次交互 我尝试使用输入来指示列名称 并尝试被动地更改 X 轴 但它似
  • 如何组合相等的序列元素(函数式编程)?

    我想编写一个函数 它接受序列 并返回具有相同元素分组的序列 如 gt 我使用的是序列 而不是列表 但有些功能是相似的 我正在考虑使用的一些功能是map reduce tabulate filter append等 Reduce 接受一个关联
  • 使用 Berkshelf 解决递归 git Cookbook 依赖关系

    TL 博士版本 Berkshelf 是否能够解决基于 Git 的说明书中的递归依赖关系 如果可以 如何解决 我尝试使用 Berkshelf 管理我的 Chef 食谱依赖项 这些食谱都存储在内部 Git 存储库中 依赖关系如下 env doc
  • 在mac 10.12上构建aosp

    我曾经在我的Mac上构建aosp 最近我升级了 mac os Mac Sierra 10 12 我在构建项目时收到此错误消息 找不到支持的 mac sdk 10 8 10 9 10 10 10 11 mac sdk 版本已升级到 10 12
  • 如何使用 NSString 的 sizeWithFont 和 drawInRect 来确定要绘制的字符串大小

    我正在使用 iOS 中的 CGContext 绘制多个图像 页面 我在我的应用程序中广泛使用了 sizeWithFont 和 drawInRect 组合 我需要做的是将一大块文本拆分到多个页面上 我可以调整它的大小并确定它是否需要另一页 但
  • Object.keys() 复杂性?

    有人知道 ECMAScript5 的 Object keys 在常见实现中的时间复杂度吗 是吗O n for n钥匙 假设采用哈希实现 时间与哈希表的大小成正比吗 我正在寻找语言实现者的保证或一些现实世界的基准测试 看来是O n 在 V8
  • 将小三角形水平居中在 div 底部并按响应和比例调整大小

    使用 CSS 我试图实现以下响应屏幕大小调整的效果 用于响应式设计 具体来说 我希望随着浏览器窗口变小 三角形也按比例变小 我将其模拟为 PNG 不是 HTML CSS 到目前为止 我使用此代码作为基础 其中 2 个 div 堆叠在一起 C