css用div画了一个三角形 如何让这三角形垂直居中
时间: 2023-07-12 17:13:22 浏览: 232
可以使用 flex 布局来实现三角形的垂直居中。具体做法是:
1. 将三角形的父元素设置为 flex 容器,可以通过 `display: flex;` 或者 `display: inline-flex;` 实现。
2. 设置父元素的垂直居中,可以通过 `align-items: center;` 实现,这样子元素就会在纵向上垂直居中。
3. 给三角形元素设置一个相对单位的 `top` 值,使其垂直居中。一般情况下,可以将 `top` 值设置为 50%,然后再用 `transform` 属性将其向上移动三角形高度的一半。
下面是一个示例代码:
```html
<div class="container">
<div class="triangle"></div>
</div>
```
```css
.container {
display: flex;
align-items: center;
height: 300px; /* 设置父元素高度 */
}
.triangle {
width: 0;
height: 0;
border-top: 50px solid #f00;
border-right: 50px solid transparent;
border-left: 50px solid transparent;
position: relative;
top: 50%;
transform: translateY(-25px); /* 三角形高度的一半,即 50/2 = 25px */
}
```
其中,`.container` 是三角形的父元素,`.triangle` 是三角形元素。注意,三角形元素的 `top` 值应该是相对于父元素的,所以父元素必须设置一个高度。
阅读全文