0

0

CSS如何做一个简单的分页插件样式_通过列表项的边框与圆角美化css

P粉602998670

P粉602998670

发布时间:2026-03-08 05:09:15

|

184人浏览过

|

来源于php中文网

原创

用纯css实现分页按钮需:.pagination设flex布局;li统一边框但首项去左框、末项去右框;圆角仅首项左端、末项右端;active和disabled状态须显式定义背景、文字色、透明度及pointer-events;小屏用flex-wrap或切block布局并重置圆角;padding需配合line-height确保垂直居中,移动端加min-width。

css如何做一个简单的分页插件样式_通过列表项的边框与圆角美化css

怎么用纯CSS实现分页按钮的圆角+边框效果

直接给 .pagination 容器加 display: flex,每个页码项用 li 包裹、设为 inline-blockflex 子项,再统一控制边框和圆角。关键不是“怎么画”,而是“怎么让相邻按钮的边框不重复、圆角不打架”。

  • 必须给所有 li 设置 border: 1px solid #ccc,但左右边框会重叠——所以得用 border-left: none(除第一个) + border-right: none(除最后一个)来消重
  • 圆角只加在首项左端、末项右端:first-child border-radius: 4px 0 0 4pxlast-child border-radius: 0 4px 4px 0
  • 别给 a 标签单独设 border-radius —— 它会被父 li 的盒模型裁剪,且响应区域变小

active状态和禁用态的视觉区分怎么做才不翻车

很多人用 :hover 加背景色,结果点中后没反馈,用户根本不知道当前页。必须显式定义 .active a.disabled a 的样式,且不能只靠颜色——色弱用户可能分不清。

  • .active a 要同时改背景、文字色、移除边框(或换为同色边框),例如:background: #007bff; color: white; border-color: #007bff
  • .disabled aopacity: 0.5 + cursor: not-allowed,别只靠灰度——有些屏幕下 0.5 透明度仍可点击,得加 pointer-events: none
  • 避免用 !important 强行覆盖,容易和 JS 动态加类冲突;优先用更具体的 CSS 选择器,比如 .pagination .active a

响应式断点下分页列表换行错位怎么办

小屏一排塞不下,flex-wrap: wrap 是最省事的解法,但默认换行后每行首尾的圆角和边框会乱——第二行第一个按钮又出现左圆角,视觉上像新一组。

  • 用媒体查询把小屏下的布局切回 block:每个 lidisplay: block; margin: 2px 0,再统一设 border-radius: 4px
  • 或者保持 flex,但用 :nth-child(n) 重置中间项的圆角:li:not(:first-child):not(:last-child) { border-radius: 0; },并在小屏下关闭该规则
  • 千万别用 float + clear —— 现代浏览器里它和 flex 共存时高度计算异常,尤其配合 line-height 时页码会偏移

为什么 padding 和 height 要配着调,而不是只调一个

分页按钮看起来“挤”或“空”,90% 是因为只改了 padding 却没同步调 line-heightheight,导致文字上下不对齐、点击热区偏移。

立即学习前端免费学习笔记(深入)”;

  • 推荐用 padding: 6px 12px + line-height: 1.5(而非固定 height),这样文字自动垂直居中,且支持多语言字体高度差异
  • 如果强制设 height: 32px,必须同时设 line-height: 32px,否则 Chrome 下文字会下沉 1px
  • 移动端要额外加 min-width: 36px —— 苹果系统小屏下 12px 字体 + 默认 padding 可能让按钮窄于点击阈值

圆角和边框只是表象,真正卡住人的永远是盒模型叠加、状态覆盖顺序、以及不同设备对 line-heightpadding 的渲染偏差。调样式前先打开开发者工具看 computed 值,比猜快得多。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

1046

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

828

2023.11.06

css中float用法
css中float用法

css中float属性允许元素脱离文档流并沿其父元素边缘排列,用于创建并排列、对齐文本图像、浮动菜单边栏和重叠元素。想了解更多float的相关内容,可以阅读本专题下面的文章。

594

2024.04.28

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

105

2025.10.23

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

530

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

554

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

738

2023.08.03

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

6065

2023.08.17

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

23

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.5万人学习

CSS教程
CSS教程

共754课时 | 40.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号