用css实现投票效果

vue实践局部组件需求-投票 vue实践局部组件需求-投票 投票 局部组件实践和组件之间的嵌套: 1.搭建结构(html+css布局) 2.在组件标签中拆分成多个局部组件 3.删除第一步的搭建结构(html+css布局)代码 4.在组件中调取渲染使用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device- 阅读详情

用css实现投票效果

效果

在这里插入图片描述

React代码

// 投票组件
import React ,{FC,useState,useEffect}from 'react'
import styles from './index.less'

const Vote:FC= ()=>{

const voteData2 = ["10%","50%","100%","70%","90%"] //模拟的投票结果数据

const[voteData,setVoteDate] = useState(["0%","0%","0%","0%","0%"]) //投票结果

const [checkId,setCheckId] = useState(0) //选择的投票项

const vote = (id:number)=>{
  setCheckId(id)
  setVoteDate(voteData2)
}

useEffect(()=>{
  /*

  rem单位
	rem是css中的一个尺寸单位,和px、%,em(相对于父元素的字体大小)单位一样都是设置大小

	rem:html字体大小的多少倍

	用法:
	设置rem大小:
		方式一
			document.documentElement.style.fontSize=(document.documentElement.clientWidth/750)*100+'px';
		方式二:
			document.documentElement.style.fontSize='10vw';
				即1rem等于屏幕宽度的10分之一,若宽为375px,则1rem=37.5px;
	
		750px是当前流行美工稿大小;
		
		所以根据用法可得:
			 保证在750px大小的设备当中,1 rem=100px;
				在350px大小的设备中,1 rem=50px;
  */
  	document.documentElement.style.fontSize=(document.documentElement.clientWidth/750)*100+'px';
},[])

const arr = [
  {id:1,text:"投票项1"},
  {id:2,text:"投票项2"},
  {id:3,text:"投票项3"},
  {id:4,text:"投票项4"},
  {id:5,text:"投票项5"},
]

  return(
    <div className={styles.vote}>
      {
        arr.map((voteitem,index)=>{
          return(
            <div className={styles.voteContain} onClick={checkId===0?()=>vote(voteitem.id):undefined}  key={voteitem.id}>
              {/* 根据投票百分比占位的div */}
                <div className={styles.rs} style={{width:`${voteData[index]}`, transition:"width 2s"}}/>
                <ul>
                  <li  className={checkId===voteitem.id?styles.liCheck:styles.li}>
                    <span>{voteitem.text}</span>
            
                     <span className={styles.data} style={{opacity:checkId===0?"0":"1"}}>{voteData[index]}</span>
                  </li>
                </ul>
                
            </div>
          )
        })
      }
    </div>
  )
}

export default Vote

css代码


.vote{
  .voteTip{
    width: 4.68rem;
    margin: 0.4rem 0 0.1rem 0;
  }

  .voteContain{
    background-color: #D8C9B8;
    width: 5.19rem;
    height: 0.51rem;
    border-radius: 0.25rem;
    margin: 0.1rem auto;
    color: #432209;
    font-size: 0.28rem;
    font-weight: 300;
    position: relative;

    ul{
      position: relative;
      z-index: 1;
       text-align: left;
      .li{
        list-style-type: none;
        background: url('../../img/vote/circle.png') ;
        background-repeat:  no-repeat;
        background-size: 0.17rem 0.17rem;
        background-position: 0 0.15rem;
        text-indent: 1.5em;
      }
      .liCheck{
        list-style-type: none;
        background: url('../../img/vote/circle2.png') ;
        background-repeat:  no-repeat;
        background-size: 0.17rem 0.17rem;
        background-position: 0 0.15rem;
        text-indent: 1.5em;
      }
    }

    .rs{
      height: 0.51rem;
      border-radius: 0.25rem;
      background-color: #DFB297;
      position: absolute;
      left: 0;
      bottom: 0;
    }
    .data{
      font-weight: 400;
       position: absolute;
       right: 0.4rem;
       transition: opacity 1s;
    }
  }
}

总结

1、动画效果通过过渡属性来做

 <div className={styles.rs} style={{width:`${voteData[index]}`, transition:"width 2s"}}/>

