答案 0 :(得分:1)
渐变是个好主意,你甚至可以添加内容,无论渐变的大小,只要你把它的大小设为正方形:
div {
background-color: red;
border-radius: 0 0 50% 50%;
background-image:
linear-gradient(-45deg, transparent 75%, blue 75%),
linear-gradient(45deg, transparent 75%, yellow 75%),
linear-gradient(to top, green 50%, transparent 50%);
height: 300px;
width: 300px;
transition:0.5s;
}
div:hover {
height: 150px;
width: 150px;
}
/* fun */
div {
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 2.5em;
color: white;
text-shadow: 0 0 1px black, 0 0 1px black, 0 0 1px black, 0 0 1px black, 0 0 1px black, 0 0 1px black;
box-shadow: 0 0 5px gray, inset 0 0 0 3px white,inset 0 0 5px black;
}
<div>Hover me</div>
答案 1 :(得分:0)
您可以尝试使用几个div,然后将其封装在一个div中。 在JSfiddle上查看我的代码。
.main {
width: 300px;
height: 300px;
}
.first {
width: 300px;
height: 150px;
}
.blue {
width:150px;
height: 150px;
position: relative;
float: left;
background-color: blue;
}
.yellow {
width:150px;
height: 150px;
position: relative;
float: right;
background-color: yellow;
}
.green {
width: 300px;
height: 150px;
background-color: green;
border-radius: 0 0 500px 500px;
}
.red {
position: relative;
height: 150px;
top: -400px;
border-left: 150px solid transparent;
border-right: 150px solid transparent;
border-bottom: 150px solid red;
}
<div class="main">
<div class="first">
<div class="blue">
</div>
<div class="yellow">
</div>
</div>
<div class="green">
</div>
<div class="red">
</div>
</div>