css - 水滴图像影响反应
问题描述
大家下午好,由于css房间是空的,所以我来这里请求你对css的支持,我正在尝试制作水滴效果,但到目前为止我还没有做到.. . 是否有可能向我展示正确的方式?我已经测试了 SVG 形状元素和剪辑路径(蒙版)CSS,但我无法获得格式......我的想法是将这种效果应用于图像......每次我实现图像旋转的 css: https ://ibb.co/J3sVQyn
这是我正在使用 css 和 react 调用的代码:
.CardComponent-media-4 {
width: 145px;
height: 169px;
margin-top: 5px;
margin-bottom: 5px;
margin-left: 5px;
margin-right: 5px;
flex-basis: 20%;
z-index: 50;
border-radius: 50%;
border-top: 145/2 ;
border-left: 145/2;
border-bottom: 145/2;
border-left: 145/2;
border-top-right-radius: 0;
transform: rotate(45deg);
}
<CardMedia image={imageUrl} title={title} className={classes.media} />
解决方案
你几乎很好,只需通过考虑另一个元素使图像向相反方向旋转:
.box {
width:150px;
height:150px;
position:relative;
border-radius:50% 0 50% 50%;
margin:50px;
transform:rotate(-45deg);
overflow:hidden;
}
.box:before {
content:"";
position:absolute;
top:-20%;
left:-20%;
right:-20%;
bottom:-20%;
background: center/cover;
background-image:inherit;
transform:rotate(45deg);
}
<div class="box" style="background-image:url(https://i.picsum.photos/id/1074/800/800.jpg)"></div>
使用掩码的另一个想法:
img {
width: 175px;
height: 200px;
-webkit-mask:
linear-gradient(to bottom right,transparent 48%,#fff 50%) 17% 0% /40% 40%,
linear-gradient(to bottom left ,transparent 48%,#fff 50%) 83% 0%/40% 40%,
radial-gradient(circle farthest-side at 50% 31%,#fff 90%,transparent 91%) bottom/100% 60%;
-webkit-mask-repeat:no-repeat;
mask:
linear-gradient(to bottom right,transparent 48%,#fff 50%) 17% 0% /40% 40%,
linear-gradient(to bottom left ,transparent 48%,#fff 50%) 83% 0%/40% 40%,
radial-gradient(circle farthest-side at 50% 31%,#fff 90%,transparent 91%) bottom/100% 60%;
mask-repeat:no-repeat;
}
<img src="https://i.picsum.photos/id/1074/800/914.jpg" >
推荐阅读
- ssh - vscode 连接到 ssh 机器内部的 ssh 机器
- r - 如何在ggplot2中的绘图之外的特定位置添加文本
- c++ - C++中的字符数组
- angular - Angular 服务调用方法显示未定义错误
- java - 如何在`spring-data-jpa`中设置默认实体监听器使用java代码?
- javascript - 我只想在 reactjs 中更改单击按钮(onClick)的变体或背景。我怎样才能实现它?
- c - 在c中的链接列表中设置可以使用多少项目的限制
- python - AttributeError:“SVC”对象没有属性“best_estimator_”
- java - 如何使用 Java 和正则表达式正确排序文件条目
- sabre - 包含至少一个行程航段的 PNR 必须位于 Sabre 工作区