首页 > 其他分享 >Vue实现CSDN评论区的抽屉drawer效果,不需要用el-drawer组件。

Vue实现CSDN评论区的抽屉drawer效果,不需要用el-drawer组件。

时间:2022-09-02 11:56:32浏览次数:71  
标签:el Vue color drawer background var -- border

一、效果预览

在这里插入图片描述

二、代码思路

1、思路:在当前页面添加一个浮动的div组件,用v-if绑定显示与否,点击评论图标的时候,显示该div

    <!--评论弹窗-->
    <div v-if="drawer" class="commentDrawer">
      <span>评论区</span>
      <span @click="drawer = false" style="cursor: pointer;float: left;margin-left: 10px">关闭</span>
      <div class="inputComment">
        <textarea v-model="textareaContent" placeholder="说点什么..." maxlength="200" @input="calcInput">

        </textarea>
        <span style="font-size: 14px;float: left">还可以输入{{canInputText}}个字符</span>
        <span class="sent">发送</span>
      </div>
    </div>

2、代码和样式

2-1、data数据

在这里插入图片描述

2-2、相应的js方法:
    //跳转评论详情
    toComment(id){
      this.drawer = false //先关闭上一个评论的框
      this.clickArticleId = id
      console.log(this.clickArticleId)
      //做一个延时,可以达到动态弹出的效果
      setTimeout(()=>{
        this.drawer = true
      },100)
    },
    calcInput(){
      let len = this.textareaContent.length
      this.canInputText = 200-len;
    }

2-3、样式代码:
.commentDrawer{
  background-color: var(--li-bg-color);
  color: var(--text-color);
  position: fixed;
  z-index: 2005;
  width: 26%;
  height: 96%;
  right: 0;
  top: 0;
  border-top-left-radius: 14px;
  border-bottom-left-radius: 14px;
}
.inputComment{
  margin-top: 5%;
  width: 88%;
  margin-left: 3%;
  position: relative;
  height: 185px;
  border-radius: 13px;
  padding: 3%;
  background-color: var(--main-bg-color);
  color: var(--text-color);
}
.inputComment textarea{
  width: 98%;
  position: relative;
  height: 150px;
  border: 0 solid;
  outline: none;
  resize: none;
  background-color: var(--main-bg-color);
  color: var(--text-color);
}
.inputComment .sent{
  border-radius: 30px;
  background-color: #ee464b;
  color: white;
  padding: 2px 15px;
  font-size: 16px;
  float: right;
  cursor: pointer;
  height: 25px;
}

就这样。

标签:el,Vue,color,drawer,background,var,--,border
From: https://www.cnblogs.com/lishilin-glut/p/16649313.html

相关文章

  • selinux设置
    临时设置查看selinux关闭selinux提示selinux开启selinux永久设置查看selinux关闭selinux提示selinux开启selinux......
  • elementui对于vue表单自定义校验
    在<el-form-itemlabel="原因"prop="reson":rules="条件==值?[{required:true,message:'原因不能为空',trigger:'blur'}]:[{requ......
  • Hybris Accelerator 的一些局限介绍和 Spartacus 项目的诞生
    很多做过SAPHybris实施的朋友,对于HybrisAccelerator都应该很熟悉了。HybrisAccelerator是一个即用型电子商务实现,客户可以快速安装和运行。由于其本身的模板特性,......
  • vue,回车事件触发登录按钮
    1.(html)登录按钮<button@click="loginButton"@keyup.enter="keyDown(e)">登录</button>2.登录方法methods:{login(){//这是登录方法}}3.键盘弹起......
  • 关于ag-grid-vue导出excel表格 进行内容valueFormatter
    最近在写ag-grid-vue的项目,用到了导出Excel功能,但是导出的数据是原始数据,不怎么理想,后来找了点方法进行处理,导出效果很好 <AgGrid...:defaultE......
  • vue3项目-小兔鲜儿笔记-一级分类页面01
    1.顶级类目-面包屑组件的封装了解render函数和h函数:render函数的返回值是html结构,渲染到#app容器,相对于template里传入html结构,render函数的优先级更高h函数是一个创建......
  • vue如何全局清除默认样式
    为什么要清除CSS的默认样式?1、首先每个浏览器对html标签都有自己的默认样式,用来保证在没有自定义样式的情况下也能被有据可循的渲染,然而各厂商都有自己的风格,需求也不......
  • 【面试题】Vue路由跳转的四种方式用法及区别
    Vue路由跳转的四种方式用法及区别点击打开视频讲解更加详细一、router-link<router-link:to="{name:'home'}"><router-link:to="{path:'/home'}">//name,path都行......
  • 开发自动化云 ELT 管道
    开发自动化云ELT管道寻求体现数据驱动的方法始于获取数据。该难题的一个基础部分是开发自动化ELT管道,以正确获取和交付必要的数据。ELT,乙X道**大号**负载**......
  • 企业单位公众号如何上传附件(如Word,Excel,PPT等)
     企业单位在公众号发布招聘信息时,需要在文章里面上传附件,可能是录取通知书、招聘报名表、成绩单,也可能是防疫政策规则、健康承诺书,等等。公众号文章是如何上传附件的呢?......