纯css绘制倒过来的等腰梯形的样式。而且可以把梯形的背景色调整为无色。
可以接受复杂代码(比如布局复杂,单个div单个css样式是无法完成,需要多个div搭配多个样式),但是至少满足以下要求
(1)可以调整边框的颜色大小粗细等,
(2)可以调整边框内外阴影
(3)梯形里面还能放文字
参考效果
不要求一定如参考图上的绚丽,
纯css绘制倒过来的等腰梯形的样式。而且可以把梯形的背景色调整为无色。
可以接受复杂代码(比如布局复杂,单个div单个css样式是无法完成,需要多个div搭配多个样式),但是至少满足以下要求
(1)可以调整边框的颜色大小粗细等,
(2)可以调整边框内外阴影
(3)梯形里面还能放文字
参考效果
不要求一定如参考图上的绚丽,
要实现一个无背景色、有边框色且带有文字的倒等腰梯形,可以使用CSS的`border`属性和`transform`属性来完成。以下是一个示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Inverted Isosceles Trapezoid</title>
<style>
.trapezoid {
position: relative;
width: 200px;
height: 100px;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid #000; /* 边框颜色 */
border-top: none;
background: none; /* 无背景色 */
color: #fff; /* 文字颜色 */
text-align: center;
line-height: 100px; /* 垂直居中文字 */
transform: rotateX(180deg); /* 倒置梯形 */
transform-origin: bottom; /* 旋转原点设置到底部 */
margin-top: -100px; /* 调整位置,使梯形显示在视口中 */
}
.trapezoid::after {
content: "";
position: absolute;
top: 0;
left: -50px;
right: -50px;
bottom: 0;
border: 2px solid #ff0000; /* 边框粗细和颜色 */
pointer-events: none; /* 防止边框覆盖文字 */
}
</style>
</head>
<body>
<div class="trapezoid">
文字内容
</div>
</body>
</html>
在这个示例中:
- 使用`border`属性创建了一个梯形形状,其中`border-left`和`border-right`设置为透明,`border-bottom`设置为所需的颜色和高度,`border-top`设置为`none`。
- 使用`transform: rotateX(180deg)`将梯形倒置。
- 使用`transform-origin: bottom`将旋转原点设置到底部,以确保梯形正确倒置。
- `margin-top: -100px`用于调整梯形位置,使其显示在视口中。
- `::after`伪元素用于添加边框,并设置边框的颜色和粗细。`pointer-events: none`确保边框不会覆盖文字,使其可交互。
你可以根据需要调整`border`的宽度、颜色和`transform`的值,以实现所需的倒等腰梯形效果。
可以通过 clip-path
属性来实现一个倒等腰梯形,并用 text-align
将文字放置在图形中。示例如下:
<div class="trapezoid">
倒等腰梯形
</div>
.trapezoid {
width: 200px;
height: 100px;
border: 2px solid black;
clip-path: polygon(0% 100%, 25% 0%, 75% 0%, 100% 100%);
text-align: center;
line-height: 100px; /* 设置文字垂直居中 */
font-size: 16px;
background-color: transparent; /* 无背景色 */
position: relative;
}
6 回答5.2k 阅读✓ 已解决
9 回答9.5k 阅读
5 回答8.1k 阅读✓ 已解决
2 回答6.9k 阅读
3 回答10.5k 阅读✓ 已解决
5 回答7.8k 阅读
4 回答7.4k 阅读
可以用伪类试试