2、改变li样式,区分选择和未选择效果

.li{
        list-style-type: none;
        background: url('../../img/vote/circle.png') ;
        background-repeat:  no-repeat;
        background-size: 0.17rem 0.17rem;
        background-position: 0 0.15rem;
        text-indent: 1.5em;
      }
.liCheck{
   list-style-type: none;
   background: url('../../img/vote/circle2.png') ;
   background-repeat:  no-repeat;
   background-size: 0.17rem 0.17rem;
   background-position: 0 0.15rem;
   text-indent: 1.5em;
 }

这个投票功能的实现还是比较简单的,有一点css基础就基本能做出来了

CSS实现实现票据效果 mask与切图方式 本文介绍了一种特殊的“切图”手法实现票据效果,将切图与CSSMASK结合起来,既保留了“切图”的简单暴力,又满足了CSS自适应的特点,下面简单总结一下传统的“切图”简单暴力,但往往缺少适应性:尺寸自适应和颜色自适应图形布尔运算主要有:合并形状、减去顶层、交叉形状、排除重叠CSSMASKcomposite刚好也有相同的特性可以从整体反向考虑,将难以实现的部分由“切图”完成,然后通过mask从整体减去这一部分由于缺口部分是通过CSS定位实现,因此可以确保整体的自适应性。 阅读详情

相关推荐

CSS实现星型投票效果

CSS实现星型投票效果 仿图片效果,很不错。

投票显示js+css(原创)

最近给公司做了个投票系统,不过投票结果显示是用flash做的HOHO全都是动态的饼图,主图,还有曲线图但是看到国外有用js写的动态效果于是自己写了个小例子HOHO/** * 动态设置大小 * @param obj_id,动态显示div的id * @param max,最大票数 * @madeby ok7758521ok ok7758521ok@126.com> */function s

2000

Voting_System:使用HTML和CSS制作的简单投票管理系统。 后端将在以后添加

投票系统 使用HTML和CSS制作的简单投票管理系统。 后端将在以后添加。

简易在线投票系统(php)——前端设计(css)

