Home  >  Article  >  Web Front-end  >  How can I create a responsive skewed element with a rounded border using CSS?

How can I create a responsive skewed element with a rounded border using CSS?

Susan Sarandon
Susan SarandonOriginal
2024-11-01 06:20:31273browse

How can I create a responsive skewed element with a rounded border using CSS?

Stylizing Elements with Skew and Inner Rounded Borders

In a bid to replicate a graphical design using CSS, a user has encountered challenges in achieving a responsive layout with desirable aesthetic qualities. The original design features a skewed element with a rounded border, and the user's current CSS approach involves two elements to achieve the desired result.

The user's code involves creating a before element for a rounded top and skew effect, and an after element for the side skew. However, this approach poses limitations in achieving responsiveness.

To address this issue, one can opt for a simplified CSS approach that uses a single element and relies on CSS skew and border-radius properties to achieve the desired effect.

The revised CSS implementation is as follows:

<code class="css">.header {
  border-top: 20px solid blue;
  height:100px;
  position: relative;
  overflow: hidden;
}
.header:before,
.header:after {
  content: "";
  vertical-align:top;
  display: inline-block;
  transform-origin: top right;
  transform: skew(-40deg);
}

.header:before {
  height: 100%;
  width: 50%;
  border-radius: 0 0 20px 0;
  background: blue;
}

.header:after {
  height: 20px;
  width: 20px;
  margin-left:-1px;
  background: radial-gradient(circle at bottom right, transparent 68%, blue 73%);
}</code>

With this approach, a single element is created and styled using skew and border-radius properties. The before element creates the blue skewed background, and the after element adds the inner rounded border using a radial gradient. This simplified approach allows for greater responsiveness and flexibility.

The above is the detailed content of How can I create a responsive skewed element with a rounded border 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