是否可以在图像上使用半正方形的纯css背景。 我知道它可以用图像作为背景来完成,但我需要使用5种不同的颜色,并且将来可能会改变颜色。
答案 0 :(得分:12)
如果您的div具有固定大小,您可以使用边框制作两个三角形,如How do CSS triangles work?中所述:
div{
display:inline-block;
border-top:100px solid red;
border-right:100px solid grey;
}
<div></div>
要制作其他尺寸,颜色,您需要调整边框属性:
div {
display: inline-block;
}
div:nth-child(1) {
border-right: 100px solid red;
border-top: 100px solid grey;
}
div:nth-child(2) {
border-left: 100px solid red;
border-top: 100px solid grey;
}
div:nth-child(3) {
border-right: 50px solid red;
border-top: 100px solid grey;
}
div:nth-child(4) {
border-right: 100px solid red;
border-bottom: 50px solid grey;
}
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
答案 1 :(得分:8)
您还可以尝试linear-gradient
div {
width: 200px;
height: 200px;
background: rgba(248, 80, 50, 1);
background:linear-gradient(to bottom right,grey 50%,red 50%);
}
<div></div>
答案 2 :(得分:1)
如果您不需要担心旧浏览器支持,可以使用转换。
.container {
position: relative;
overflow: hidden;
width: 100px;
}
.square {
width: 100px;
height: 100px;
background-color: #E30606;
}
.overlay {
width: 171px;
height: 72px;
background-color: #D0CBCB;
-webkit-transform: rotate(225deg);
-moz-transform: rotate(225deg);
-ms-transform: rotate(225deg);
transform: rotate(225deg);
}
<div class="container">
<div class="square">
<div class="overlay"></div>
</div>
</div>