html - 三角形 div 元素与其父元素的大小和位置
问题描述
我有一个彩色三角形的子 div:
.shape-triangle {
width: 0;
height: 0;
border-left: 25px solid transparent;
border-right: 25px solid transparent;
border-bottom: 50px solid green;
/* put on top of image */
position: absolute;
top: 20px;
left: 110px;
}
嵌套在带有背景图像的 Bootstrap 列中:
<div class="col-12 col-lg-6 text-center">
<div class="shape-triangle"></div>
<img src="assets/background.png" alt="Image">
</div>
它位于背景图像(一堆灰度形状)之上:
当我的屏幕/浏览器窗口缩小时,图像会调整大小,但三角形显然不会:
如何让彩色三角形在大小和位置上与图像保持成比例?
解决方案
如果要使用屏幕大小或其父级重新缩放 div,则需要%
使用.shape-triangle
. 单元px
永远不会工作,因为它保持那个大小,而父级.col-12
正在改变。对于边框,您需要 unit rem
,它将大小与根字体相关联。
所以我的建议是这样的(你必须玩弄%
看看rem
什么是最好的)。
.shape-triangle {
border-left: 2.5rem solid transparent;
border-right: 2.5rem solid transparent;
border-bottom: 5rem solid green;
/* keep on its position and size */
position: absolute;
top: 20%;
left: 50%;
width: 0;
height: 0;
}
推荐阅读
- pyspark - PySpark:PartitionBy在多次分区的列中留下相同的值
- python - 单击按钮时Django更改对象详细信息
- list - 将文件转换为整数列表
- postgresql - Wagtail AssertionError “不匹配的标签:预期的 img,得到 p”
- java - 从具有多个值的 firebase 获取数据
- vue.js - vue中处理axios请求返回的认证页面
- python - 获取矩阵中值的位置(numpy.float64)
- ruby - 遍历 rails 对象
- r - R - 两个因素 ggplot2 条形图
- javascript - Vue.js - 在 Websocket 上使用承诺?