『前端样式分享』联系我们卡片式布局 自适应屏幕 hover动效 在wikijs中使用 (代码拿来即用)

目录

    • 预览效果
    • 分析要点
      • 响应式网格布局
      • 卡片样式:阴影和过渡效果
    • 代码
    • 优化希望 长短不一的邮箱地址在左右居中的同时,做到左侧文字对齐(wikijs可用)
    • 总结


欢迎关注 『前端布局样式』 专栏,持续更新中
欢迎关注 『前端布局样式』 专栏,持续更新中

预览效果

在这里插入图片描述


分析要点

响应式网格布局

.cardList {margin: 40px auto;padding: 0 15px;display: grid;grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));gap: 20px;
}

使用了 grid 布局,通过 grid-template-columns 定义了响应式列布局。
auto-fill 和 minmax(300px, 1fr) 实现了在不同屏幕尺寸下的自适应布局。卡片的最小宽度为 300px,而最大宽度根据可用空间动态调整。
gap: 20px 使得每个卡片之间有一定的间距,提升视觉效果。

卡片样式:阴影和过渡效果

.card {background-color: #fff;border-radius: 8px;box-shadow: 0 4px 8px rgba(0, 0, 0, .1);padding: 20px;text-align: center;transition: transform .3s, box-shadow .3s;
}
.card:hover {transform: translateY(-10px);box-shadow: 0 6px 16px rgba(0, 0, 0, .1);
}

.card 类的样式设计简洁,采用了白色背景和圆角(border-radius: 8px)来提升现代感。
box-shadow 添加了阴影效果,使得卡片看起来有浮动感。
transition 属性定义了卡片的过渡效果,使得卡片在鼠标悬停时出现平滑的动画效果(例如,向上移动和阴影加深)。


