用css制作星级评分第2/3页

yizhihongxing

下面我将详细讲解如何用 CSS 制作星级评分的第二/三页。

1. 准备工作

首先,我们需要准备页面所需的 HTML 和 CSS 文件。在 HTML 文件中,我们需要添加一个容器元素,用于承载星级评分,并为每个评分项添加一个用于显示星级的元素。在 CSS 文件中,我们需要定义评分项的样式,包括未选中和选中状态下的样式。

下面是 HTML 和 CSS 文件的代码示例:

HTML:

<div class="rating-container">
  <div class="rating-item">
    <i class="far fa-star"></i>
  </div>
  <<div class="rating-item">
    <i class="far fa-star"></i>
  </div>
  <div class="rating-item">
    <i class="far fa-star"></i>
  </div>
  <div class="rating-item">
    <i class="far fa-star"></i>
  </div>
  <div class="rating-item">
    <i class="far fa-star"></i>
  </div>
</div>

CSS:

.rating-container {
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
}

.rating-item {
  margin: 0.3rem;
  font-size: 2rem;
  color: #ddd;
  cursor: pointer;
}

.rating-item i {
  transition: color 0.2s;
}

.rating-item i:hover,
.rating-item i.active {
  color: orange;
}

2. 实现效果

实现星级评分的效果,我们需要结合 JavaScript 来实现视觉反馈和数据统计。在 JavaScript 中,我们可以监听用户的点击事件,并根据用户的行为来更新评分。我们需要定义两个变量,用于记录评分和评分项是否被选中。然后,我们用一个 for 循环来遍历评分项,并为每个评分项添加点击事件。

下面是 JavaScript 文件的代码示例:

JavaScript:

const ratingItems = document.querySelectorAll('.rating-item');
const ratingContainer = document.querySelector('.rating-container');
let ratingValue;

ratingContainer.onclick = function(event) {
  const target = event.target;
  const targetClass = Array.from(target.classList);

  if (targetClass.includes('rating-item')) {
    ratingItems.forEach(item => {
      item.classList.remove('active');
    });
    target.classList.add('active');
    ratingValue = target.dataset.value;
  }
};

3. 示例说明

示例1

在第一次加载页面后,所有评分项的颜色均为灰色,表示用户尚未提交评分。当用户点击一个评分项时,该评分项及之前的所有评分项均会变为黄色,表示用户已提交了评分。同时,页面中会记录用户提交的评分数据。

示例2

在用户提交评分后,用户可以继续点击其他的评分项来更新评分。当用户重新提交新的评分后,之前的评分项及颜色将会被重置,用户的评分数据也会被更新。

这个就是如何用 CSS 制作星级评分的完整攻略,希望可以对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用css制作星级评分第2/3页 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • css前端知识点总结(必看篇)

    CSS前端知识点总结(必看篇) 简介 CSS(Cascading Style Sheets)是一种用来描述文档展示的标记语言。它控制网页的布局、颜色、字体等方面,是前端开发中必不可少的一部分。 本篇文档将汇总一些常用的CSS知识点,供前端开发人员参考。 目录 选择器 属性 布局 背景 字体 动画 响应式布局 预处理器 选择器 元素选择器 元素选择器是指通过 …

    css 2023年6月9日
    00
  • CSS 定位之 z-index 问题分析

    下面是“CSS 定位之 z-index 问题分析”的完整攻略。 一、z-index 是什么 z-index 是 CSS 中用来设置元素在 z 轴上的层级关系的属性。它可以控制元素的垂直堆叠顺序,使一些元素覆盖其他元素。 二、z-index 的取值 z-index 属性可以接收以下值: 数字:取值范围为整数、负整数。数字越大,表示越靠近用户,也就是越显示在上层…

    css 2023年6月10日
    00
  • 利用纯CSS实现居中的七大方法示例

    首先我们需要知道什么是居中,以及为什么需要居中。居中是指元素在页面中水平或垂直方向上对齐于页面或父元素的中心位置,常见于图片、文本框等元素的居中对齐。居中的目的是为了视觉上更加美观,从而提高用户体验。 接下来我们将介绍七种纯CSS实现居中的方法: 1. 使用text-align: center实现水平居中 这种方法适用于父元素是块级元素(如div)的情况,只…

    css 2023年6月10日
    00
  • Vue 框架之动态绑定 css 样式实例分析

    Vue 框架之动态绑定 CSS 样式实例分析 在 Vue 框架中,我们可以通过动态绑定 CSS 样式来实现更加灵活的页面布局和效果。 Vue 样式绑定方式 Vue 框架中,有三种方式可以动态绑定 CSS 样式,分别为类绑定、样式绑定和内联样式绑定。 类绑定 通过:class语法可以绑定类名到元素上,例如: <div :class="{ act…

    css 2023年6月10日
    00
  • js实现的Easy Tabs选项卡用法实例

    下面是详细的js实现选项卡的攻略,包含了具体的实现过程、代码示例和注意事项。 js实现的Easy Tabs选项卡用法实例 简介 选项卡是一种经典的交互式UI组件,主要用于在有限的屏幕空间内展示多个内容区块。js实现的Easy Tabs选项卡就是其中的一种,比起使用CSS实现,使用js实现可以更加灵活,可定制性更强。 基本原理 js实现的选项卡主要原理是,通过…

    css 2023年6月11日
    00
  • UL里的LI元素左浮动层一行显示时使其居中的方法

    首先,需要注意到UL元素是有默认的内边距(padding)和外边距(margin)的,因此需要先将它们设置为0,以便更好地控制LI元素的位置和样式。 然后,我们可以使用CSS的flexbox布局来实现居中。具体操作步骤如下: 给UL元素设置display:flex属性,将其转化为flex容器。 设置justify-content属性为center,将其中的元…

    css 2023年6月10日
    00
  • css不常见属性之pointer-events的使用方法

    CSS不常见属性之pointer-events的使用方法 简介 pointer-events是CSS中一个不太常用的属性。它可以用来控制元素是否响应鼠标事件。在某些场景下,我们可能希望某一个元素不响应鼠标事件,这时候就可以使用pointer-events属性。接下来,就让我们来认真地了解一下它的使用。 语法 pointer-events的语法非常简单,只有一…

    css 2023年6月10日
    00
  • JS库之Highlight.js的用法详解

    JS库之Highlight.js的用法详解 Highlight.js 是一个轻量级、易于使用且支持语法高亮的 JavaScript 库。它适用于各种开发语言,并且内置大量的代码样式和主题,用户可以自定义自己需要的样式。 安装 安装 Highlight.js 非常简单,可以通过 CDN 或者直接下载源代码来引用。可以在 HTML 文件中直接引用 Highlig…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部