使用 javascript(jQuery) + css 实现字体阴影效果

偶然突发奇想想到了小时候做的艺术字,就是在笔画比较宽的字右边加上线条做成立体效果,我觉得这种想法也是可以使用 CSS 来实现的,通过一点点 CSS 就可以造成阴影效果,比如增加 border 并且配合使用相对定位来做一些浮动的效果,或者凸出来那样或者凹进去的按钮。要么就是字体通过字体叠加也能够实现阴影效果。下面就来介绍一种实现阴影效果的方法。

阴影效果一般就是用来配合在进行一些点击或者鼠标浮动的时候会出现效果反馈。这里为了便于说明我使用了 ul来搭建框架,前面的日志也介绍过如何使用 ul 来制作自己想要的列表菜单,这里就不多说啦。有人反映 CSS 占得高度过大,所以这次在高度上进行了压缩。我已经尽量的所见 CSS 的各项属性,争取使每一个属性都有自己无法被取代的意义。如果有不明白的地方可以M我。

 

设计思想

         两个相同的文字进行错位叠加造成阴影效果,专业的说法是滑动门技术

 

注意事项:

         1总体 bgcolor 要在 ul 中进行设定托底

         2 li 中控制字符具体的排列,这里我没有设置 width 所以是按照内容自动扩展的,以后以可以在这里使用定宽,因为是使用了两层 span 来实现阴影,特别还给阴影 span 加了偏移,所以在 span 中控制字体的位置的话会杯具的。

         3阴影 span 的偏移可以自定义。字体大点儿的话,可以偏移多一些。另外阴影 span position 设置成 absolute 后,图层会自动前移的(凸显在前端)

 

<!DOCTYPE html>
<html>
  <head>
    <title>CssFontShadow.html</title>
	
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    
    <!-- bgcolor 1165a1 border  1px solid #0D5995 -->
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
		<style type="text/css">
			body{margin: 0;padding: 0;}
			ul{margin: 200px auto;padding: 0;background-color: #1165a1;width: 600px;}
			ul li{list-style: none;margin: 0;position: relative;float: left;background-color: transparent;border-right: 1px solid #0D5995;padding: 10px;}
			ul li span{margin: 0;font-size: 1em;color: white;background-color: transparent;position: relative;cursor: pointer;}
			ul li span.shadow{color: #131C25;position: absolute;top: 11px;left: 11px;}
			ul li span.hide{display: none;}
			div.clear{clear: both;}
		</style>
		<script type="text/javascript">
			// 跟以往不同,元素由多个层级进行叠加的话则不能使用常规的 css 来改变样式了
			$(document).ready(function(){
				
				/* 鼠标悬停事件绑定 */
				$("ul").delegate(".over","mouseover",function(){
					$(this).parent().find(".shadow").toggleClass("hide");
				});
				
				/* 鼠标悬停事件绑定 */
				$("ul").delegate(".over","mouseout",function(){
					$(this).parent().find(".shadow").toggleClass("hide");
				});
				
				/* 鼠标点击事件绑定 */
				$("ul").delegate(".click","click",function(){
					$(this).parent().find(".shadow").toggleClass("hide");
				});
				
			});
		
		</script>
  </head>
  
  <body>
  	<ul>
  		<li>
	  		<span title="没有阴影效果">noEffect</span>
  		</li>
  		<li>
	  		<span class="shadow">withShadow</span>
	  		<span title="有阴影效果">withShadow</span>
  		</li>
  		<li>
	  		<span class="shadow hide">mouseOverChange</span>
	  		<span title="鼠标悬停阴影效果" class="over">mouseOverChange</span>
  		</li>
  		<li>
	  		<span class="shadow hide">mouseClickChange</span>
	  		<span title="鼠标点击阴影效果" class="click">mouseClickChange</span>
  		</li>
  		
  		<div class="clear"></div>
  	</ul>  		
  </body>
  
</html>

转载于:https://my.oschina.net/sanji/blog/63808

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
视频弹幕特效可以使用 JavaScriptjQuery实现,具体步骤如下: 1. 创建弹幕元素 首先,在视频播放器下方创建一个 div 元素,用于显示弹幕,将其样式设置为绝对定位,宽度为视频播放器的宽度,高度为弹幕字体大小的两倍,背景色为透明。 ```html <div id="danmu-container"></div> ``` ```css #danmu-container { position: absolute; bottom: 0; width: 100%; height: 2em; background-color: transparent; overflow: hidden; } ``` 2. 发送弹幕 使用 jQuery 监听发送按钮的点击事件,获取文本框中的弹幕内容,并动态创建一个 span 元素,设置其样式和文本内容,将其添加到弹幕容器内,设置其初始位置为容器的右侧,使用 animate() 方法实现弹幕的滚动效果。 ```html <input type="text" id="danmu-input"> <button id="danmu-send">发送</button> ``` ```javascript $('#danmu-send').click(function() { var content = $('#danmu-input').val(); if (content) { var $danmu = $('<span>' + content + '</span>'); $danmu.css({ position: 'absolute', top: Math.random() * ($('#danmu-container').height() - 30) + 'px', right: 0, fontSize: '1em', whiteSpace: 'nowrap', color: '#fff' }); $('#danmu-container').append($danmu); $danmu.animate({ left: $('#danmu-container').width() }, 8000, function() { $(this).remove(); }); $('#danmu-input').val(''); } }); ``` 3. 暂停弹幕 使用 jQuery 监听视频播放器的暂停事件,遍历弹幕容器内的所有弹幕元素,使用 stop() 方法停止弹幕的滚动动画,即可实现暂停弹幕的效果。 ```javascript $('#video-player').on('pause', function() { $('#danmu-container span').stop(); }); ``` 4. 添加特效 为了实现弹幕特效,可以对弹幕元素的样式进行修改,例如使用 CSS3 的 transform 属性实现弹幕的旋转效果使用 text-shadow 属性实现弹幕的阴影效果等。具体代码如下: ```css #danmu-container span { position: absolute; top: 0; right: 0; font-size: 1em; white-space: nowrap; color: #fff; transform: rotateY(180deg); text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; } ``` 在代码中,使用 transform 属性设置弹幕元素的旋转角度为 180 度,使其水平翻转,使用 text-shadow 属性设置弹幕元素的阴影效果,增强其边缘清晰度。 需要注意的是,弹幕特效的实现需要根据具体需求进行调整,例如可以添加动态缩放、透明渐变等其他效果。同时,为了避免弹幕重叠,可以设置弹幕元素之间的间隔,避免弹幕重叠。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值