代码

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>联系方式</title><style>.cardList {margin: 40px auto;padding: 0 15px;display: grid;grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));gap: 20px}.card {background-color: #fff;border-radius: 8px;box-shadow: 0 4px 8px rgba(0, 0, 0, .1);padding: 20px;text-align: center;transition: transform .3s, box-shadow .3s}.card:hover {transform: translateY(-10px);box-shadow: 0 6px 16px rgba(0, 0, 0, .1)}.card h2 {color: #2980b9;font-size: 20px;margin-bottom: 15px}.card p {font-size: 16px;color: #555;margin-bottom: 15px}.email-list {list-style: none;padding: 0;margin: 0}.email-list li {margin: 8px 0}.email-list li a {color: #2980b9;text-decoration: none;font-weight: 700}.email-list li a:hover {text-decoration: underline}.tip {text-align: left;text-indent: 2em;}</style>
</head><body><div class="cardList"><!-- Plus4 Card --><div class="card"><h2>机器型号 1</h2><p class="tip">如果您需要有关 机器型号 1 型号的售后服务,请通过以下邮箱联系我们:</p><ul class="email-list"><li><a href="mailto:example1@domain.com">example1@domain.com</a></li><li><a href="mailto:example2@domain.com">example2@domain.com</a></li></ul></div><!-- Q1 Pro Card --><div class="card"><h2>机器型号 2</h2><p class="tip">如果您需要有关 机器型号 2 型号的支持,请通过以下联系方式联系我们:</p><ul class="email-list"><li><a href="mailto:example3@domain.com">example3@domain.com</a></li><li><a href="mailto:example4@domain.com">example4@domain.com</a></li></ul></div><!-- X-Max 3 Card --><div class="card"><h2>机器型号 3</h2><p class="tip">对于 机器型号 3 型号的售后服务,请通过以下邮箱联系我们:</p><ul class="email-list"><li><a href="mailto:example5@domain.com">example5@domain.com</a></li><li><a href="mailto:example6@domain.com">example6@domain.com</a></li></ul></div><!-- X-Plus 3 Card --><div class="card"><h2>机器型号 4</h2><p class="tip">如果您需要有关 机器型号 4 型号的售后服务,请通过以下邮箱联系我们:</p><ul class="email-list"><li><a href="mailto:example7@domain.com">example7@domain.com</a></li><li><a href="mailto:example8@domain.com">example8@domain.com</a></li></ul></div><!-- X-Smart 3 Card --><div class="card"><h2>机器型号 5</h2><p class="tip">如果您需要有关 机器型号 5 型号的售后服务,请通过以下邮箱联系我们:</p><ul class="email-list"><li><a href="mailto:example9@domain.com">example9@domain.com</a></li><li><a href="mailto:example10@domain.com">example10@domain.com</a></li></ul></div></div></body></html>

优化希望 长短不一的邮箱地址在左右居中的同时,做到左侧文字对齐(wikijs可用)

wikijs本身有自带的样式,干扰了我们的ul/li/h2样式,所以用了几个!important 强制样式,如果有更好的解决办法,请评论区留言,一般情况你不需要设置这些!important 会影响性能

width: fit-content;:使

  • 的宽度根据其内容自动适应。
    margin-left: auto; 和 margin-right: auto;:将
    • 居中显示在其父容器中。
      这三个属性结合使用,能确保
      • 元素不会占用多余的空间并且居中显示,同时每个
      • 元素的内容从左对齐。
        在这里插入图片描述

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>联系方式</title><style>.cardList {margin: 40px auto;padding: 0 15px;display: grid;grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));gap: 20px}.card {background-color: #fff;border-radius: 8px;box-shadow: 0 4px 8px rgba(0, 0, 0, .1);padding: 20px;text-align: center;transition: transform .3s, box-shadow .3s}.card:hover {transform: translateY(-10px);box-shadow: 0 6px 16px rgba(0, 0, 0, .1)}.cardTitle {color: #2980b9;font-size: 20px;margin-bottom: 15px;position: relative}.cardTitle::before {content: "";position: absolute;bottom: 0;left: 0;width: 100%;height: 1px;background-color: #000}.card p {font-size: 16px;color: #555;margin-bottom: 15px}.email-list {list-style: none;padding: 0 !important;margin: 0;width: fit-content !important;margin-left: auto;margin-right: auto}.email-list li {margin: 8px 0;color: #2980b9;text-decoration: none;font-weight: 700;text-align: left}.email-list li::before {content: none !important}.email-list li a:hover {text-decoration: underline}.tip {text-align: left;text-indent: 2em}.important {color: #e74c3c;font-weight: 700}</style>
</head><body><div class="cardList"><!-- Plus4 Card --><div class="card"><div class="cardTitle">支持联系方式</div><p class="tip">如果您需要相关支持,请通过以下邮箱联系我们:</p><ul class="email-list"><li>support111111111@example.com</li><li>support2222@example.com</li></ul></div><!-- Q1 Pro Card --><div class="card"><div class="cardTitle">支持联系方式</div><p class="tip">如果您需要相关支持,请通过以下邮箱联系我们:</p><ul class="email-list"><li>support3333@example.com</li><li>support4444444444@example.com</li></ul></div><!-- X-Max 3 Card --><div class="card"><div class="cardTitle">支持联系方式</div><p class="tip">如果您需要相关支持,请通过以下邮箱联系我们:</p><ul class="email-list"><li>support55555555@example.com</li><li>support666@example.com</li></ul></div><!-- X-Plus 3 Card --><div class="card"><div class="cardTitle">支持联系方式</div><p class="tip">如果您需要相关支持,请通过以下邮箱联系我们:</p><ul class="email-list"><li>support7@example.com</li><li>support8@example.com</li></ul></div><!-- X-Smart 3 Card --><div class="card"><div class="cardTitle">支持联系方式</div><p class="tip">如果您需要相关支持,请通过以下邮箱联系我们:</p><ul class="email-list"><li>support9@example.com</li><li>support10@example.com</li></ul></div></div></body></html>

总结

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2024 mzh

Crated:2024-12-1

欢迎关注 『前端布局样式』 专栏,持续更新中
欢迎关注 『前端布局样式』 专栏,持续更新中
『未完待续』


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/901980.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ubuntu】在Linux Yocto的基础上去适配Ubuntu的wifi模块

一、修改wifi的节点名 1.找到wifi模块的PID和VID ifconfig查看wifi模块网络节点的名字&#xff0c;发现是wlx44876393bb3a&#xff08;wlxmac地址&#xff09; 通过udevadm info -a /sys/class/net/wlx44876393bba路径的命令去查看wlx44876393bba的总线号&#xff0c;端口号…

健康养生:开启活力生活新篇章

在当代社会&#xff0c;熬夜加班、久坐不动、外卖快餐成为许多人的生活常态&#xff0c;随之而来的是各种亚健康问题。想要摆脱身体的疲惫与不适&#xff0c;健康养生迫在眉睫&#xff0c;它是重获活力、拥抱美好生活的关键。​ 应对不良饮食习惯带来的健康隐患&#xff0c;饮…

【verilog】多个 if 控制同一个变量(后面会覆盖前面)非阻塞赋值真的并行吗?

非阻塞赋值 (<) 是“并行”的&#xff0c;但是代码顺序会影响结果&#xff1f;”这正是 Verilog 的硬件描述本质 vs 行为语义之间的微妙之处。 &#x1f4a1;1. 非阻塞赋值真的并行吗&#xff1f; 是的&#xff01;非阻塞赋值 < 从行为上是并行的&#xff0c;也就是说&a…

前沿篇|CAN XL 与 TSN 深度解读

引言 1. CAN XL 标准演进与设计目标 2. CAN XL 物理层与帧格式详解 3. 时间敏感网络 (TSN) 关键技术解析 4. CAN XL + TSN 在自动驾驶领域的典型应用

vscode、cherry studio接入高德mcp服务

最近mcp协议比较火&#xff0c;好多平台都已经开通了mcp协议&#xff0c;今天来接入下高德的mcp看看效果如何。 话不多说&#xff0c;咱们直接开干。 先来看下支持mcp协议的工具有cusor、cline等等。更新cherrystudio后发现上面也有mcp服务器了。今天咱就来试试添加高德的mcp协…

Triton(2)——Triton源码接结构

1 triton 3.0.0 源码结构 triton docs/&#xff1a;项目文档 cmake/&#xff1a;构建配置相关 bin/&#xff1a;工具、脚本 CmakeLists.txt&#xff1a;cmake 配置文件 LSCENSE README.md Pyproject.toml&#xff1a;python 项目配置文件 utils/&#xff1a;项目配置文…

React 事件处理基础

React 中最常见的两个需求&#xff0c;一个是列表渲染&#xff0c;另一个就是绑定点击事件。 这一篇就是从最基础的按钮点击开始&#xff0c;分四个阶段&#xff0c;逐步理解 React 中事件的写法和参数传递方式。 &#x1f4cd;阶段一&#xff1a;最简单的点击事件 function A…

java的lambda和stream流操作

Lambda 表达式 ≈ 匿名函数 &#xff08;Lambda接口&#xff09;函数式接口&#xff1a;传入Lambda表达作为函数式接口的参数 函数式接口 只能有一个抽象方法的接口 Lambda 表达式必须赋值给一个函数式接口&#xff0c;比如 Java 8 自带的&#xff1a; 接口名 作用 Functio…

Dify智能体平台源码二次开发笔记(6) - 优化知识库pdf文档的识别

目录 前言 新增PdfNewExtractor类 替换ExtractProcessor类 最终结果 前言 dify的1.1.3版本知识库pdf解析实现使用pypdfium2提取文本&#xff0c;主要存在以下问题&#xff1a; 1. 文本提取能力有限&#xff0c;对表格和图片支持不足 2. 缺乏专门的中文处理优化 3. 没有文档结…

easyExcel单元格合并

环境 java 1.8 easyexcel 3.1.1 实现方式 自定义WriteHandler&#xff0c;实现AbstractMergeStrategy抽象类&#xff0c;实现merge 方法完成自定义的合并操作。 本测试代码&#xff0c;实现了eques方法&#xff0c;用于判断是否需要合并 核心代码 实现AbstractMergeStrate…

Jenkins 简易使用记录

一、Jenkins 核心功能与适用场景 核心功能&#xff1a; 持续集成&#xff08;CI&#xff09;&#xff1a;自动构建代码、运行单元测试。持续交付&#xff08;CD&#xff09;&#xff1a;自动化部署到测试/生产环境。任务调度&#xff1a;定时执行任务&#xff08;如备份、清理&…

【HFP】蓝牙HFP协议音频连接核心技术深度解析

目录 一、音频连接建立的总体要求 1.1 发起主体与时机 1.2 前提条件 1.3 同步连接的建立 1.4 通知机制 二、不同主体发起的音频连接建立流程 2.1 连接建立触发矩阵 2.2 AG 发起的音频连接建立 2.3 HF 发起的音频连接建立 三、编解码器连接建立流程 3.1 发起条件 3.…

【卡洛诗】成为平价市场中的标杆西餐厅

近年来&#xff0c;中国餐饮市场在消费分级趋势下面临结构性调整&#xff0c;消费者对“质价比”的追求催生了新赛道的崛起。在这一背景下&#xff0c;卡洛诗西餐凭借精准的定位与系统性创新&#xff0c;以“中式西餐”为核心理念&#xff0c;成功打破西餐高价壁垒&#xff0c;…

嵌入式设备网络的动态ID分配机制实现

文章目录 前言一、系统设计要点二、核心数据结构2.1 设备唯一标识(DeviceUID)2.2 节点信息(Node)2.3 节点管理器(NodeManager) 三、核心算法实现3.1 初始化与清理3.1.1 初始化节点管理器3.1.2 清理节点管理器 3.2 动态ID分配策略3.2.1 查找最小可用ID3.2.2 ID使用检查 3.3 心跳…

WebSocket 双向通信技术详解

引言 在现代Web应用中&#xff0c;实时通信已经成为不可或缺的一部分。想象一下聊天应用、在线游戏、股票交易平台或协作工具&#xff0c;这些应用都需要服务器能够即时将更新推送给客户端&#xff0c;而不仅仅是等待客户端请求。WebSocket技术应运而生&#xff0c;它提供了一…

kafka菜鸟教程

一、kafka原理 1、kafka是一个高性能的消息队列系统&#xff0c;能够处理大规模的数据流&#xff0c;并提供低延迟的数据传输&#xff0c;它能够以每秒数十万条消息的速度进行读写操作。 二、kafka优点 1、服务解耦 &#xff08;1&#xff09;提高系统的可维护性‌ 通过服务…

SQLMap工具使用

一、SQLMap介绍 SQLMap 是一款强大的开源自动化 SQL 注入工具&#xff0c;用于检测和利用 Web 应用程序中的 SQL 注入漏洞。其工作原理是SQLMap 通过向目标 URL 发送带有特殊构造的 SQL 语句的请求&#xff0c;观察目标应用程序的响应&#xff0c;来判断是否存在 SQL 注入漏洞…

virtualbox安装xp系统卡顿的解决

安装virtualbox的增强功能即可。 先去下载 — Oracle VirtualBox下载 VirtualBox Guest Additions iso镜像 然后在这里导入iso镜像 再按照这几步操作 virtualbox按键 强制关闭xp-cuckoo的虚拟机 VBoxManage controlvm "xp-cuckoo" poweroff

观察者 ➜ 事件总线:一路走来的碎碎念

写给未来的自己:每次手敲事件模型都要 Google,干脆把思路和踩坑一次性记清楚。文章很长,都是唠叨,目的是让自己看两眼就能把设计理由找回来。 目录 为什么我要折腾事件模型?V0 ─ 单一事件的观察者模式V1 ─ 多事件同步总线(类型拆分)V2 ─ 订阅者优先级(链式调用可控)…

windwos脚本 | 基于scrcpy,只投声音、只投画面

安装scrcpy&#xff0c;scrcpy自带adb 写脚本命名为 .bat 结尾 注意这里的set "PATHD:\tools\scrcpy-win64-v3.2;%PATH%" 替换成scrcpy的安装目录 echo off :: 设置UTF-8编码 chcp 65001 > nul :: 设置标题 title 手机投屏工具:: 添加 scrcpy 路径到 PATH set &q…