iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >css如何实现聚光灯效果
  • 870
分享到

css如何实现聚光灯效果

2024-04-02 19:04:59 870人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关CSS如何实现聚光灯效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   简介   CSSVariables,一个并不是那么新的东西,但

这篇文章将为大家详细讲解有关CSS如何实现聚光灯效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

  简介

  CSSVariables,一个并不是那么新的东西,但对css来说绝对是一场革命。

  之前使用变量的时候,需要借助sass、less等预处理工具来实现,现在我们可以直接使用css来声明变量。

  兼容性

  老规矩,先来看下兼容性

  兼容性一片绿,红的那不是还有两个吗?做大事怎么能拘小节呢,让它咕噜(gun)一边去吧。

  语法

  语法有点难看但很简单,--*来声明变量名,var(--*)来使用,也许你要问了,为什么使用--不用$一类的呢,唉,那不是sass、less两个货用了吗

  声明和使用必须放在{}代码块里

  body{

  --bg-color:lightblue;

  background-color:var(--bg-color);

  }

  代码是不是很简单,可以直接看效果,就不赘述了。

  全局变量与变量覆盖

  在:root代码块里面声明的变量就是全局变量,并且局部变量会覆盖全局变量

  :root{

  --bg-color:red;

  }

  body{

  --bg-color:lightblue;

  background-color:var(--bg-color);

  }

  最后生效的是--bg-color:lightblue,bg-color变量的值也就变成了lightblue

  变量的缺省值

  完整的变量使用语法var([,]?),当变量没有定义的时候,会使用后面的值。看下面的例子

  body{

  --1:red;

  color:var(--2,blue);

  }

  上面代码会在body的作用域里面查找--2变量,没有的话就会查找全局,都没有的话就会使用后面的值,所以最后生效的颜色就是blue

  可以看到,上面我们的变量名直接使用了数字:joy:,css变量很叼的,不只是数字,汉字都是可以的。

  参与计算

  :root{

  --bg-color:lightblue;

  --文字颜色:white;

  --fong-size:30;

  }

  body{

  background-color:var(--bg-color);

  }

  p{

  color:var(--文字颜色);

  font-size:var(--fong-size)px;

  }

  此时p里面的文字的大小是多少呢?是浏览器默认的大小,为什么不是咱们想象的30px呢,这是因为变量转换的时候末尾会带上空格,var(--fong-size)px会转换成30px

  我们可以老老实实声明变量的时候带上单位

  --fong-size:30px;

  或者使用calc()计算属性

  font-size:calc(var(--fong-size)*1px);

  js获取与赋值

  我们可以使用js来获取和赋值css变量,你看,是不是老方便了,老铁。

  :root{

  --bg-color:lightblue;

  }

  //获取

  getComputedStyle(document.documentElement).getPropertyValue('--bg-color')//lightblue

  //赋值

  document.documentElement.style.setProperty('--bg-color','yellowgreen')

  简单应用

  上面我们介绍了css变量的声明使用以及使用js来进行获取和赋值的操作,接下来,我们完成个聚光灯的效果(我自己瞎起的,我也不知道应该叫什么)

  写代码之前我们来梳理下思路,怎么来实现这个效果,主要有以下几步1、声明全局css变量2、设置body为纯黑背景,添加p并设置背景图3、将p的背景图使用clip-path进行裁剪,使用变量设置圆心位置4、添加鼠标事件,动态更改css变量也就是圆心位置

  接下来开始写代码

  布局很简单,就是一个p,我们主要说下css样式

  :root{

  --x:40;

  --y:40;

  }

  *{

  padding:0;

  margin:0;

  }

  body{

  width:100vw;

  height:100vh;

  background:#000;

  }

  p{

  width:100%;

  height:100%;

  background:url('../images/bg.png')00no-repeat;

  clip-path:circle(100pxatcalc(var(--x)*1px)calc(var(--y)*1px));

  background-size:cover;

  }

  使用*通配符简单粗暴干掉浏览器默认样式,body设置100%,这里使用了vw和vh单位,表示将视口的等分成100份,100vw就是100份宽就是100%的宽,vh同理。

  重点来了,使用css声明了--x、--y两个变量,然后在p样式里裁剪时使用clip-path:circle(100pxatcalc(var(--x)*1px)calc(var(--y)*1px)),我们使用clip-path裁剪了一个圆,它的语法如下

  clip-path:circle(半径at圆心X轴坐标圆心Y轴坐标)

  此时,页面上显示了一个这样的圆

  最后一步,我们添加鼠标跟随事件,并更改--x和--y的值

  document.addEventListener('mouseover',function(e){

  document.documentElement.style.setProperty('--x',e.clientX)

  document.documentElement.style.setProperty('--y',e.clientY)

  })

  此时,我们使用css变量完成了一个简单的效果,css变量还有更多的使用场景,请尽情的发挥吧。

  详细代码,请移驾GitHub

  小结

  1、可以嵌套使用

  :root{

  --green:green;

  --bGColor:var(--green);

  }

  2、变量的不合法

  p{

  --color:10px;

  background-color:yellow;

  background-color:var(--color,green);

  }

  此时p的背景色是什么呢?

  A.rgba(0,0,0,0)

      B.10pxCyellowDgreen

  答案是A

  简单来说是变量声明的时候不是合法的,背景色显然不能是10px,所以浏览器就会使用默认值,这个默认值并不是使用变量的默认值,是浏览器自己的默认值background-color:var(--color,green)就会变成background-color:rgba(0,0,0,0)

