:target 是CSS3 中新增的1个伪类,用以配对当今网页页面的URI中某个标示符的总体目标元素(例如说当今网页页面URL下加上#comment就会精准定位到id=“comment”的部位,俗称锚)。CSS3 为这个姿势授予了更为多的作用——就好似:hover 1样你能够做1些款式界定。
先上实际效果图
正如题目所说,本文是教你怎样巧用CSS3:target伪类制做Dropdown往下拉菜单,原生态HTML+CSS,无JavaScript。以便吸引住各位往下看,先上具体事例,再开展分析。
Duang~ 具体事例实际上便是DeveMobile 主题的右上角那个按钮,你点1下就会有1个Dropdown往下拉菜单出現,在别的地区点一下回到原状。请用手机上扫码查询:
或立即看这个gif 照片:
案例分析
从解释基本原理的角度大家将HTML 拉出来最少化编码以下:
大致上上面的HTML编码能够分成两一部分,1一部分是1个考虑往下拉姿势的通道(我习惯性称为“电源开关”)——一般是1个button(案例是将a标识更换为1个button的作用);1一部分便是开启姿势的往下拉菜单显示信息了。
将会你会问close 这个类装饰的a标识那段是做甚么的?当你开启往下拉菜单后,有时必须做关掉(回到原状)的姿势,而从实际状况(例如说如本案例开启菜单后菜单将原先的电源开关都遮盖了)或客户体验上考虑到,最好是是除菜单地区外的全部显示屏都随意盲点就可以关掉菜单。这个a标识便是完成在开启电源开关后造成1个全透明的遮罩层遮盖到显示屏上。
有了上面的思路,那末再实际化为下面的编码(忽视某些不相干紧要的款式,SASS编码):
略微解释下上面的SASS编码:默认设置的状况下是掩藏往下拉菜单(选用全透明特性opacity 与CSS3的transform的scale 变小至0,遮罩层则默认设置掩藏);当电源开关开启后全透明度变成1且放到至一切正常的1倍,另外遮罩层显示信息。以便让往下拉菜单更显“往下拉”的状况,选用CSS3的origin精准定位下变换原点。
留意下适配性,全部流行访问器均适用 :target,除 IE8 及更早的版本号,挪动端话立即用。略微了解下你便可以应用到自身的新项目中了,have fun!