【发布时间】:2014-05-09 00:05:07
【问题描述】:
我实际上想知道是否可以使用单个伪元素(即图像本身)将图像屏蔽为圆形?假设它是一个矩形图像(不是正方形),并且您希望将其蒙版为圆形,而不压缩图像?
所以你有:
HTML
<img src="#" class="mask">
CSS
.mask {
A lot of CSS possibilities, up to you
}
我知道,使用父 div 并使用 overflow:hidden 和 border-radius:50% 是可能的,但你可以不使用第二个伪元素来做到这一点吗?
更新!
我注意到许多用户似乎认为我只是在寻找 CSS 代码 border-radius:50% 来创建圆形,但事实并非如此。图像应该变成圆形,而不是椭圆形。您可以简单地使用彼此相等的width 和height,但随后图像会被挤压。 答案应包含未压缩的图像结果
解决方案的要求
- 图像应该是一个完美的圆形,而不是椭圆
- 无论原始纵横比如何,都不应挤压图像。 即使你使用全景图片,你也只会看到中间部分为圆形,其余部分被隐藏。
【问题讨论】:
-
您尝试过什么,您是否在小提琴或 codepen 中有在线示例?
-
我想不出不将 img 包裹在 span 或类似中的方法
-
BTW 伪元素不能用于 img 标签stackoverflow.com/questions/7396469/…
-
对于发布答案的每个人,请确保您注意问题中要求在不挤压矩形图像的情况下进行此操作的部分。当前的答案都没有这样做。
-
@web-tiki 仍然感谢您的想法!我不够清楚。我已经全部更新了。