CSS 中的四边形梯形
Quadrilateral Trapezoid in CSS
嘿<我正在尝试在 CSS 中重新创建此图像。
到目前为止我有这个:
https://jsfiddle.net/mstppvwe/
HTML:
<div id="container">
<a class="page-scroll" href="#red ">
<div class="red">
<p>=FIRST-</p>
</div>
</a>
<a class="page-scroll" href="#orange">
<div class="orange">
<p>--SECOND--</p>
</div>
</a>
<a class="page-scroll" href="#blue">
<div class="blue">
<p>--- THIRDBOX ---</p>
</div>
</a>
CSS:
<div id="container">
<a class="page-scroll" href="#red ">
<div class="red">
<p>=FIRST-</p>
</div>
</a>
<a class="page-scroll" href="#orange">
<div class="orange">
<p>--SECOND--</p>
</div>
</a>
<a class="page-scroll" href="#blue">
<div class="blue">
<p>--- THIRDBOX ---</p>
</div>
</a>
我玩过边框,也尝试过转换,但无济于事!
整个栏需要是一个带有文本覆盖的超链接,如我的 HTML 模型所示
有人可以帮忙吗。谢谢!
您可以在每个 div 上使用 :before
伪元素来做到这一点。
#container {
margin-left: 100px;
width: 200px;
right: 20px;
}
.three-bars,
.red,
.orange,
.blue {
color: white;
height: 50px;
margin: 10px;
padding: 10px;
float: right;
font-size: 20px;
text-align: right;
position: relative;
}
.red {
width: 100px;
background-color: #da3421;
}
.orange {
width: 150px;
background-color: #ec9a4c;
}
.blue {
width: 200px;
background-color: #5ab7c4;
}
a > div:before {
content: '';
position: absolute;
left: 0;
top: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 70px 70px;
border-color: transparent transparent black;
transform: translateX(-100%);
}
.red:before {
border-color: transparent transparent #da3421;
}
.orange:before {
border-color: transparent transparent #ec9a4c;
}
.blue:before {
border-color: transparent transparent #5ab7c4;
}
<div id="container">
<a class="page-scroll" href="#red ">
<div class="red">
<p>=FIRST-</p>
</div>
</a>
<a class="page-scroll" href="#orange">
<div class="orange">
<p>--SECOND--</p>
</div>
</a>
<a class="page-scroll" href="#blue">
<div class="blue">
<p>--- THIRDBOX ---</p>
</div>
</a>
</div>
嘿<我正在尝试在 CSS 中重新创建此图像。
到目前为止我有这个:
https://jsfiddle.net/mstppvwe/
HTML:
<div id="container">
<a class="page-scroll" href="#red ">
<div class="red">
<p>=FIRST-</p>
</div>
</a>
<a class="page-scroll" href="#orange">
<div class="orange">
<p>--SECOND--</p>
</div>
</a>
<a class="page-scroll" href="#blue">
<div class="blue">
<p>--- THIRDBOX ---</p>
</div>
</a>
CSS:
<div id="container">
<a class="page-scroll" href="#red ">
<div class="red">
<p>=FIRST-</p>
</div>
</a>
<a class="page-scroll" href="#orange">
<div class="orange">
<p>--SECOND--</p>
</div>
</a>
<a class="page-scroll" href="#blue">
<div class="blue">
<p>--- THIRDBOX ---</p>
</div>
</a>
我玩过边框,也尝试过转换,但无济于事!
整个栏需要是一个带有文本覆盖的超链接,如我的 HTML 模型所示
有人可以帮忙吗。谢谢!
您可以在每个 div 上使用 :before
伪元素来做到这一点。
#container {
margin-left: 100px;
width: 200px;
right: 20px;
}
.three-bars,
.red,
.orange,
.blue {
color: white;
height: 50px;
margin: 10px;
padding: 10px;
float: right;
font-size: 20px;
text-align: right;
position: relative;
}
.red {
width: 100px;
background-color: #da3421;
}
.orange {
width: 150px;
background-color: #ec9a4c;
}
.blue {
width: 200px;
background-color: #5ab7c4;
}
a > div:before {
content: '';
position: absolute;
left: 0;
top: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 70px 70px;
border-color: transparent transparent black;
transform: translateX(-100%);
}
.red:before {
border-color: transparent transparent #da3421;
}
.orange:before {
border-color: transparent transparent #ec9a4c;
}
.blue:before {
border-color: transparent transparent #5ab7c4;
}
<div id="container">
<a class="page-scroll" href="#red ">
<div class="red">
<p>=FIRST-</p>
</div>
</a>
<a class="page-scroll" href="#orange">
<div class="orange">
<p>--SECOND--</p>
</div>
</a>
<a class="page-scroll" href="#blue">
<div class="blue">
<p>--- THIRDBOX ---</p>
</div>
</a>
</div>