html - 是否可以创建具有奇数边长的 CSS 边框三角形?
问题描述
我可以使用带边框的 CSS 技巧创建一个 tirangle,例如:
.arrow-down {
width: 0;
height: 0;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
border-top: 20px solid #f00;
}
<div class="arrow-down"></div>
(来自https://css-tricks.com/snippets/css/css-triangle/)
但是,如您所见,它的边长总是均匀的。发生这种情况是因为它由两个边界边组成 - 左侧和右侧。如果我让一侧比另一侧短 - 它不能解决问题,我只会得到一个等边三角形。如果我在设计图中有一个奇边三角形,我可以使用这种方法。
我认为,转换可能会有所帮助,但我不确定,这是一种足够好的和严格的方法。
还有其他解决方案吗?
解决方案
我会transform
通过增加Y
-scale来拉伸三角形
.arrow-down {
width: 0;
height: 0;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
border-top: 20px solid #f00;
transform: scaleY(1.66);
}
<div class="arrow-down"></div>
推荐阅读
- excel - 根据日期重命名添加的工作表
- sql-server - 无法使用 IP 地址访问链接服务器
- orchardcms - 尝试添加 OrchardCms 时出现错误
- javascript - 旧画布的 Fabric.js 残留物仍然存在
- c# - 通用方法 public T Method() 其中 T : BaseViewModel 总是返回 NULL
- python - TemplateDoesNotExist 位于 /learning_logs/index.html
- python - 为什么这段代码显示内存错误?可能是while循环有问题
- javascript - 如何在 React Native 中进行预取并将数据持久化到本地存储而不阻塞 UI?
- javascript - React-Hooks:在 ContextAPI 中未定义“警报”
- c++ - 双端队列的容量