css.css@charset "utf-8"; body{ margin:0px; padding:0px; height:auto; font-size:14px; color:#666; } a{ text-decoration:none; color:#999; } a:hover{ color:#CCC; } #bottom{ width:10px; height:1

THE_ZERO 1666

js+css生成的投票结果统计图

基于JavaScript和css生成的投票结果统计图。

基于Java、JavaScript、CSS的SSM+MySQL网络投票系统设计源码

该项目是一款基于Java、JavaScript和CSS的SSM+MySQL架构的网络投票系统,包含73个文件,包括23个Java源文件、14个JSP页面、10个XML配置文件、3个JavaScript文件、2个CSS样式表、2个属性文件以及2个SQL脚本文件。系统设计完善,适用于各类网络投票场景。

投票管理系统的设计与实现(项目实现)

投票管理系统的设计与实现 一、概述 此次实训项目我选择了开发一个投票管理系统,使用了springboot框架来构建项目,mysql作为后台数据库平台,前端使用了bootstrap,Echarts来对数据进行可视化,使用了安全框架shiro来对项目进行安全管理,里面加入了Redis来实现缓存,里面有些功能还未实现,例如,投票时间过期自动消失,这个问题我暂时想的是利用Redis去实现,设置过期实现,自动消失。慢慢来啦,这也算是springboot的helloword项目。 二、总体设计 项目总共从三个模块进行分

zzq1216678132的博客 1万+

毕业设计——基于卷积神经网络的高速公路团雾智能识别系统设计与实现(数据集+源码+可视化+综述)

同时,也可以结合其他技术,如雷达、红外传感器等,实现多源信息的融合与协同处理,提高系统的可靠性和稳定性。实验结果表明,该系统能够实现对高速公路团雾的准确、快速识别,为高速公路的安全运行提供了有力保障。团雾作为一种常见的气象现象,具有突发性、局地性和消散迅速的特点,对高速公路的行车安全构成严重威胁。通过设计合适的网络结构,如增加卷积层、池化层等,实现对图像中团雾特征的自动学习和提取。预处理:对采集到的图像进行去噪、增强等预处理操作,以提高图像质量,降低后续处理的难度。读取数据,随机分为训练集和验证集。

abackcab的博客 668

投票排行榜网站(HTML+CSS+JS)

投票网站,实时更新投票结果排行榜。前端基础知识练习项目

llssdshiyi的博客 7442

零代码搭建专业知识库:Wiki.js+cpolar让团队协作像写笔记一样简单

"项目文档又找不到了!“团队负责人小张第N次在群里看到这样的抱怨——技术文档分散在邮件、网盘和个人电脑里,新人入职要花一周熟悉文档位置,远程协作时版本混乱更是家常便饭。Wiki.js与cpolar内网穿透服务的出现,就像给团队协作装上了"中央大脑”,用写Markdown笔记的简单方式,搭建一个专业的知识库系统。普通人对知识管理的需求其实很简单:方便记录、容易查找、大家能用。但传统方案把这个过程搞得异常复杂:建服务器、配环境、学语法、搞权限……大部分团队还没开始就放弃了。

Yawesh的博客 2040

Spring AI RAG 生产级实战:从 0 构建企业智能知识库系统

Spring AI🎯统一的 API 抽象:屏蔽不同 AI 服务商的差异🎯开箱即用的集成:支持主流大模型和向量数据库🎯Spring 生态融合:与 Spring Boot、Spring Data 无缝集成🎯企业级特性:事务管理、监控、安全等RAG 架构:检索 + 增强 + 生成,解决 LLM 局限性Spring AI:统一的 API 抽象,简化 AI 应用开发向量数据库:pgvector 适合中小规模,Milvus 适合大规模文档处理:加载 → 分块 → 向量化 → 存储检索优化。

一起修行,不孤单。这里有编程语言、开发工具、学习方法论和踩坑笔记。用简单的话说复杂的事,陪你从小白到进阶。周更干货,欢迎一起成长! 408

html中显示投票结果,纯div+css投票票数百分比柱状效果实现 | 编程知识库

css实现投票百分比统计效果,去年在一个医生评价的投票项目里面用过,先上下效果图吧!html代码25.0% (1/4)非常满意 25.0% (1/4)满意0.0% (0/4) 一般0.0% (0/4) 差50.0% (2/4) 很差css代码#graphbox{border:1px solid #e7e7e7;padding:10px;width:545px;background-...

weixin_34260080的博客 1036

DeepSeek + 番茄小说:AI辅助小说开发最全指南

DeepSeek与番茄小说合作推出AI辅助小说创作系统,通过DeepSeek的文本生成能力(包括情节构建、角色塑造等)结合番茄小说的市场数据,为作者提供从创意到发布的全流程支持。系统包含智能创意生成器、角色设计、章节自动生成等核心模块,采用数据驱动优化策略,支持128K长文本处理和多风格模仿。开发架构采用Python+FastAPI技术栈,提供分层审核机制确保质量。该系统可帮助作者突破创作瓶颈,提升效率,同时提供订阅制、内容分成等多元变现模式。需注意版权问题和原创性保证。

weixin_41445009的博客 1679

js实现投票demo

实现投票小demo

肥学的博客 1842

uniapp - 强力解决H5网页浏览器跨域问题,如何解决uniapp请求接口在浏览器跨域问题,UniApp H5 跨域代理配置详细教程完美解决所有uniapp跨域(调用第三方接口或服务器api跨域)

uni-app 跨域,uniApp解决h5跨域问题,解决uni-app请求接口在浏览器跨域问题,uni.request请求跨域问题解决方案,uni-app-跨域解决方法,彻底解决uniapp发布为H5的跨域问题,uniapp H5页面设置跨域请求_uniapp h5跨域配置,uniapp开发 H5 解决跨域问题,uniApp请求解决跨域问题,uniapp request如何实现前端请求跨域,解决uniapp调试过程中的请求跨域和环境配置,Uniapp调用外部api接口跨域请求,uni-app发布H5页面跨域

🏆 前端领域优质创作者 5354

[Python从零到壹] 十三.机器学习之聚类算法四万字总结全网首发(K-Means、BIRCH、树状聚类、MeanShift)

欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足之处也请海涵。Python系列整体框架包括基础语法10篇、网络爬虫30篇、可视化分析10篇、机器学习20篇、大数据分析20篇、图像识别30篇、人工智能40篇、Python安全20篇、其他技巧10篇。您的关注、点赞和转发就是对秀璋最大的支持,知识无价人有情,希望

杨秀璋的专栏 2万+

PHP修改投票样式,PHP结合jQuery实现红蓝投票功能特效

这是一个非常实用的投票实例,应用在双方观点对抗投票场景。用户可以选择支持代表自己观点的一方进行投票,本文以红蓝双方投票为例,通过前后台交互,直观展示红蓝双方投票数和所占比例,应用非常广泛。本文是一篇综合知识应用类文章,需要您具备PHP、jQuery、MySQL以及html和css方面的基本知识。本文在《PHP+MySql+jQuery实现的“顶”和“踩”投票功能》一文基础上做了适当改进,共用了数据...

weixin_42320332的博客 187

如何在 R 中使用 Gamma 分布(附示例)

在统计学中,伽马分布通常用于模拟与等待时间相关的概率。我们可以使用以下函数来处理 R 中的 gamma 分布:dgamma(x, shape, rate) – 找到具有特定形状和速率参数的 gamma 分布的密度函数值。 pgamma(q, shape, rate) – 找到具有特定形状和速率参数的伽马分布的累积密度函数值。 qgamma(p, shape, rate) – 找到具有特定形状和速率参数的 gamma 分布的逆累积密度函数值。 rgamma(n, shape, rate) – 生成 n 个随机

Mrrunsen的博客 4419

html选美投票,Html投票插件

Html多组合投票插件,初始化时只需要传入Json格式的数据,点击图标自动 1。可以通过修改CSS代码来自定义样式,颜色值等等。示例演示在底部。CSS:#VoteMain{width:500px;height:400px;margin:0auto;margin-top:0px;padding:20px20px20px20px;}.VoteItem{width:100px;h...

weixin_39911056的博客 456

【系统架构设计师】案例分析考点情况分析和解题技巧(包括2009~2024年考点详情)

复习方法建议仍然是以真题为主,只不过和综合题不同,标准答案并不会涵盖所有可能的考点。案例的考察方法和论文不太一样,它考察两大块的内容:

数据知道的博客 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

原生JS投票特效

效果:http://hovertree.com/texiao/js/24/ 效果图: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JS+CSS实现投票效果 - 何问起</title> <link...

weixin_34148508的博客 229

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

php多按钮投票,PHP开发 红蓝两方投票功能教程之HTML页面

||红蓝投票功能#main{width: 600px;margin: 0 auto;border: 1px solid #050205;}.vote{width:358px; height:300px; margin:40px auto;position:relative}.votetitle{width:100%;height:62px; background:url(/images/icon....

weixin_35645460的博客 214

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

数据库投票票数统计HTML,js投票数量统计代码

使用方法:1、head引入css文件2、body引入部分投票公布50%50%红队投票数:0蓝队投票数:0window.onload = function () {//获取div1及下面的divvar oDiv = document.getElementById('div1');var aDiv = oDiv.getElementsByTagName('div');//获取点击按钮var aBtn ...

weixin_31440583的博客 817

JS投票系统

投票系统 function initialEvents() { var tds = document.getElementById('mytable').getElementsByTagName('td'); for (var i = 0; i < tds.length; i++) { tds[i].onm...

iteye_2411的博客 432

基于jquery的多彩百分比 动态进度条 投票效果显示效果实现代码

造 漂亮 动态 友好的 精选随机色彩 投票百分比展示 效果 HTML结构: 复制代码 代码如下: A: 79(2%) B: 1986(61%) C: 1153(36%) D: 415(13%) 5: 89(3%)

—————————————— 2853

Ajax + Jquery页面无刷新投票

jQuery ajax投票特效,带动画效果 柱状图 $(document).ready(function() { $("#container div a").click(function() { $(this).parent().animate({ width: '+=100px' }, 500); $(this).

葛二蛋的博客 1882
上一篇: 获取视频第一帧图片并上传
下一篇: css实现翻牌抽奖效果
神说要有光 ye
博客等级 码龄8年 463粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值