html - 如何创建具有线性渐变背景的直角三角形?
问题描述
我想创建一个具有线性渐变背景颜色的直角三角形。可以使用 CSS 吗?
下面是我的具有单一背景颜色的直角三角形的代码。此处也提供相同的代码https://codepen.io/anon/pen/BMqVbL?editors=1100
<style>
body {
position: relative;
height: 100vh;
width: 100vw;
background: lightgrey;
}
.wrapper {
width: 760px;
height: 35px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.triangle {
border-right-width: 760px;
border-bottom-width: 35px;
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 0;
border-bottom-style: solid;
border-right-style: solid;
border-bottom-color: red;
border-right-color: transparent;
}
</style>
<body>
<div class="wrapper">
<div class="triangle"><!-- ### --></div>
</div>
</body>
我需要我的三角形有一个线性渐变背景,从左到右将橙色变成红色。我的三角形的周围必须是透明的。
解决方案
我建议改用该clip-path
属性,这样您就可以减少和清理标记并轻松使用 alinear-gradient
作为背景
.triangle {
display: block;
max-width: 760px;
height: 35px;
background: linear-gradient(to right, orange, red);
clip-path: polygon(0 0, 100% 100%, 0 100%)
}
<span class="triangle"></span>
作为旁注,我使用max-width
了 代替width
,只是为了向您展示如何使其具有响应性。
推荐阅读
- jquery - 如何查找数组jQuery中是否存在具有值的特定键?
- python - AttributeError:类型对象'By'没有属性'name'
- kubernetes - kubed 将密钥同步到多个命名空间
- r - 如何加快绘制图表的速度?
- regex - 为什么 MATCHES WITH 条件不匹配两次
- html - 不要在 'a' 元素包裹的 'div' 元素内的文本下划线
- go - 试图创建一个字符串映射 -> 函数,一种请求处理程序。函数映射的返回类型问题
- html - 禁用按钮,直到填写所有输入
- laravel - 通过 url [Laravel Passport] 中的电子邮件发送令牌以重置密码
- r - 比较日期时如何在数据框中使用 if else 语句?