【发布时间】:2018-09-28 22:06:22
【问题描述】:
这是我想做的:
我正在使用具有 0px 高度和宽度的 css 边框属性制作形状(三角形)。形状应与其父级高度相同。它的父母身高是未知的和变化的。这如何通过使用 css 来完成。(不使用 Javascript)
我也尝试使用百分比(border-width: 50%;)
这是代码,但不是必需的!
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
html, body {
height: 100%;
}
body {
display: flex;
justify-content: center;
align-items: center;
}
body > div {
border: 2px solid blue;
width: 400px;
height: 70px;/* unknownHeight = 70px */
display: flex;
flex-direction: row;
}
.shape {
border-width: 35px; /* unknownHeight/2 = 35px */
border-style: solid;
border-top-color: transparent;
border-right-color: transparent;
border-bottom-color: red;
border-left-color: red;
}
.stableDiv {
flex: 1;
}
</style>
</head>
<body>
<div>
<div class="stableDiv"></div>
<div class="shape"></div>
</div>
</body>
</html>
【问题讨论】:
-
请在发帖前查看How to create a Minimal, Complete, and Verifiable example。希望您至少尝试并提供一些代码。
-
基本上,你不能。没有将
width与height关联起来的CSS 机制。你可以反过来做,但不能那样做。 -
宽度也需要调整大小还是三角形可以拉伸?否则,伪和线性渐变将足以有效地绘制该形状。如果角度需要保持在45度,很快就会填满整个盒子长大??
标签: html css flexbox css-shapes