8、css3实现头像裁剪效果

效果例图:

1、html代码如下:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <link rel="stylesheet" href="./3.css" />
    <title>Document</title>
</head>

<body>
    <div class="avatar"></div>
</body>
</html>

 2、css3代码展示:

.avatar{
    background: url('https://s21.ax1x.com/2024/06/01/pkGVtV1.jpg') no-repeat center center;
    background-size: cover;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    margin: 0 auto;
    display: block;
    margin-bottom: 10px;
    border: 1px solid #eee;
    position: relative;
}
.avatar::before,.avatar::after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: inherit;
    height: inherit;
    border-radius: 50%;
    transition: all 0.3s;
}
.avatar::before{
    background: rgba(0, 0, 0,0.5)
}
.avatar::after{
    background: inherit;
    clip-path: circle(0% at 50% 50%);
}
.avatar:hover::after{
    clip-path: circle(100% at 50% 50%);
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue3是一种流行的JavaScript框架,用于构建用户界面。头像裁剪是一种常见的功能,允许用户裁剪和调整他们的头像。下面我将介绍一个基于Vue3的头像裁剪组件的实现方式。 首先,我们需要安装一个名为"vue-croppa"的前端库,它是一个功能强大且易于使用的头像裁剪库。我们可以使用npm或者yarn来安装它。 然后,在我们的Vue3项目中引入Croppa组件。在你的Vue组件中,使用以下代码导入Croppa组件: ```javascript import Croppa from 'vue-croppa' import 'vue-croppa/dist/vue-croppa.css' export default { components: { Croppa }, data() { return { image: null, croppedImage: null } }, methods: { crop() { // 裁剪逻辑 this.croppedImage = this.$refs.croppa.generateDataUrl() // 获得裁剪后的图片data URL }, upload() { // 上传逻辑 // 将this.croppedImage发送到服务器 } } } ``` 在上述代码中,我们引入了Croppa组件并将其注册为当前组件的一个子组件。在data属性中,我们定义了两个变量:image是用户选择的待裁剪头像图片,croppedImage是裁剪后的图片。 接下来,在Vue模板中,我们可以使用以下代码来展示头像裁剪组件: ```html <template> <div> <input type="file" @change="image = $event.target.files[0]"> <Croppa ref="croppa" :src="image" :original-image-quality="1"></Croppa> <button @click="crop">裁剪</button> <button @click="upload">上传</button> <img v-if="croppedImage" :src="croppedImage" alt="裁剪后的头像"> </div> </template> ``` 上述模板中,我们首先创建一个文件输入元素,允许用户选择待裁剪头像图片。然后,我们使用Croppa组件,并通过:src属性将待裁剪的图片传递给组件。在点击"裁剪"按钮时,调用crop方法进行裁剪,并从裁剪组件中获取裁剪后的图片数据URL。最后,我们可以通过条件指令v-if来显示裁剪后的图片。 最后,在upload方法中,我们可以将裁剪后的图片上传到服务器,具体的上传逻辑可以根据项目需求来实现。 综上所述,以上是一个基于Vue3的头像裁剪组件的简单实现方式,希望对你有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cyz141001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值