Home >Web Front-end >CSS Tutorial >How can I transform a cutout top into a curved top background using CSS?

How can I transform a cutout top into a curved top background using CSS?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-01 13:18:291075browse

How can I transform a cutout top into a curved top background using CSS?

Converting a Cutout Top to a Curved Top Background

In this code-based task, we aim to transform a cutout positioned on the right side of a block into a curved shape sitting gracefully atop the block.

The current code snippet involves a .box containing a .top element. While the desired effect is to have the cutout on top, the code places it on the right. So, let's dive into the revised version:

<code class="css">.box {
  margin-top: 90px;
  width: 200px;
  height: 100px;
  background: white;
  position: relative;
}

.box:before,
.box:after {
  content: "";
  position: absolute;
  bottom: 100%;
  width: 50%;
  left: 0;
  height: 80px;
  background:
    radial-gradient(50% 100% at bottom left, #fff 98%, #0000) top,
    radial-gradient(50% 100% at top right, #0000 98%, #fff) bottom;
  background-size: 100% 50%;
  background-repeat: no-repeat;
}

.box:after {
  transform-origin: right;
  transform: scaleX(-1);
}

body {
  background: pink;
}</code>

Key Adjustments:

  • We've set margin-top on .box to at least match the height of the pseudo-elements, ensuring the cutout doesn't overlap the block.
  • The pseudo-elements are now positioned at the bottom of .box using bottom: 100%.
  • The height of the pseudo-elements is set to 80px, which you can adjust to control the height of the curve.
  • The background gradients have been modified to create the desired radial effect.

Voilà! You now have a curved cutout flowing seamlessly from the top of the block. Feel free to experiment further and create a curve that perfectly complements your design.

The above is the detailed content of How can I transform a cutout top into a curved top background using CSS?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn