模仿评论样式

- 主要用到了padding-left把左侧的空白给留出来,然后把头像定位到留出的空白位置。
- 行内对齐样式,使用了display:inline-flex;align-items:center;
- 图标本来要用字体比较方便,暂时用的从icon font下载的svg
- 样式写的一塌糊涂,一点也没考虑复用性
- 一直就想写出个评论样式,终于能写出来了,我太难了
- 后面再参考下:Vue2封装评论组件详细讲解
<template><div class="comment-wrapper"><div class="one"><div class="main-comment"><div class="avatar"><a href="#"><img src="@/assets/avatar/avatar1.jpg" alt=""></a></div><div class="main-commentor"><span class="uname">初见Ta_U</span><img style="width:20px" src="@/assets/avatar/lv4.svg" alt=""></div><div class="main-content">验证码老是错误是为什么呢</div><div class="tipper"><div class="left-tipper align-inline"><span class="timing">2022-10-26 17:04</span><span class="like align-inline"><img style="width:16px" src="@/assets/avatar/zan.svg" alt=""><span>50</span></span><span class="dislike align-inline"><img style="width:16px" src="@/assets/avatar/cai.svg" alt=""><span>2</span></span></div><div class="right-tipper"><img style="height:20px;" src="@/assets/avatar/dot.svg" alt=""></div></div></div><div class="sub-comment"><div class="avatar"><a href="#"><img src="@/assets/avatar/avatar2.jpg" alt=""></a></div><div class="sub-commentor"><span class="uname">伏月小九九</span><img style="width:20px" src="@/assets/avatar/lv4.svg" alt=""></div><span class="sub-comment-content">我也是 我觉得不是打开方式不对我也是 我觉得不是打开方式不对我也是我觉得不是打开方式不对我也是 我觉得不是打开方式不对我也是</span><div class="tipper"><div class="left-tipper align-inline"><span class="timing">2022-10-27 18:46</span><span class="like align-inline"><img style="width:16px" src="@/assets/avatar/zan.svg" alt=""><span>8</span></span><span class="dislike align-inline"><img style="width:16px" src="@/assets/avatar/cai.svg" alt=""><span>1</span></span></div><div class="right-tipper"><img style="height:20px;" src="@/assets/avatar/dot.svg" alt=""></div></div></div><div class="sub-comment"><div class="avatar"><a href="#"><img src="@/assets/avatar/avatar3.jpg" alt=""></a></div><div class="sub-commentor"><span class="uname">BYKang3</span><img style="width:20px" src="@/assets/avatar/lv3.svg" alt=""></div><span class="sub-comment-content"><span>回复</span> <a href="#">@伏月小九九 :</a>解决了吗,我也是验证一值错误</span><div class="tipper"><div class="left-tipper align-inline"><span class="timing">2022-10-26 17:04</span><span class="like align-inline"><img style="width:16px" src="@/assets/avatar/zan.svg" alt=""><span>2</span></span><span class="dislike align-inline"><img style="width:16px" src="@/assets/avatar/cai.svg" alt=""><span>3</span></span></div><div class="right-tipper"><img style="height:20px;" src="@/assets/avatar/dot.svg" alt=""></div></div></div></div></div>
</template><script lang="ts" setup>
import { ref, reactive, onMounted } from 'vue'</script><style lang="scss">
.align-inline {display: inline-flex;align-items: center;
}.comment-wrapper {width: 800px;height: 540px;margin: 20px auto;border: 1px dashed #ddd;border-radius: 5px;.main-comment {position: relative;padding-left: 80px;padding-top: 18px;margin-bottom: 20px;.avatar {width: 50px;height: 50px;border-radius: 50%;overflow: hidden;position: absolute;left: 10px;top: 10px;img {display: block;width: 100%;height: 100%;}}}.main-commentor {display: inline-flex;align-items: center;margin-bottom: 10px;.uname {color: #fb7299;font-size: 14px;font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;margin-right: 5px;}}.sub-comment {padding-left: 120px;padding-top: 5px;margin-bottom: 10px;position: relative;.avatar {width: 30px;height: 30px;border-radius: 50%;overflow: hidden;position: absolute;left: 80px;top: 0;img {width: 100%;height: 100%;}}.sub-commentor {color: #61666d;font-size: 14px;display: inline-flex;align-items: start;margin-right: 15px;.uname {margin-right: 5px;}}.sub-comment-content {color: #18191c;}}
}.tipper {color: #9499a0;font-size: 14px;margin-top: 5px;display: flex;justify-content: space-between;.timing {margin-right: 10px;}.like {margin-right: 10px;img {margin-right: 5px;}}.like {margin-right: 10px;img {cursor: pointer;margin-right: 5px;}}.dislike {img {cursor: pointer;margin-right: 5px;}}.right-tipper {margin-right: 10px;img {cursor: pointer;}}
}a {text-decoration: none;color: #008ac9;
}
</style>
相关文章:
模仿评论样式
主要用到了padding-left把左侧的空白给留出来,然后把头像定位到留出的空白位置。行内对齐样式,使用了display:inline-flex;align-items:center;图标本来要用字体比较方便,暂时用的从icon font下载的svg样式写的一塌糊涂,一点也没考…...
xxl-job调度中心、执行器源码详解
文章目录简介调度中心一.程序启动初始化1.初始化入口类2.初始化I18n3.初始化快慢调度线程池4.初始化处理执行器注册或移除线程池更新执行器最新在线的守护线程5.初始化监控任务调度失败或执行失败的守护线程6.初始化处理执行器回调线程池监控任务执行结果丢失的守护线程7.初始化…...
cpp c++summary笔记 复杂类型 “right-left” rule
复杂类型 “right-left” rule 先向右走在向左走,循环往复,右侧的终止为看到右括号,右中括号,左侧为左括号,指针(或其他int等)。 符号读作*指向AA的指针(总在左侧)[]容纳AA的数组(总在左侧)()返…...
bash编程(马哥)
bash基础特性: 命令行展开:~,{} 命令别名:alias,unalias 命令历史:history 命令和路径补全:$PATH glob通配符:*,?,[],[^], 快捷键&am…...
搭建Gerrit环境Ubuntu
搭建Gerrit环境 1.安装apache sudo apt-get install apache2 注意:To run Gerrit behind an Apache server using mod_proxy, enable the necessary Apache2 modules: 执行:sudo a2enmod proxy_http 执行:sudo a2enmod ssl 使新的配置生效,需要执行如下命令:serv…...
朋友去华为面试,轻松拿到26K的Offer,羡慕了......
最近有朋友去华为面试,面试前后进行了20天左右,包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说,80%的人都会栽在第一轮面试,要不是他面试前做足准备,估计都坚持不完后面几轮面试。 其实&…...
springboot项目如何配置启动端口
文章目录0 写在前面1 配置文件(.yaml)--推荐2 配置文件(.properties)3 IDEA配置--不推荐4 写在最后0 写在前面 项目启动需要一个独立的端口,所以在此记录一下。 根据配置文件的后缀书写格式略有不同。 1 配置文件(.yaml)–推荐 若是.yaml后缀的配置文件࿰…...
IOS - 抓包通杀篇
IOS中大多数情况,开发者都会使用OC提供的api函数,CFNetworkCopySystemProxySettings来进行代理检测; CFNetworkCopySystemProxySettings 检测函数直接会检测这些ip和端口等: 采用直接附加页面进程: frida -UF -l 通…...
盒子模型的简介
盒子的组成 一个盒子由外到内可以分成四个部分:margin(外边距)、border(边框)、padding(内边距)、content(内容)。会发现margin、border、padding是css属性,因…...
Kubernetes 101,第二部分,pod
在上一篇文章中,我们了解了Kubernetes 的基础知识以及对其主要架构的介绍。 介绍完毕后,就该探索如何在 Kubernetes 中运行应用程序了。 容器包装器 在 Kubernetes 中,我们无法直接创建单个容器。相反,为了更好,我们可以将容器包装成一个单元,其中包括: 规范:多个容器可…...
protobuf序列化解码原理
Protobuf的编码方式 Varints是一种紧凑表示数字的办法。他用一个或者多个字节表示一个数字,值越小的数字节节数越少。相对与传统的用4字节表示int32类型的数字,Varints对于小于128的数值都可以用一个字节表示,大于128的数值会用更多的字节来表…...
OpenCV——line、circle、rectangle、ellipse、polylines函数的使用和绘制文本putText函数以及绘制中文的方法。
学习OpenCV的过程中,画图是不可避免的,本篇文章旨在介绍OpenCV中与画图相关的基础函数。 1、画线条——line()函数 介绍: cv2.line(image, start_point, end_point, color, thickness)参数: image: 图像start_point:…...
性能平台数据提速之路
作者 | 性能中台团队 导读 性能平台负责MEG所有研发数据的管理、接入、传输、应用等各个环节。数据的提速对于公司报表建设、决策分析、转化策略效果都有至关重要的影响。重点介绍数据生产端与消费端提速落地实践,如何高性价比满足大数据生产端提速?如何…...
Dns域名解析服务器
前言 域名解析服务器的介绍 域名服务器的类型划分 DNS域名解析的过程 为什么需要DNS解析域名为IP地址? 通俗理解Dns DNS劫持 DNS污染 Dns面试经验 前言 DNS是一个应用层协议,用来获取域名对应的IP地址 域名解析服务器的介绍 DNS(Dom…...
关于 JavaScript 中的 Promises
在 JavaScript 中,Promise 是一个对象,它表示一个可能还不可用,但会在未来解决的值。Promises 用于处理异步操作,例如发出网络请求或访问数据库,其中结果不是立即可用的。如果你准备好了,我想开始我们的冒险…...
PMP考前冲刺题——错题集
3、 [多选] 采购部门需要向全球不同的供应商采购项目所需的各种商品,所有采购订单均己发送给供应商并已按要求处理。项目经理后来收到客户提出的变更请求。由于项目经理未及时通知采购部门,运抵的所有物品都是按原来的需求所提供。 项目经理本应做什么来…...
【C++】30h速成C++从入门到精通(多态)
多态的概念多态:通俗来说就是多种心态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。多态的定义及实现多态的构成条件多态是在不同继承关系的类对象,去调用同意函数,产生了不同的行为࿰…...
从proc文件系统中获取gateway的IP地址
在linux的命令行下获取当前网络环境的gateway的IP并不是一件难事,常用的命令有ip route或者route -n,其实route -n也是通过读取proc文件系统下的文件来从内核获取路由表的,但ip route是通过netlink来获取的路由表;本文将讨论如何编写程序从proc文件系统中获取路由表,并从路…...
【LeetCode】剑指 Offer(17)
目录 题目:剑指 Offer 34. 二叉树中和为某一值的路径 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offer …...
MySQL索引类型
MySQL 是最流行的关系型数据库管理系统,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 索…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
rknn toolkit2搭建和推理
安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...
leetcode73-矩阵置零
leetcode 73 思路 记录 0 元素的位置:遍历整个矩阵,找出所有值为 0 的元素,并将它们的坐标记录在数组zeroPosition中置零操作:遍历记录的所有 0 元素位置,将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...
工厂方法模式和抽象工厂方法模式的battle
1.案例直接上手 在这个案例里面,我们会实现这个普通的工厂方法,并且对比这个普通工厂方法和我们直接创建对象的差别在哪里,为什么需要一个工厂: 下面的这个是我们的这个案例里面涉及到的接口和对应的实现类: 两个发…...
基于Java项目的Karate API测试
Karate 实现了可以只编写Feature 文件进行测试,但是对于熟悉Java语言的开发或是测试人员,可以通过编程方式集成 Karate 丰富的自动化和数据断言功能。 本篇快速介绍在Java Maven项目中编写和运行测试的示例。 创建Maven项目 最简单的创建项目的方式就是创建一个目录,里面…...
mcts蒙特卡洛模拟树思想
您这个观察非常敏锐,而且在很大程度上是正确的!您已经洞察到了MCTS算法在不同阶段的两种不同行为模式。我们来把这个关系理得更清楚一些,您的理解其实离真相只有一步之遥。 您说的“select是在二次选择的时候起作用”,这个观察非…...
