CSS 实现动态显示隐藏(:checked 和 :target 的妙用)

简介: CSS 实现动态显示隐藏(:checked 和 :target 的妙用)

使用 :checked 实现

原理:

  • 默认隐藏 checkbox
  • 点击 label 时会切换 checkbox 的选中状态
  • 使用伪元素选择器 :checked 和 后代选择器 ~ 实现内容和按钮的显示隐藏
<!DOCTYPE html>
<html>
  <head>
    <title>checkbox控制显示隐藏</title>
  </head>
  <body>
    <input id="myCheckbox" type="checkbox" />
    <div class="Btn show">
      <label for="myCheckbox">显示</label>
    </div>
    <div class="Btn hide">
      <label for="myCheckbox">隐藏</label>
    </div>
    <div class="content">内容</div>

    <style>
      .Btn {
        width: 60px;
        text-align: center;
        border: solid 1px black;
        padding: 4px;
        border-radius: 4px;
      }
      label {
        display: block;
        width: 100%;
        cursor: pointer;
      }
      #myCheckbox {
        display: none;
      }
      .content {
        display: none;
      }
      .hide {
        display: none;
      }
      #myCheckbox:checked ~ .content {
        display: block;
      }
      #myCheckbox:checked ~ .hide {
        display: block;
      }
      #myCheckbox:checked ~ .show {
        display: none;
      }
    </style>
  </body>
</html>

使用 :target 实现

可模拟 tab 页签切换效果

原理:

  • 使用锚点链接在 url 后加 #id 来触发 :target
  • 针对 :target 的元素添加显示效果
<!DOCTYPE html>
<html>
  <head>
    <title>:target模拟页签切换</title>
  </head>
  <body>
    <a class="tabBtn" href="#p1">第1页</a>
    <a href="#p2">第2页</a>
    <a href="#p3">第3页</a>
    <div class="content" id="p1">第1页的内容</div>
    <div class="content" id="p2">第2页的内容</div>
    <div class="content" id="p3">第3页的内容</div>

    <style>
      .content {
        display: none;
      }
      #p1:target {
        display: block;
      }
      #p2:target {
        display: block;
      }
      #p3:target {
        display: block;
      }
    </style>
  </body>
</html>
目录
相关文章
|
前端开发 JavaScript
什么是CSS的:target选择器
什么是CSS的:target选择器
317 0
|
前端开发
css3-巧用选择器 “:target”
今天(昨天)又发现一个知识盲区 css3的:target标签,之前学习的时候就是一眼扫过,说是认识了,但其实也就记了三分钟,合上书就全忘光了。 直到昨天,遇到一个有意思的题目,用css3新特性做一个类似tab标签的小效果,才让我又重新认识了  :target  选择器   w3c上对于target选择器的解释是: 试一下他的效果就能对target的作用明白了:http://www.
1187 0
|
前端开发
CSS-选择器14-Target
CSS选择器-系列文章 1、Target选择器 :target 选择器可用于选取当前活动的目标元素 2、效果演示 源代码 CSS-选择器-Target a{ text-decor...
856 0
|
前端开发 JavaScript
在HTML中,我们可以使用JavaScript变量
【4月更文挑战第19天】在HTML中,我们可以使用JavaScript变量
572 2
|
JSON 前端开发 JavaScript
JavaScript网络请求中的Fetch
在现代 Web 开发中,网络请求是非常重要的一部分。Fetch API 是 JavaScript 中提供的一种网络请求 API,它可以用于发送 HTTP 请求并处理响应结果。下面我们来详细介绍一下 Fetch API。
625 0
|
搜索推荐 前端开发 UED
html页面实现自动适应手机浏览器(一行代码搞定)
html页面实现自动适应手机浏览器(一行代码搞定)
1425 0
|
JavaScript
基于Vue2或Vue3实现任意上下左右拖拽悬浮的元素,且配置为自定义的全局指令
这篇文章介绍了如何在Vue 2或Vue 3项目中实现一个自定义的全局指令`v-dragSwitch`,用于创建可以任意方向拖拽并悬浮的元素,同时包含边界处理的逻辑。
4597 2
基于Vue2或Vue3实现任意上下左右拖拽悬浮的元素,且配置为自定义的全局指令
|
前端开发 JavaScript Java
《零基础HTML入门教程》电子版下载地址
本教程是零基础系列教程的一部分,全套教程具体学习内容还包含前端的 HTML、CSS、JavaScript、jQuery、Bootstrap、Vue,以及后端的 Java、Servlet、JDBC、MySQL 数据库、SSM、Spring Boot、Spring Cloud,本教程讲解其中的 HTML 技术。
322 0
《零基础HTML入门教程》电子版下载地址
|
前端开发 JavaScript API
探索HTML中的元素关系:父元素、子元素、祖先元素与后代元素
探索HTML中的元素关系:父元素、子元素、祖先元素与后代元素
1186 4
|
Web App开发 JavaScript 前端开发
javascript onkeydown事件
javascript onkeydown事件

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    588
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    447
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    452
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    296
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    573
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    748
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1461
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    324
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1181
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    523