Home >Web Front-end >CSS Tutorial >How to Mask Overflowing Content with Rounded Corners in Chrome and Opera?

How to Mask Overflowing Content with Rounded Corners in Chrome and Opera?

DDD
DDDOriginal
2024-12-30 11:18:16219browse

How to Mask Overflowing Content with Rounded Corners in Chrome and Opera?

Hiding Overflow with Rounded Corners in Chrome and Opera

Question:

How can you create a parent div with rounded corners that successfully masks the content of its children while maintaining proper overflow behavior in Chrome and Opera?

Webkit Incompatibility with Overflow: Hidden

In browsers such as Firefox and IE9, applying "overflow: hidden" to a parent div with rounded corners effectively hides any overflowing content. However, in webkit-based browsers (Chrome, Safari) and Opera, this approach fails when the parent div is positioned relatively or absolutely.

Solution: WebKit Mask

An alternative solution involves using a webkit mask on the parent div. This approach masks the area outside the rounded corners, effectively concealing any overflowing content.

Implementation:

To implement this solution, add the following CSS to the parent div:

-webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);

This CSS property references a single-pixel transparent PNG image, which can be included directly in the CSS to avoid an additional HTTP request.

Example:

Consider the following code:

#wrapper {
  width: 300px;
  height: 300px;
  border-radius: 100px;
  overflow: hidden;
  position: absolute; /* original CSS that broke overflow in webkit browsers */
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC); /* webkit mask fix */
}

#box {
  width: 300px;
  height: 300px;
  background-color: #cde;
}
<div>

By incorporating this fix, the rounded corners will now effectively hide any overflowing content in Chrome and Opera, allowing for a visually clean and responsive design.

The above is the detailed content of How to Mask Overflowing Content with Rounded Corners in Chrome and Opera?. 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