当前位置: 首页 > news >正文

只用HTML和CSS实现换一换效果

结合刚刚做的百度热搜「换一换」案例,讲解纯 HTML + CSS 分页的经典实现方式。

一、核心思想

分页本质上就是:

点击页码 ↓ 切换状态 ↓ 显示对应内容 ↓ 隐藏其它内容

代码实际上利用了:

<inputtype="radio">

checked状态来记录当前页。


二、HTML结构

1. 隐藏的radio

<inputtype="radio"name="page"id="p1"checked><inputtype="radio"name="page"id="p2"><inputtype="radio"name="page"id="p3">

作用:

记录当前页 p1 → 第一页 p2 → 第二页 p3 → 第三页

因为:

name="page"

相同,

所以:

一次只能选中一个

2. 内容区

<divid="p1-content"class="page">第一页内容</div><divid="p2-content"class="page">第二页内容</div><divid="p3-content"class="page">第三页内容</div>

3. 页码按钮

<labelfor="p1">1</label><labelfor="p2">2</label><labelfor="p3">3</label>

点击:

<labelfor="p2">

相当于点击:

<inputid="p2">

于是:

p2变成checked

三、CSS控制显示

先隐藏所有页:

.page{display:none;}

当第一页被选中:

#p1:checked ~ #p1-content{display:block;}

意思:

如果p1被选中 显示p1-content

第二页:

#p2:checked ~ #p2-content{display:block;}

第三页:

#p3:checked ~ #p3-content{display:block;}

四、流程图

点击label │ ▼ 对应radio被选中 │ ▼ checked状态改变 │ ▼ CSS选择器生效 #p2:checked~#p2-content │ ▼ 显示第二页 │ ▼ 其它页面继续隐藏

五、热搜案例里的实现

实际上就是:

第一页热搜 第二页热搜 第三页热搜 第四页热搜 第五页热搜

隐藏全部:

.hot>.hot-list{display:none;}

第一页:

#hp1:checked~#hp1-content{display:flex;}

第二页:

#hp2:checked~#hp2-content{display:flex;}

依此类推。


六、换一换为什么能翻页

例如:

<labelfor="hp2"class="hs1">换一换</label>

点击:

hs1 ↓ hp2被选中 ↓ hp2 checked ↓ 显示第二页

第二页的按钮:

<labelfor="hp3"class="hs2">换一换</label>

点击:

hp3 checked ↓ 显示第三页

形成循环:

hp1 → hp2 → hp3 → hp4 → hp5 → hp1

七、优缺点

优点

不需要 JavaScript

HTML + CSS 即可实现分页

简单、性能高。


缺点

页数固定:

只能提前写好 第一页 第二页 第三页 ...

如果数据动态变化:

数据库 接口返回

就必须用 JavaScript。


八、总结:

纯 HTML + CSS 分页的本质是:利用radiochecked状态保存当前页,再通过:checked + 兄弟选择器(~)控制对应内容的显示与隐藏,而页码按钮通常使用label for="id"来切换不同的radio

http://www.jsqmd.com/news/973011/

相关文章:

  • 时间和空间复杂度
  • 手把手教你移植ST7567驱动到联盛德W806:从SSD1306代码改造到显示优化全流程
  • 2026年最新九江市黄金回收店铺TOP5排行榜 黄金+白银+铂金+K金回收门店指南及联系方式电话推荐 - 大熊猫898989
  • 2026年最新泉州市黄金回收店铺TOP5排行榜 黄金+白银+铂金+K金回收门店指南及联系方式电话推荐 - 大熊猫898989
  • 从MobileNet到BiSeNet V2:轻量级网络设计是如何‘卷’向语义分割的?
  • 2026年最新鄂州市黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • 纯视觉定位赋能海关口岸 无感通关提升国门安全与效率
  • 告别CAN的奢侈:用STM32的UART接口,5分钟搞定LIN总线从机节点通信
  • 2026年最新呼伦贝尔市黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • 【Go语言LeetCode刷题手记|第四天】34. 在排序数组中查找元素的第一个和最后一个位置 35. 搜索插入位置
  • llms.txt配置详解:让AI更好地理解你的网站
  • 2026年最新日照市黄金回收店铺TOP5排行榜 黄金+白银+铂金+K金回收门店指南及联系方式电话推荐 - 大熊猫898989
  • 2026年最新酒泉市黄金回收店铺TOP5排行榜 黄金+白银+铂金+K金回收门店指南及联系方式电话推荐 - 大熊猫898989
  • 保姆级教程:汇川InoProShop软件中5种全局变量的区别与实战配置(含掉电保持)
  • 华为路由器DHCP配置实操:终端动态获取IP
  • Kaggle房价预测翻车实录:从梯度爆炸到模型保存,我的PyTorch MLP调参避坑指南
  • 2026年最新防城港市黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • 芝加哥/纽约/华盛顿共享单车数据本地分析脚本(Python命令行版)
  • JSON高频踩坑指南:避坑技巧与实战代码
  • 计算机原理与硬件基础入门指南——写给零基础在职人员的通俗教程
  • 别再手动敲OWL了!用Protege+Cellfie批量处理Excel数据,完整配置流程与字符清洗脚本
  • 2026年最新三门峡市黄金回收店铺TOP5排行榜 黄金+白银+铂金+K金回收门店指南及联系方式电话推荐 - 大熊猫898989
  • 2026年最新开封市黄金回收店铺TOP5排行榜 黄金+白银+铂金+K金回收门店指南及联系方式电话推荐 - 大熊猫898989
  • 告别‘元芳你怎么看’:用pyltp的SentenceSplitter和Segmentor搞定中文文本预处理(附完整代码)
  • 2026年最新湖州市黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • 2026年最新佛山市黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • S32K3系列CAN接收过滤避坑指南:从MB0全收不到精准掩码设置,手把手教你搞定报文丢失问题
  • 微生物组学入门:手把手教你选择和使用Greengenes、SILVA、RDP三大16S数据库
  • 机器学习新手必备:掌握这六大预测模型,开启数据科学之旅
  • x64汇编案例5