- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有兴趣制作一个完全黑暗的网页效果(在黑暗中,我的意思是黑暗如夜,根本没有灯光),并给鼠标光标一个灯光效果来照亮周围的环境。
我应该用什么来达到那种效果?我已经尝试在 CSS 中和通常在网络上寻找答案,但没有找到任何类似的东西。
我唯一找到的是 this plugin适用于 WordPress,但它是固定的,无法自定义或使用。
最佳答案
我知道这是一个旧话题,但我对自己制作效果很感兴趣,于是决定 something on jsfiddle我认为完成了任务。
代码在 jsfiddle 上,并复制到这里并附上解释。一切都非常简单。
我创建了一个 ID 为 light
的 div,然后我使用了一个名为 content
的包装器 div,其中包含 lorum ibsum。
<div id="light"></div>
<div class="content">
<h1>Flashlight test</h1>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p>
<ul>
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
<li>Aliquam tincidunt mauris eu risus.</li>
<li>Vestibulum auctor dapibus neque.</li>
</ul>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
</div>
我将 html
元素(页面上的顶级元素)设置为黑色文本和黑色背景,因此默认情况下所有内容都会隐藏。
接下来,我使用 light
id 设置了 div 的样式。我将我的设置为 100px 高和 100px 宽,将背景设为黄色,并给它一个 50px 的 border-radius
,宽度/高度的一半,形成一个圆圈。我还制作了 div position: relative
,因此它脱离了正常的页面流,可以位于其他元素之上,这对于我们创建效果所需的分层很重要。我决定在用户移动鼠标之前为手电筒设置一个默认位置(更多内容在 JS 部分),所以我设置了 top
和 left
属性到 50%,使其在页面上居中。
最后,我向内容包装器 div 添加了一条规则,将 position: relative
和 z-index
设置为 10。position: relative
或 position: absolute
需要让 z-index
工作; z-index
控制哪些元素堆叠在哪些元素之上。因此,将内容 div(即文本)设置为更高的 z-index
,使其出现在浅色 div 的顶部,由于背景较浅,您现在可以看到它。
html {
color: #000;
background-color: #000;
}
.content {
position: relative;
z-index: 10;
}
#light {
top: 50%;
left: 50%;
width: 100px;
height: 100px;
border-radius: 50%;
position: absolute;
background-color: rgb(231, 221, 122);
}
JS只有6行,使用jQuery。它所做的只是使用 mousemove()
事件函数设置元素的偏移量 - 位置。该函数有一个参数,该参数保存鼠标所在位置的坐标。从该数字中减去 50 像素以使光线居中,即可获得效果。
$(document).mousemove(function(event) {
$('#light').offset({
top: event.pageY - 50,
left: event.pageX - 50
});
});
遵循与上述相同的原则,以下是如何利用我最初编写答案时不可用的功能来利用更现代的普通编码实践。
完整演示在这里:https://codepen.io/bronzehedwick/pen/oNdRwYN
<div id="light" style="--light-position-y: 0; --light-position-x: 0"></div>
<div class="content">
<h1>Flashlight test</h1>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p>
<ul>
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
<li>Aliquam tincidunt mauris eu risus.</li>
<li>Vestibulum auctor dapibus neque.</li>
</ul>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
</div>
body {
background-color: black;
}
.content {
position: relative;
z-index: 10;
}
#light {
width: 100px;
height: 100px;
border-radius: 50%;
position: absolute;
transform: translate(var(--light-position-x, 0px), var(--light-position-y, 0px));
background-color: rgb(231, 221, 122);
}
var light = document.getElementById('light');
document
.documentElement
.addEventListener('mousemove', function handleMouseMove(event) {
light.style.setProperty('--light-position-y', (event.clientY - 50) + 'px');
light.style.setProperty('--light-position-x', (event.clientX - 50) + 'px');
});
关于css - 如何使用鼠标光标使网页在黑暗中发光,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19213652/
我正在尝试在 HTML5 Canvas 上绘制带有背景的字符串。我以 GMail 图标为例,请看这张图片(来自实验室设置页面): 如您所见,图片中的 8 周围有白光。到目前为止,这是我尝试过的: va
我有一个问题!我需要在文本上设置不透明度。 我尝试使用 jquery: $(document).ready(function() { $(".item h2").css({ opacity: 0.5
一直在研究 Scenekit 上的照明,虽然我现在可以应用照明节点来照亮某些东西,但我正在寻找一种从对象内部照明的方法。 举个例子,想象一下 NEON 或将光转换到其他物体上的灯泡。 有什么想法可以实
如何从搜索栏的背景中去除光彩/发光(渐变)。我想用一种颜色替换它。 来自这里: 像这样 最佳答案 使用 searchbar.backgroundImage = //your image here 你可
有什么方法可以在 div 周围添加光晕吗?看看 twitter 登录,输入框周围怎么会有蓝色的光芒,可以为 div 做吗? 最佳答案 CSS3 可以做到这一点 -webkit-box-shadow:0
我想不通这个。当 textarea 在 Firefox 中突出显示时,我试图摆脱那种蓝色光芒。 这是我的 CSS: textarea { margin:0; padding:0;
我有以下 Javascript 可以使文本链接持续发光/脉动。此链接显示同一页面的另一部分,因此我希望它在用户单击后停止。 $(document).ready(function()
一直在研究 Scenekit 上的照明,虽然我现在可以应用照明节点来照亮某些东西,但我正在寻找一种从对象内部照明的方法。 举个例子,想象一下 NEON 或将光转换到其他物体上的灯泡。 有什么想法可以实
我有一个导航菜单,我试图仅使用 CSS3 和 HTML 重新创建它。根据所附图片上的“主页”按钮,该设计要求在当前选择的菜单按钮上发光/发光。仅使用代码就可以实现这种效果,还是我需要使用发光图像?!
我想去除那些圆圈周围的“光晕”。您看到的那些路径是发光本身,而不是带有 2px 红色和蓝色实心环的标记。因此,删除那些路径元素。 highcharts 中应该有一个设置允许我禁用/修改这个“发光”。
我正在 Unity game engine 中创建 iOS 应用 . 我正在尝试重写我的着色器,以便使用它的 Material >绽放(发光)效果(如 Halo component )。 一个示例它的
几天来我一直在努力寻找任何资源来帮助我使用高级着色器语言和 DirectX 9 托管库编写简单的发光/模糊着色器。 我需要做的就是将一系列 CustomVertex.TransformedColore
有没有办法去除 Webkit 中 IFrame 的外发光? 我试过这个: iframe {outline: none; -moz-outline: 0; border: 1px solid #000;
我正在尝试在自定义按钮上实现悬停发光(见下图)。我在 Chrome 中玩游戏,无法通过 -webkit-radial-gradient 获得任何类似的外观。 button
这有点特殊,因此很难选择正确的标题或尝试找到已经存在的修复程序,但无论如何: 当我在网上搜索类似的东西时,我在网上找到了这个代码片段,并决定在我正在从事的元素中使用它: .text-glow:hove
我想知道如何在页面加载后使 div 以特定颜色发光。 Registrer deg 这是我想要发光的 div。谢谢:) 最佳答案 CSS3 可以做到这一点: -webkit-box-shadow:0 0
如果可能的话,我想从文本区域中删除样式并使其全白,没有任何边框或发光。我尝试过在 SO 上找到的不同内容,但没有任何效果(尝试使用 FF 和 Chrome)。 那么,这可能吗?如果可以,应该怎么做?
我正在使用 Window 7。我已经从我的窗口中删除了阴影,但 Visual Studio 2012 似乎忽略了该设置并且无论如何都会绘制阴影(或发光)。有没有办法去除那个阴影/发光? 最佳答案 来自
我想为以下绘图符号设置动画(脉冲、发光)。实现所需行为的最佳方法是什么。谢谢 最佳答案 您不能为绘图符号设置动画。您可以做的是在突出显示的点上放置一个绘图空间注释。创建一个自定义的 CPTLayer
我使用您出色的网站构建了 Accordion ,它取代了我新应用的 SSL 无法使用的旧 Ajax 脚本。 我的审美观有问题。当 Accordion 的标题处于事件/选定状态时,它会在背景周围产生蓝色
我是一名优秀的程序员,十分优秀!