Creating a Circular Cutout from a Rectangular Shape using CSS
The question posed seeks an alternative approach to achieving a circular cutout within a rectangular shape. The initial solution used a combination of elements and borders, resulting in a satisfactory effect but lacking clean markup and encountering a bug in certain browsers.
Alternative Method
A more elegant solution involves utilizing a single element (along with a pseudo-element) and employing radial-gradient backgrounds. Here's the revised CSS:
div:before { position: absolute; content: ''; width: 90px; height: 90px; top: -75px; left: calc(50% - 45px); background-color: red; border-radius: 50%; } div { position: relative; margin: 100px auto 0 auto; width: 90%; height: 150px; border-radius: 6px; background: radial-gradient(50px 50px at 50% -30px, rgba(0, 0, 0, 0) 49.5px, rgba(0, 0, 0, .8) 50.5px); }
Explanation
- The pseudo-element (:before) creates a circular red cutout with dimensions of 90px and positions it inside the parent element.
- The parent element has a transparent radial gradient that fills the remaining area, creating the rectangular shape with the cutout.
- The radius of the transparent gradient is slightly larger than the radius of the cutout, allowing for a thin transparent gap around the edges.
- The centering of the circle and the transparent gap is controlled through the placement of the radial gradient's center point.
This updated method addresses both the clean markup concerns and the browser bug encountered in the initial solution. It provides a seamless and visually pleasing circular cutout from a rectangular shape using only CSS.
The above is the detailed content of How Can I Create a Circular Cutout in a Rectangle Using Only CSS?. For more information, please follow other related articles on the PHP Chinese website!

A fascinating new site called The Markup just launched. Tagline: Big Tech Is Watching You. We’re Watching Big Tech. Great work from Upstatement. The

I posted about parsing an RSS feed in JavaScript the other day. I also posted about my RSS setup talking about how Feedbin is at the heart of it.

Learn how to create a custom CodePen block with a preview for Sanity Studio, inspired by Chris Coyier’s implementation for Wordpress’ Gutenberg editor.

Line, bar, and pie charts are the bread and butter of dashboards and are the basic components of any data visualization toolkit. Sure, you can use SVG

We are always looking to make the web more accessible. Color contrast is just math, so Sass can help cover edge cases that designers might have missed.

Tartan is a patterned cloth that’s typically associated with Scotland, particularly their fashionable kilts. On tartanify.com, we gathered over 5,000 tartan

Not long ago, I posted about PHP templating in just PHP (which is basically HEREDOC syntax). I'm literally using that technique for some super basic

Have you ever clicked on an image on a webpage that opens up a larger version of the image with navigation to view other photos?


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SublimeText3 Chinese version
Chinese version, very easy to use

Atom editor mac version download
The most popular open source editor