先放上我们最终实现的效果

注:这里建议插入codepen(临时使用图片代替)

我们想要实现当点击某个元素时,显示一个tip浮动框。

html:

<div class="wrapper">
<span class="click-ele">我是按钮</span>
<div class="popup">我是文字测试君</div>
</div>

通常我们会采用JS的方法给触发事件元素监听click事件监听,然后手动显示隐藏。

这里我们用CSS来模拟hover事件:

:active + 兄弟选择器(加号+)

首先想到的是使用伪类的方法:active,他和相邻兄弟选择器(加好+)一起使用。

<div class="wrapper">
<span class="click-ele">我是按钮</span>
<div class="popup">我是文字测试君</div>
</div>
.popup{
display:none;
}
.click-ele:active + div.popup{
display: block;
}

这种方法更适用于事件触发和相应事件元素属于兄弟元素的场景。并且模拟的是hover事件并不是点击事件,因为当我们鼠标按钮放开后tip弹框立即消失了。

方法二 :focus伪类和事件冒泡

通过:focus属性可以直接实现点击事件效果

<div class="wrapper">
<span class="click-ele">我是按钮</span>
<div class="popup">我是文字测试君</div>
</div>
.wrapper:focus .popup{
display: block;
}
.popup{
display:none;
}

这里利用的是事件冒泡原理。当按钮被点击时,触发了focus事件。事件往上传播到父元素.wrapper。因此触发了它的:focus伪类效果。进而能控制其下面的子元素属性。

【CSS-进阶之元素:focus伪类模拟点击事件】的更多相关文章

  1. HTML&CSS基础-子元素的伪类选择器

    HTML&CSS基础-子元素的伪类选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html的源代码 <!DOCTYPE html> <html& ...

  2. css 选择器 & UI元素的伪类选择器 & 伪元素选择器

    UI元素的伪类选择器 1. :focus  用来选取获取焦点事件 2. :enabled 用来指定当元素处于可用状态时的样式 3. :disable  用来指定元素处于不可用时的状态    表单里应用 ...

  3. CSS :focus 伪类

    :focus -- CSS :focus 伪类,适用于已获取焦点的元素的样式 语法: :focus CSS版本:CSS2 说明: 适用于已获取焦点的元素的样式,例如:表单的input输入框可以输入文字 ...

  4. css选择器(常规选择器,伪类选择器,伪元素选择器,根元素选择器)

    前言 CSS的一个核心特性是能向文档中的一组元素类型应用某些规则,本文将详细介绍CSS选择器 选择器 [通配选择器] 星号*代表通配选择器,可以与任何元素匹配 *{color: red;} [元素选择 ...

  5. css:focus伪类的使用

    css中:focus伪类的使用,即给已获取焦点的元素设置样式 示例一 <!DOCTYPE html> <html lang="en"> <head&g ...

  6. CSS伪元素与伪类的区别

    伪类和伪元素介绍 伪类:伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id.class.属性等静态的标志.由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能 ...

  7. 前端开发 CSS中你所不知道的伪类与伪元素的区别--摘抄

    做过前端开发的人都熟悉伪类与伪元素,而真正能够彻底了解这二者的区别的人并不多.伪类与伪元素确实很容易混淆. 伪元素主要是用来创建一些不存在原有dom结构树种的元素,例如:用::before和::aft ...

  8. js进阶 10-7 简单的伪类选择器可以干什么

    js进阶 10-7 简单的伪类选择器可以干什么 一.总结 一句话总结:伪类选择器是冒号. 1.学而不用,有什么用? 多用啊,在项目中多用 2.简单的伪类选择器可以干什么? 除某元素以外,某元素的一切索 ...

  9. CSS选择器详解(伪类) 转 http://blog.csdn.net/Panda_m/article/details/50084699

    CSS选择器详解 之 伪类 伪类对大小写不敏感 结构伪类选择器 结构伪类是CSS3新增的类型选择器,利用DOM树实现元素过滤,通过文档结构的相互关系来匹配元素,可以减少class和id属性的定义,使文 ...

随机推荐

  1. vue生命周期理解

    https://segmentfault.com/a/1190000008010666?utm_source=tag-newest

  2. Math.random理解练习

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. Spring Boot--01错误处理

    package com.smartmap.sample.ch1.controller.view; import java.io.IOException; import java.util.Collec ...

  4. android之画板功能之橡皮擦 画笔大小和画笔颜色

    第一展示设置画笔颜色的功能,第二展示设置画笔大小的颜色,而第三则展示橡皮擦的功能,这节将图标颜色设置为了蓝色,并且,增加了最左边的按钮(其实,就是在gridview中多增加了一个item). 下面分别 ...

  5. wmware中网络设置技巧

    wmware中网络的三种方式: .............................................. (1)桥接模式: 将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信. 默认 ...

  6. solr学习笔记

    目录 前言 linux部署 使用 配置 使用 前言 solr是apach基于Lucene开发的成熟的框架,这里我们学习如何部署.使用.关于集群会在后面继续添加 linux部署 mkdir /usr/l ...

  7. javascript strict mode

    ECMAScript 版本5是目前最广泛使用的js版本. 其中的一个重要feature strict mode很多人不是很清除和理解. 什么是strict mode? strict mdoe是一种强制 ...

  8. Webapi通过报文获取post上来的数据

    public HttpResponseMessage Post(HttpRequestMessage req) { var content = req.Content.ReadAsStringAsyn ...

  9. 使用YXHUD

    使用YXHUD 这是本人自己设计的一个类,但功能很不完善,先看看效果: 源码: YXHUD.h 与 YXHUD.m // // YXHUD.h // UILabel // // Created by ...

  10. fun() 的 拆分和 for 遍历 的结合---------> 函数容器

    fun() 的 拆分和 for 遍历 的结合--------->  函数容器