css3阴影box-shadow 曲边阴影 翘边阴影 折叠阴影

了解box-shadow 转载自 css3 box-shadow

案例转载自 曲边阴影 翘边阴影

学习css3 skew 转载自 transform skew() 属性

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>阴影测试</title>
		<style type="text/css">
			div{
				text-align: center;
				height: 200px;
				width: 500px;
				line-height: 200px;
				/*一定要设置背景颜色,否则为透明的话 折叠的效果会看不出来!*/
				background-color: white;
				margin: 60px;
			}
			.box-shadow1{
				position: relative;
			    box-shadow: 0 1px 4px rgba(0,0,0,0.3),0 0 40px rgba(0,0,0,0.1) inset;
			}
			/*在元素后面插入新的内容,即插入副阴影*/
			/*伪类的用法*/
			.box-shadow1:after{
				height: 50px;
				width: 480px;
			    content:"";
			    position:absolute;
			    background:white;
			    bottom: 0px;
			    left: 10px;
			    right: 10px;
			    /*设置副阴影在主阴影的下面*/ 
			    z-index: -1;
			    box-shadow: 0 0 20px rgba(0,0,0,0.7); 
			    border-radius: 100px/10px;
			}
			
			.box-shadow2{
			    position:relative;
			    box-shadow: 0 1px 4px rgba(0,0,0,0.3),0 0 40px rgba(0,0,0,0.1) inset;
			}
			.box-shadow2:before,.box-shadow2:after{
			    content: "";
			    position:absolute; 
			    top:20px;
			    bottom: 22px;  
			    background: transparent; 
			    box-shadow: 0 8px 20px rgba(0,0,0,0.7);  
			     /*设置副阴影在主阴影的下面*/ 
			    z-index: -1; 
			    background: #fff; 
			}
			.box-shadow2:before{ 
			    left: 22px;  
			    right:12px; 
			    /*将副阴影进行倾斜和旋转*/
			    transform: skew(-12deg) rotate(-4deg); 
			}
			.box-shadow2:after{  
			    left: 12px;  
			    right:22px; 
			    /*将副阴影进行倾斜和旋转*/
			    transform: skew(12deg) rotate(5deg); 
			}
		</style>
	</head>
	<body>
		<div class="box-shadow1">曲边阴影</div>		
		<div class="box-shadow2">翘边阴影</div>		
	</body>
</html>

效果图

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现可拖动的vue折叠面板,需要先引入一个支持拖动排序的库,例如`Sortable.js`,然后再结合CSS样式来实现。 这里提供一个示例代码,仅供参考: ```html <template> <div class="panel-group"> <div v-for="(item, index) in items" :key="item.id" class="panel" :data-id="index"> <div class="panel-heading" @click="toggle(index)"> {{ item.title }} </div> <div class="panel-collapse" :class="{ 'in': item.open }"> <div class="panel-body"> {{ item.content }} </div> </div> </div> </div> </template> <script> import Sortable from 'sortablejs' export default { data() { return { items: [ { id: 1, title: '折叠面板1', content: '折叠面板1的内容', open: false }, { id: 2, title: '折叠面板2', content: '折叠面板2的内容', open: false }, { id: 3, title: '折叠面板3', content: '折叠面板3的内容', open: false } ] } }, mounted() { // 初始化拖拽排序 const el = document.querySelector('.panel-group') Sortable.create(el, { animation: 150, handle: '.panel-heading', onEnd: evt => { const newIndex = evt.newIndex const oldIndex = evt.oldIndex const item = this.items.splice(oldIndex, 1)[0] this.items.splice(newIndex, 0, item) } }) }, methods: { toggle(index) { this.items[index].open = !this.items[index].open } } } </script> <style> .panel-group { margin-bottom: 20px; } .panel { margin-bottom: 0; border-radius: 0; border: none; box-shadow: none; } .panel-heading { cursor: pointer; background-color: #f5f5f5; } .panel-heading:hover { background-color: #ddd; } .panel-collapse { height: 0; overflow: hidden; transition: height 0.3s ease-out; } .panel-collapse.in { height: auto; overflow: visible; } .panel-body { padding: 15px; } </style> ``` 在这个示例中,我们使用了`Sortable.js`库来实现拖拽排序,然后在`mounted`钩子函数中初始化拖拽排序。同时,我们也定义了CSS样式来美化折叠面板的样式,包括折叠面板的背景色、边框、阴影、标题的样式等等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值