现现在,各类前端框架盛行的时代,单纯的完成一些界面上的功能已经愈来愈方便了。然而,过多的使用了这些框架而不去多研究想一想这类框架的具体实现,只是会用是不能迅速提升本身我的能力的,相反,用多了有时候会遮蔽本身的视野,没法完成本身的知识体系升级。今天,我就准备讲讲CSS
可以作的一些功能交互,这些功能或许你以前第一时间想到的多是用js
,却不知强大的CSS
也能完成,但愿经过个人分享可以增长你的知识视野。css
在线演示html
name
属性的radio
组一次性只能选择一个,模拟面板切换radio
具备可聚焦属性,模拟点击事件CSS
派生选择器,结合z-index
层级来完成内容显隐切换<div class="tab">
<input type="radio" id="radio1" name="radiogroup"/>
<label for="radio1">标签1</label>
<section>内容1</section>
</div>
<div class="tab">
<input type="radio" id="radio2" name="radiogroup"/>
<label for="radio2">标签2</label>
<section>内容2</section>
</div>
复制代码
#radio1:checked ~ label,#radio2:checked ~ label,#radio3:checked ~ label{
background:#e67e22;
}
#radio1:checked ~ section,#radio2:checked ~ section,#radio3:checked ~ section{
z-index:1
}
复制代码
在线演示前端
checkbox
多选特性,模拟同时事件聚焦checkbox
具备可聚焦属性,模拟点击事件CSS
派生选择器来变换内容高度完成面版折叠效果<input type="checkbox" id="checkbox1" class="checkbox-common"/>
<label for="checkbox1" class="panel-title">面板1</label>
<section class="panel-content" id="content1">内容1</section>
复制代码
#checkbox1:checked ~ #content1,#checkbox2:checked ~ #content2,#checkbox3:checked ~ #content3{
height:100px;
}
复制代码
在线演示前端框架
href
和id
一致,模拟点击:target
选择器定位模态元素,切换显隐<a href="#dialog" class="dialog-btn">click me</a>
<div class="dialog-box" id="dialog">
<div class="dialog-con">
<a href="#" class="dialog-close">X</a>
content
</div>
</div>
复制代码
.dialog-box:target{
visibility:visible
}
复制代码
在线演示框架
href
和id
一致,模拟点击:target
选择器定位大图显示<div class="light-box">
<a href="#img1"><img src="https://si.geilicdn.com/img-5cea0000016b6d86be730a217252-unadjust_900_383.png?w=100&h=100" alt=""></a>
<a href="#" id="img1" class="lightbox">
<img src="https://si.geilicdn.com/img-5cea0000016b6d86be730a217252-unadjust_900_383.png" alt="">
</a>
</div>
复制代码
.lightbox{
position:fixed;
top:0;
left:0;
background:rgba(0,0,0,1);
right:0;
bottom:0;
text-align:center;
display:none;
z-index:999;
}
.lightbox:target{
display:block;
}
复制代码
在线演示学习
html
自定义属性data-attr
来存储提示内容attr(data-attr)
来得到提示内容并经过hover
来显示文字提示<p class="poem">昼短<span data-tip="痛苦难熬的夜晚" class="tooltip" href="" tabindex="0">苦夜</span>长,何不<span href=""class="tooltip" data-tip="一块儿夜晚游玩" tabindex="0">秉夜</span>游</p>
复制代码
.tooltip:before{
content:attr(data-tip);
position:absolute;
left:50%;
bottom:120%;
display:block;
padding:.5em;
width:150px;
transform:translateX(-50%);
background:#7d5fff;
color:#fff;
opacity:0;
text-align:center;
outline:none;
}
复制代码
在线演示ui
body{
background: linear-gradient(to right top, #0089f2 50%, #DDD 50%);
background-size: 100% calc(100% - 100vh + 129px);
background-repeat: no-repeat;
}
复制代码
看完上述例子,是否是对CSS
的强大有了一层更深的认识?但愿在留言分享你的CSS
一些特殊有用技巧,你们一块儿学习。spa
参考连接:3d