css 利用 position + transform 实现弹性盒子横向纵向居中

前端常有"横竖居中"的需求, 固定宽高的还好办遇到宽高不确定的情况, 我向大家推荐下面这个方法原理其实就两点position: absolute; 的百分百参照父元素transform: translate(-50%, -50%); 的百分百参照当前元素position 和 transform 合起来的效果就是把父元素和当前元素的中点对齐, 从而达到居中的效果demo<html><head> <meta http-equiv="Content-Type"
摘要由CSDN通过智能技术生成

前端常有"横竖居中"的需求, 固定宽高的还好办
遇到宽高不确定的情况, 我向大家推荐下面这个方法

原理其实就两点

  • position: absolute; 的百分百参照父元素
  • transform: translate(-50%, -50%); 的百分百参照当前元素

position 和 transform 合起来的效果就是把父元素和当前元素的中点对齐, 从而达到居中的效果

demo

<html>

<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<meta charset
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我来为你介绍一下如何使用 HTML5、CSS 和 JavaScript 实现横向时间轴特效。 首先,我们需要使用 HTML5 创建一个基本的网页结构,然后使用 CSS 样式来布局和设计时间轴。最后,我们使用 JavaScript 来动态地处理时间轴的交互效果。 以下是一个简单的 HTML 结构,用于创建横向时间轴: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Horizontal Timeline</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div class="timeline"> <div class="container"> <div class="timeline-item"> <div class="timeline-icon"></div> <div class="timeline-content"> <h2>Event Title</h2> <p>Event Description</p> <span class="date">Event Date</span> </div> </div> <!-- more timeline items --> </div> </div> <script src="script.js"></script> </body> </html> ``` 然后,我们需要使用 CSS布局和设计时间轴。在这个例子中,我们使用 Flexbox 布局实现时间轴条和时间轴项的排列。以下是基本的 CSS 样式: ```css .timeline { position: relative; margin: 0 auto; width: 80%; height: 100px; background-color: #f5f5f5; border-radius: 5px; } .container { display: flex; flex-direction: row; justify-content: space-between; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 100%; height: 100%; overflow: hidden; } .timeline-item { display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; width: 25%; height: 100%; transition: all 0.3s ease; } .timeline-item:hover { transform: scale(1.1); } .timeline-icon { width: 50px; height: 50px; background-color: #007bff; border-radius: 50%; } .timeline-content { text-align: center; padding: 20px; } .timeline-content h2 { margin-top: 0; } .date { display: block; font-size: 12px; font-style: italic; margin-top: 10px; } ``` 最后,我们需要使用 JavaScript 来动态地处理时间轴的交互效果。在这个例子中,我们使用了 jQuery 库来处理鼠标悬停和点击事件。以下是基本的 JavaScript 代码: ```javascript $(document).ready(function() { $(".timeline-item").hover(function() { $(this).toggleClass("active"); }); $(".timeline-item").click(function() { $(".timeline-item").removeClass("selected"); $(this).addClass("selected"); }); }); ``` 以上就是使用 HTML5、CSS 和 JavaScript 实现横向时间轴特效的基本步骤和代码示例。希望可以帮到你!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值