关于“css如何实现聚光灯效果”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: css如何实现聚光灯效果

本文链接: https://www.lsjlt.com/news/89694.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • css如何实现聚光灯效果
    这篇文章将为大家详细讲解有关css如何实现聚光灯效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   简介   CSSVariables,一个并不是那么新的东西,但...
    99+
    2024-04-02
  • css中自定义属性和聚光灯效果的实现方法
    这篇文章给大家分享的是有关css中自定义属性和聚光灯效果的实现方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。简介CSS Variables,一个并不是那么新的东西,但对css来说绝对是一场革命。之前使用变量的...
    99+
    2023-06-08
  • 怎么利用CSS制作一个聚光灯效果
    今天小编给大家分享一下怎么利用CSS制作一个聚光灯效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2024-04-02
  • 纯CSS如何实现红绿灯效果
    这篇文章主要介绍纯CSS如何实现红绿灯效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、下面的代码输出的内容是什么?function O(name){    th...
    99+
    2023-06-08
  • 如何使用CSS实现极光效果
    小编给大家分享一下如何使用CSS实现极光效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!像是这样:emmm,这有点难为人了。不...
    99+
    2024-04-02
  • CSS如何实现图片高亮光弧效果
    这篇文章主要介绍了CSS如何实现图片高亮光弧效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 CSS3实现的一个高亮光弧效果,当鼠标ho...
    99+
    2024-04-02
  • Windows11聚光灯不起作用如何修复
    这篇“Windows11聚光灯不起作用如何修复”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇...
    99+
    2023-04-29
    windows11
  • JS如何实现跑马灯效果
    这篇文章将为大家详细讲解有关JS如何实现跑马灯效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果如下:(动态效果可复制代码查看,案例中的图片可自行选择添加)代码如下:...
    99+
    2024-04-02
  • Vue如何实现跑马灯效果
    这篇文章主要介绍Vue如何实现跑马灯效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!跑马灯效果说明:单击"应援"按钮文字向左飘动,再单击"暂停"按钮停止当前飘动完整代码 (注...
    99+
    2023-06-25
  • 如何使用CSS实现发光的按钮效果
    这篇“如何使用CSS实现发光的按钮效果”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“如何使用CSS实现发光的按钮效果”,小编整理了以下知识点,请大家跟着小编的...
    99+
    2024-04-02
  • CSS动画:如何实现元素的闪光效果
    CSS动画:如何实现元素的闪光效果,需要具体代码示例在网页设计中,动画效果有时可以为页面带来很好的用户体验。而闪光效果是一种常见的动画效果,它可以使元素更加引人注目。下面将介绍如何使用CSS实现元素的闪光效果。一、闪光的基本实现首先,我们需...
    99+
    2023-11-21
    动画 CSS 闪光
  • 如何使用CSS实现图片走马灯动态效果
    小编给大家分享一下如何使用CSS实现图片走马灯动态效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!由于项目需要实现一个图片的走马灯效果。查看了大部份通用vue的组件库,比较少看到这类组件...
    99+
    2024-04-02
  • 如何用css做极光效果
    今天小编给大家分享一下如何用css做极光效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2024-04-02
  • 如何使用CSS制作跑马灯效果的实现步骤
    跑马灯效果是一种常见的前端特效,在网页中显示连续滚动的文字或图片,给页面增添了一些动感和活力。本文将介绍如何使用CSS来实现跑马灯效果的具体步骤,并提供相应的代码示例供参考。步骤一:创建HTML结构首先,我们需要在HTML中创建用来实现跑马...
    99+
    2023-10-21
    CSS 实现步骤 跑马灯效果
  • Android如何实现流光和光影移动效果
    这篇文章将为大家详细讲解有关Android如何实现流光和光影移动效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。概述:开发过程中,看到有些界面用到一道光线在屏幕中掠过的效果,觉得挺炫的。所以查找相关资料...
    99+
    2023-06-22
  • Vue如何实现列表跑马灯效果
    这篇文章主要介绍了Vue如何实现列表跑马灯效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue如何实现列表跑马灯效果文章都会有所收获,下面我们一起来看看吧。Vue文件中:<ul class=...
    99+
    2023-06-30
  • js如何实现文字跑马灯效果
    这篇文章将为大家详细讲解有关js如何实现文字跑马灯效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下<!doctype html> <...
    99+
    2024-04-02
  • Vue如何实现简易跑马灯效果
    本文小编为大家详细介绍“Vue如何实现简易跑马灯效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue如何实现简易跑马灯效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Vue跑马灯效果:1.分析a.点击&q...
    99+
    2023-06-30
  • 小程序如何实现跑马灯效果
    这篇“小程序如何实现跑马灯效果”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“小程序如何实现跑马灯效果”文章吧。先看效果图实现...
    99+
    2023-07-02
  • 如何使用CSS实现一个喜庆的灯笼动画效果
    本文小编为大家详细介绍“如何使用CSS实现一个喜庆的灯笼动画效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用CSS实现一个喜庆的灯笼动画效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作