边界半径向内弯曲?

时间:2017-06-30 11:07:36

标签: css css3 border

如何让边框向内弯曲而不是向外弯曲?

例如 - 这是向外弯曲:

header {
  position: relative;
  height: 300px;
  background-image: linear-gradient(#ff9d2f, #ff6126);
  border-bottom-left-radius: 50% 20%;
  border-bottom-right-radius: 50% 20%;
}

h1 {
  margin: 0;
  padding: 100px 0;
  font: 44px "Arial";
  text-align: center;
}

header h1 {
  color: white;
}
<header>
  <h1>Header Content</h1>
</header>

<section>
  <h1>Section Content</h1>
</section>

我希望它向内弯曲,是否可能?

2 个答案:

答案 0 :(得分:3)

如下例

&#13;
&#13;
header {
  position: relative;
  height: 300px;
  background-image: linear-gradient(#ff9d2f, #ff6126);
}

h1 {
  margin: 0;
  padding: 100px 0;
  font: 44px "Arial";
  text-align: center;
}

header h1 {
  color: white;
}

header:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 30%;
  width: 100%;
  background: #fff;
  border-top-left-radius: 50% 20%;
  border-top-right-radius: 50% 20%;
  user-select: none;
}
&#13;
<header>
  <h1>Header Content</h1>
</header>

<section>
  <h1>Section Content</h1>
</section>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

如果您需要,可以使用另一个框来模拟它。

&#13;
&#13;
header {
  position: relative;
  height: 300px;
  background-image: linear-gradient(#ff9d2f, #ff6126);
}

header:after {
  content: " ";
  width: 100%;
  height: 100px;
  position: absolute;
  background-color: white;
  bottom: 0;
  border-top-left-radius: 50% 40%;
  border-top-right-radius: 50% 40%;
}

h1 {
  margin: 0;
  padding: 100px 0;
  font: 44px "Arial";
  text-align: center;
}

header h1 {
  color: white;
}
&#13;
<header>
  <h1>Header Content</h1>
</header>

<section>
  <h1>Section Content</h1>
</section>
&#13;
&#13;
&#13;