如何使用网页中的css创建图片中显示的角落?

时间:2016-08-17 04:25:14

标签: html css border radius

如何使用CSS和HTML创建您在图片中看到的曲线? 我可以使用CSS边框半径还是使用其他解决方案?

enter image description here

3 个答案:

答案 0 :(得分:0)

如果你的主水平蓝条是一个div,并且那个向下的方框是一个单独的div,你可以使用伪元素:before:after来创建那些内半径。

请参阅以下示例:

html,
body {
	padding: 0;
	margin: 0;
}

.header {
	position: relative;
	background-color: #5DC4FD;
	width: 100%;
	height: 160px;
}

.tab {
	position: relative;
	top: 130px;
	background-color: #5DC4FD;
	width: 80%;
	height: 100px;
	margin: 0 auto;
	border-radius: 0  0 30px 30px;
}

.tab:before {
	position: absolute;
	content: "";
	left: -50%;
	width: 50%;
	height: 100px;
	background-color: white;
	border-radius: 0 30px 0 0;
}

.tab:after {
	position: absolute;
	content: "";
	right: -50%;
	width: 50%;
	height: 100px;
	background-color: white;
	border-radius: 30px 0 0 0;
}
<div class="header">
		<div class="tab">
		</div>
</div>

答案 1 :(得分:0)

你可以使用两个div和psuedo元素:before和:after。下面的工作代码

.top-bar{
  height: 100px;
  width: 100%;
  background-color: #55c3ff;
}

.curved-bottom{
  width: 80%;
  margin: 0 auto;
  height: 50px;
  background-color: #55c3ff;
  border-radius: 0 0 20px 20px;
  position: relative;
}

.curved-bottom:before {
    height: 50px;
    width: 16%;
    background-color: white;
    border-top-right-radius: 10px;
    left: -16%;
    content: '';
    position: absolute;
    top: -8px;
}

.curved-bottom:after {
    height: 50px;
    width: 16%;
    background-color: white;
    border-top-left-radius: 10px;
    right: -16%;
    content: '';
    position: absolute;
    top: -8px;
}
<div class="top-bar"></div>
<div class="curved-bottom"></div>

答案 2 :(得分:0)

好吧,你可以使用这样重叠的div:

#top {
    background: #00BFFF;
    width: 100%;
    height: 150px;
}
#container{
    display: flex;
}
#mid{
    background: #00BFFF;
    width: 70%;
    height: 50px;
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
}
#left{
    background: #FFFFFF;
    margin-top: -50px;
    width: 15%;
    height: 50px;
    border-top-right-radius: 25px;
}
#right{
    background: #FFFFFF;
    margin-top: -50px;
    width: 15%;
    height: 50px;
    border-top-left-radius: 25px;
}
<div id="top"></div>
<div id="container">
    <div id="left"></div>
    <div id="mid"></div>
    <div id="right"></div>
</div>

但我建议使用具有所需形状的背景图像