前端弹性布局:用Flexbox构建现代网页的魔法指南

article/2025/7/18 20:01:25

引言:布局的进化史

在网页设计的黑暗时代(2010年前),开发者们用float、position和inline-block这些原始工具进行布局,就像用石器时代的工具建造摩天大楼。直到2012年W3C正式推出Flexbox规范,前端世界终于迎来了布局的革命性突破。想象一下:只需几行CSS就能实现完美的垂直居中、等高等宽列和灵活响应式布局——这就是Flexbox的魔法魅力!


一、Flexbox核心概念解剖

1.1 容器与项目的共生关系

  • 弹性容器(display: flex):布局的主宰者
  • 弹性项目(flex items):服从容器规则的子元素
  • 主轴(main axis) vs 交叉轴(cross axis):布局的双维度坐标系

1.2 神奇的轴系统

<div class="container"><div class="item">1</div><div class="item">2</div><div class="item">3</div>
</div>
<style>
.container {display: flex;flex-direction: row; /* 定义主轴方向 */justify-content: space-between; /* 主轴对齐方式 */align-items: center; /* 交叉轴对齐方式 */
}
</style>


二、Flexbox的九大必杀技

2.1 容器属性大全

以下是弹性布局(Flexbox)容器属性及属性值的完整解析表:

属性取值作用说明默认值适用场景示例
displayflex创建块级弹性容器-常规页面布局容器
inline-flex创建行内弹性容器-导航栏等行内布局
flex-directionrow主轴水平(从左到右)row横向排列元素
row-reverse主轴水平反向(从右到左)RTL语言支持
column主轴垂直(从上到下)移动端竖屏布局
column-reverse主轴垂直反向(从下到上)特殊滚动效果
flex-wrapnowrap禁止换行(可能溢出)nowrap导航栏等单行布局
wrap向下换行卡片流式布局
wrap-reverse向上换行特殊视觉效果需求
justify-contentflex-start主轴起始对齐flex-start左对齐布局
flex-end主轴末端对齐右对齐布局
center主轴居中对齐登录框居中
space-between两端对齐间隔相等导航项均匀分布
space-around项目两侧间隔相等图文混排布局
space-evenly全区间隔完全相等数据仪表盘
align-itemsstretch拉伸填满容器高度stretch等高栏布局
flex-start交叉轴起始对齐顶部对齐表单
flex-end交叉轴末端对齐底部对齐控件
center交叉轴居中对齐垂直居中登录框
baseline基线对齐文本混排对齐
align-contentstretch多行拉伸填充容器stretch多行文本布局
flex-start多行整体顶部对齐流式布局顶部对齐
flex-end多行整体底部对齐特殊视觉效果
center多行垂直居中卡片墙居中
space-between多行两端对齐瀑布流布局
space-around多行间隔相等图文混排墙
gap<length>定义项目间距0网格系统布局
row-gap<length>定义行间距0垂直间距控制
column-gap<length>定义列间距0水平间距控制

表格特性说明:

  1. 复合属性:flex-flow 是 flex-direction + flex-wrap 的组合简写(例:row wrap
  2. 现代浏览器支持:gap 系列属性需要浏览器支持(Chrome 84+/Firefox 63+)
  3. 特殊场景
    • baseline 对齐适用于不同字号文本混排
    • space-evenly 适合需要完全对称的仪表盘布局
  4. 性能优化align-items: stretch 可能触发重排,大数据量慎用

2.2 项目属性精要

.item {flex: 1 0 200px; /* 缩写:grow shrink basis */align-self: flex-end; /* 单个项目对齐覆盖 */order: 2; /* 视觉顺序控制 */
}


三、实战案例集锦

案例1:圣杯导航栏

  1. 效果图

  1. 实例代码
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>圣杯导航栏 - Flexbox实现</title><style>/* 基础重置 */* {margin: 0;padding: 0;box-sizing: border-box;}/* 导航容器 */.nav-container {background: #2c3e50;padding: 1rem 2rem;box-shadow: 0 2px 15px rgba(0,0,0,0.2);}/* 弹性导航主体 */.nav-menu {display: flex;justify-content: space-between;align-items: center;max-width: 1200px;margin: 0 auto;}/* 导航品牌(左侧) */.nav-brand {flex: 0 1 200px;color: #ecf0f1;font-size: 1.5rem;font-weight: bold;text-decoration: none;transition: opacity 0.3s;}/* 导航项容器 */.nav-items {display: flex;gap: 2rem;  /* 现代浏览器间距方案 */}/* 单个导航项 */.nav-item {position: relative;padding: 0.8rem 1.2rem;color: #bdc3c7;text-decoration: none;transition: all 0.3s ease;}/* 交互效果 */.nav-item:hover {color: #ecf0f1;transform: translateY(-2px);}/* 活动状态指示器 */.nav-item.active::after {content: '';position: absolute;bottom: 0;left: 50%;width: 60%;height: 3px;background: #3498db;transform: translateX(-50%);border-radius: 2px;}/* 响应式设计 - 移动端适配 */@media (max-width: 768px) {.nav-menu {flex-direction: column;gap: 1.5rem;}.nav-items {flex-direction: column;text-align: center;}.nav-brand {text-align: center;}}</style>
</head>
<body><nav class="nav-container"><div class="nav-menu"><a href="#" class="nav-brand">FlexMaster</a><div class="nav-items"><a href="#" class="nav-item active">首页</a><a href="#" class="nav-item">产品</a><a href="#" class="nav-item">服务</a><a href="#" class="nav-item">关于</a><a href="#" class="nav-item">联系</a></div></div></html></nav>
</body>

代码亮点解析

  1. 弹性容器结构
    • 双层级Flex容器(.nav-menu + .nav-items
    • justify-content: space-between实现品牌与导航项自动分离
    • gap属性替代传统margin实现间距控制
  2. 响应式设计
    • 移动端自动转换为垂直布局
    • 媒体查询中切换flex-direction
    • 保持可点击区域的可访问性
  3. 视觉增强
    • 动态下划线指示器(使用伪元素实现)
    • 流畅的位移动画(transform优化性能)
    • 色彩过渡效果增强交互反馈
  4. 最佳实践
    • 语义化HTML5标签(<nav>
    • 安全的flex尺寸限制(flex: 0 1 200px
    • 盒模型统一(box-sizing: border-box

效果说明

  • 桌面端:品牌居左,导航项居右,自动等间距分布
  • 移动端:垂直堆叠,保持可点击区域
  • 悬停时:元素上移+颜色变化双重反馈
  • 活动状态:动态蓝色下划线指示

案例2:响应式卡片布局

  1. 效果图

  1. 实例代码
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>响应式卡片布局 - Flexbox实现</title><style>/* 基础重置与字体设置 */* {margin: 0;padding: 0;box-sizing: border-box;font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;}body {background: #f5f5f5;line-height: 1.6;padding: 2rem;}/* 卡片容器 */.card-grid {display: flex;flex-wrap: wrap;gap: 2rem;max-width: 1200px;margin: 0 auto;}/* 单个卡片样式 */.card {flex: 1 1 300px;background: white;border-radius: 12px;overflow: hidden;box-shadow: 0 4px 6px rgba(0,0,0,0.1);transition: transform 0.3s ease, box-shadow 0.3s ease;}/* 卡片悬停效果 */.card:hover {transform: translateY(-5px);box-shadow: 0 8px 15px rgba(0,0,0,0.2);}/* 卡片图片容器 */.card-image {height: 200px;overflow: hidden;position: relative;}.card-image img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.3s ease;}.card:hover .card-image img {transform: scale(1.05);}/* 卡片内容 */.card-content {padding: 1.5rem;}.card-title {font-size: 1.25rem;margin-bottom: 0.75rem;color: #333;}.card-description {color: #666;font-size: 0.9rem;margin-bottom: 1rem;display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden;}/* 卡片底部信息 */.card-footer {display: flex;justify-content: space-between;align-items: center;padding-top: 1rem;border-top: 1px solid #eee;}.card-price {color: #2ecc71;font-weight: bold;}.card-button {background: #3498db;color: white;padding: 0.5rem 1rem;border-radius: 25px;text-decoration: none;font-size: 0.9rem;transition: background 0.3s ease;}.card-button:hover {background: #2980b9;}/* 响应式设计 */@media (max-width: 768px) {.card {flex-basis: 100%;}.card-image {height: 250px;}body {padding: 1rem;}}@media (max-width: 480px) {.card-image {height: 180px;}.card-title {font-size: 1.1rem;}}</style>
</head>
<body><div class="card-grid"><!-- 卡片1 --><div class="card"><div class="card-image"><img src="https://source.unsplash.com/random/800x600?tech" alt="科技产品"></div><div class="card-content"><h3 class="card-title">未来科技产品</h3><p class="card-description">革命性的智能设备,集成人工智能与物联网技术,为您带来前所未有的生活体验。采用最新纳米材料打造,轻便耐用。</p><div class="card-footer"><span class="card-price">¥1999</span><a href="#" class="card-button">立即购买</a></div></div></div><!-- 卡片2 --><div class="card"><div class="card-image"><img src="https://source.unsplash.com/random/800x600?nature" alt="自然景观"></div><div class="card-content"><h3 class="card-title">自然探险之旅</h3><p class="card-description">专业向导带领的深度自然探索行程,包含徒步、露营和生态观察。体验三天两夜的原始森林冒险之旅。</p><div class="card-footer"><span class="card-price">¥2999</span><a href="#" class="card-button">查看详情</a></div></div></div><!-- 卡片3 --><div class="card"><div class="card-image"><img src="https://source.unsplash.com/random/800x600?food" alt="美食"></div><div class="card-content"><h3 class="card-title">米其林星级料理</h3><p class="card-description">主厨特别套餐包含五道创意料理,搭配精选红酒。体验法式烹饪艺术与现代分子料理的完美结合。</p><div class="card-footer"><span class="card-price">¥899</span><a href="#" class="card-button">立即预订</a></div></div></div></div>
</body>
</html>

代码亮点解析

  1. 弹性布局核心
    • flex: 1 1 300px 实现卡片自动填充布局
    • gap 属性控制间距,替代传统margin方案
    • 智能换行机制:flex-wrap: wrap
  2. 响应式设计
    • 移动端自动切换为单列布局(flex-basis: 100%
    • 图片高度自适应不同屏幕尺寸
    • 文字内容自动截断(-webkit-line-clamp
  3. 交互体验优化
    • 卡片悬停3D效果(transform + box-shadow)
    • 图片缩放动画
    • 按钮按压反馈
  4. 视觉层次
    • 多级标题字号差异
    • 色彩对比度控制
    • 微投影与边框分割内容区域

效果说明

  • 桌面端:自动呈现3列布局,间距均匀
  • 平板端:自动切换为2列布局
  • 手机端:单列全宽显示
  • 所有卡片自动保持等高度(基于内容撑开)
  • 图片始终维持比例且完整显示(object-fit: cover)

操作建议

  1. 调整浏览器窗口观察响应式变化
  2. 尝试增减卡片数量体验自动布局
  3. 修改flex-basis值观察布局变化
  4. 调整gap值控制间距密度
  5. 在移动端模拟器上测试触控体验

此布局方案已包含:

  • 自动图片适配
  • 安全的内容截断
  • 无障碍颜色对比
  • 流畅的动画过渡
  • 跨浏览器兼容处理

案例3:完美垂直居中

  1. 效果图

  1. 实例代码
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Flexbox完美垂直居中</title><style>/* 基础重置 */* {margin: 0;padding: 0;box-sizing: border-box;}/* 全屏居中容器 */.hero-section {display: flex;justify-content: center;align-items: center;min-height: 100vh;background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);padding: 2rem;}/* 内容盒子 */.centered-box {background: rgba(255, 255, 255, 0.95);padding: 3rem;border-radius: 15px;box-shadow: 0 10px 30px rgba(0,0,0,0.2);text-align: center;max-width: 600px;transition: transform 0.3s ease;}.centered-box:hover {transform: translateY(-5px);}/* 内容样式 */h1 {color: #2d3748;margin-bottom: 1.5rem;font-size: 2.5rem;}p {color: #4a5568;line-height: 1.8;margin-bottom: 2rem;}.cta-button {display: inline-block;background: #3b82f6;color: white;padding: 1rem 2rem;border-radius: 50px;text-decoration: none;font-weight: bold;transition: all 0.3s ease;}.cta-button:hover {background: #2563eb;transform: scale(1.05);}/* 复杂内容示例 */.content-group {display: flex;gap: 2rem;justify-content: center;margin: 2rem 0;}.feature-item {flex: 1;padding: 1rem;background: #f7fafc;border-radius: 8px;}/* 响应式设计 */@media (max-width: 768px) {.centered-box {padding: 2rem;margin: 1rem;}h1 {font-size: 2rem;}.content-group {flex-direction: column;gap: 1rem;}}</style>
</head>
<body><section class="hero-section"><div class="centered-box"><h1>欢迎来到未来世界 🌟</h1><div class="content-group"><div class="feature-item"><h3>创新科技</h3><p>突破性技术解决方案</p></div><div class="feature-item"><h3>智能设计</h3><p>人性化交互体验</p></div></div><p>立即加入我们,探索数字世界的无限可能。体验前所未有的网络服务,开启您的数字化转型之旅。</p><a href="#" class="cta-button">立即体验 →</a></div></section>
</body>
</html>

代码核心解析:

  1. Flexbox魔法三件套
.hero-section {display: flex;justify-content: center; /* 水平居中 */align-items: center;    /* 垂直居中 */min-height: 100vh;      /* 视口高度保证 */
}
  1. 响应式处理
  • 移动端自动转换弹性方向
  • 智能调整内边距
  • 文字大小自适应
  1. 视觉增强
  • 渐变背景与半透明遮罩
  • 微交互动画(hover效果)
  • 卡片阴影与圆角
  1. 复杂内容支持
  • 嵌套弹性布局(content-group)
  • 等宽功能卡片(feature-item)
  • 多类型内容混合排列

效果说明:

  • 始终在视口中心保持垂直水平居中
  • 内容盒子最大宽度限制避免过宽
  • 支持文本、图片(可自行添加)、按钮等任意内容类型
  • 完美响应式适应各种屏幕尺寸

扩展技巧:

  1. 绝对居中图片:
.centered-img {width: 200px;height: 200px;object-fit: cover;margin: 0 auto 1rem;
}
  1. 多元素不同对齐方式:
.special-layout {display: flex;flex-direction: column;align-items: flex-start; /* 左对齐 */justify-content: center; /* 垂直居中 */
}
  1. 溢出内容处理:
.scrollable-box {max-height: 80vh;overflow-y: auto;padding-right: 1rem; /* 防止滚动条遮挡内容 */
}

案例4:瀑布流布局

  1. 效果图

  1. 实例代码
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Instagram瀑布流布局</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}body {background: #fafafa;}/* 瀑布流容器 */.waterfall-container {column-count: 4;column-gap: 15px;max-width: 1200px;margin: 2rem auto;padding: 0 15px;}/* 瀑布流项目 */.waterfall-item {break-inside: avoid;margin-bottom: 15px;background: white;border-radius: 10px;box-shadow: 0 2px 4px rgba(0,0,0,0.1);transition: transform 0.3s ease;}.waterfall-item:hover {transform: translateY(-5px);}/* 图片容器 */.card-image {position: relative;padding-top: 100%; /* 1:1比例 */overflow: hidden;}.card-image img {position: absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover;}/* 卡片内容 */.card-content {padding: 12px;}.card-meta {display: flex;align-items: center;padding: 8px 12px;border-top: 1px solid #eee;}.avatar {width: 30px;height: 30px;border-radius: 50%;margin-right: 8px;}/* 响应式设计 */@media (max-width: 992px) {.waterfall-container {column-count: 3;}}@media (max-width: 768px) {.waterfall-container {column-count: 2;}}@media (max-width: 480px) {.waterfall-container {column-count: 1;}}</style>
</head>
<body><div class="waterfall-container"><!-- 自动生成20个示例卡片 --><script>const photos = [{id: 1, url: 'https://source.unsplash.com/random/800x800?mountain', likes: '12.3k'},{id: 2, url: 'https://source.unsplash.com/random/800x800?beach', likes: '8.9k'},{id: 3, url: 'https://source.unsplash.com/random/800x800?forest', likes: '15.2k'},{id: 4, url: 'https://source.unsplash.com/random/800x800?city', likes: '23.1k'},{id: 5, url: 'https://source.unsplash.com/random/800x800?animal', likes: '32.4k'},{id: 6, url: 'https://source.unsplash.com/random/800x800?food', likes: '9.7k'},{id: 7, url: 'https://source.unsplash.com/random/800x800?art', likes: '17.8k'},{id: 8, url: 'https://source.unsplash.com/random/800x800?tech', likes: '28.3k'},{id: 9, url: 'https://source.unsplash.com/random/800x800?car', likes: '14.6k'},{id: 10, url: 'https://source.unsplash.com/random/800x800?sport', likes: '19.5k'}];const container = document.querySelector('.waterfall-container');photos.forEach(photo => {const item = document.createElement('div');item.className = 'waterfall-item';item.innerHTML = `<div class="card-image"><img src="${photo.url}" alt="动态图片"></div><div class="card-content"><p>❤️ ${photo.likes}</p></div><div class="card-meta"><img src="https://source.unsplash.com/random/30x30?user" class="avatar" alt="用户头像"><span>@photographer_${photo.id}</span></div>`;container.appendChild(item);});</script></div>
</body>
</html>

代码核心特性:

  1. CSS多列布局魔法
.waterfall-container {column-count: 4;  /* 列数 */column-gap: 15px; /* 列间距 */break-inside: avoid; /* 防止内容断裂 */
}
  1. 智能响应式设计
  • 桌面(≥992px):4列
  • 平板(768-992px):3列
  • 小屏手机(480-768px):2列
  • 超小屏(≤480px):1列
  1. 视觉增强技巧
  • 1:1 正方形图片容器(padding-top: 100%)
  • 卡片悬停微动效(transform + transition)
  • 真实阴影效果(box-shadow)
  • 动态用户头像加载
  1. 性能优化
  • 图片懒加载(可扩展实现)
  • CSS硬件加速(transform)
  • 避免布局重排(break-inside)

扩展建议:

  1. 添加无限滚动:
window.addEventListener('scroll', () => {if (window.innerHeight + window.scrollY >= document.body.offsetHeight - 500) {// 加载更多内容}
});
  1. 实现图片懒加载:
<img data-src="real-image.jpg" src="placeholder.jpg" class="lazyload">
  1. 添加加载动画:
.card-image::before {content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);background-size: 200% 100%;animation: loading 1.5s infinite;
}@keyframes loading {0% { background-position: 200% 0; }100% { background-position: -200% 0; }
}

该实现方案在保持Instagram核心体验的同时,具备以下优势:

  • 纯CSS布局(无JavaScript依赖)
  • 完美响应式支持
  • 高性能渲染
  • 跨浏览器兼容性
  • 易于扩展和维护

四、Flex布局的黑暗面

4.1 常见误区

  1. 过度使用margin:优先使用gap属性
  2. 固定尺寸滥用:灵活使用flex-basis
  3. 嵌套失控:避免超过3层嵌套容器

4.2 浏览器兼容性贴士

  • IE10/11需要-ms-前缀
  • 使用Autoprefixer自动处理
  • 渐进增强策略:display: -webkit-box;

五、Flexbox的未来与超越

当Flexbox遇到CSS Grid:

.layout {display: grid;grid-template-columns: 200px 1fr;
}.sidebar {display: flex;flex-direction: column;
}

黄金组合原则:Grid管宏观布局,Flexbox管微观排列


结语:布局的艺术革命

Flexbox不仅是一个CSS模块,更是前端开发者的布局哲学——通过声明式的代码表达设计意图,让复杂的布局变得优雅简单。就像乐高积木,有限的属性通过不同组合,能构建出无限可能的界面世界。现在,你准备好用Flexbox的魔法,创造属于自己的布局杰作了吗?

实战练习推荐

  1. 实现Instagram的瀑布流布局
  2. 创建可折叠的移动端菜单
  3. 构建自适应仪表盘面板

“好的布局应该像空气一样自然存在,不被用户察觉却处处体现用心。” —— 匿名Flexbox大师

延伸阅读

  • Flexbox青蛙小游戏
  • Flexbox防御指南
  • MDN Flexbox完全指南

http://www.hkcw.cn/article/ecVTiqUGih.shtml

相关文章

自动化打造信息影响力:用 Web Unlocker 和 n8n 打造你的自动化资讯系统

一、研究背景 在信息爆炸的时代&#xff0c;及时获取高质量行业资讯成为内容创作者、运营者以及研究者的刚需。无论是IT、AI领域的技术动态&#xff0c;还是招聘、人才市场的趋势新闻&#xff0c;第一时间掌握热点、总结观点并进行内容输出&#xff0c;正逐渐成为提升影响力与…

爬虫补环境利器webEnv使用教程,打造自己专属得JSdom

爬虫补环境利器webEnv使用教程&#xff0c;打造自己专属得JSdom 一、为什么要打造自己的JSdom二、webEnv下载通道三、wenEnv使用四、日志管理五、总结 web端JavaScript环境检测&#xff1a;SpiderTools谷歌插件 一、为什么要打造自己的JSdom 在爬虫逆向工程中&#xff0c;补环…

C#进阶-基于.NET Framework 4.x框架实现ASP.NET WebForms项目IP拦截器

在这篇文章中&#xff0c;我们将探讨如何在 ASP.NET WebForms 中实现IP拦截器&#xff0c;以便在 ASMX Web 服务方法 和 HTTP 请求 中根据IP地址进行访问控制。我们将使用自定义的 SoapExtension 和 IHttpModule 来实现这一功能&#xff0c;并根据常用的两种文本传输协议&#…

【前端开发】HTML+CSS+JavaScript前端三剑客的基础知识体系了解

前言 &#x1f31f;&#x1f31f;本期讲解关于HTMLCSSJavaScript的基础知识&#xff0c;小编带领大家简单过一遍~~~ &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 &#x1f525; 你的点赞就是小编不断更新的最大动力 …

Open WebUI项目源码学习记录(从0开始基于纯CPU环境部署一个网页Chat服务)

感谢您点开这篇文章:D&#xff0c;鼠鼠我是一个代码小白&#xff0c;下文是学习开源项目Open WebUI过程中的一点笔记记录&#xff0c;希望能帮助到你&#xff5e; 本人菜鸟&#xff0c;持续成长&#xff0c;能力不足有疏漏的地方欢迎一起探讨指正&#xff0c;比心心&#xff5e…

C++家庭财务管理 全国信息素养大赛复赛决赛 C++小学/初中组 算法创意实践挑战赛 内部集训模拟题详细解析

C++家庭财务管理 全国信息素养大赛 C++复赛/决赛模拟训练题 博主推荐 所有考级比赛学习相关资料合集【推荐收藏】1、C++专栏 电子学会C++一级历年真题解析

“雪龙2”号今起开放预约 端午假期新体验

“雪龙2”号是我国首艘自主建造的极地科学考察破冰船。6月2日起,“雪龙2”号在海南举办了为期五天的公众开放日活动,这是该船首次抵达海南并面向公众开放,为公众带来了端午假期的新体验。活动期间,公众可以预约参观科考实验室、登船大厅以及飞行平台等多个特色区域,近距离…

太原警方:李某彪被当场控制 酒后驾车冲撞他人

太原市小店警方对一起事件作出回应:6月2日0时许,李某彪酒后与他人发生口角,随后驾车冲撞与其发生争执的人员,导致商家门口部分物品受损,两名在场人员在躲避过程中轻微受伤。民警迅速到达现场并将李某彪控制。目前案件正在进一步办理中。此前有报道称,6月2日凌晨4时许,有…

MySQL学习笔记Day9(事务)

事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败。 举个例子&#xff0c;去银行转账的操作就是一个事务&#xff0c;比如A要…

黑龙江多地现粉色极光 梦幻奇观引关注

6月2日,黑龙江密山、佳木斯等地的网友在社交平台上分享了梦幻般的粉色极光视频。画面中,天空被渲染成粉紫色,宛如飘逸的丝带舞动,美得令人窒息,仿佛置身于童话世界。一位来自佳木斯的视频发布者兴奋地讲述了拍摄经历。他在6月1日晚9时左右来到郊区福胜村江边,支好设备,用…

外卖诗人王计兵回应新职 兼职阅读推广

近日,一则关于“外卖诗人”王计兵新职务的消息引起了网友的关注。据徐州市委宣传部发布的任前公示,王计兵拟任徐州市全民阅读促进会副会长。6月2日,王计兵确认了这一消息,并表示这个新职务是兼职,不会影响他继续做外卖员的工作。他表示自己将主要负责一些阅读推广活动。王…

河北秦皇岛市卢龙县发生2.5级地震 震源深度10公里

据中国地震台网正式测定,6月2日17时35分在河北秦皇岛市卢龙县发生2.5级地震,震源深度10公里,震中位于北纬39.96度,东经118.88度。震中5公里范围内平均海拔约50米。根据中国地震台网速报目录,震中周边200公里内近5年来共发生3级以上地震14次,其中最大一次是2020年7月12日在…

入户调查已开始 今年抽取30万人 反映人口特征与生活质量变化

国家统计局日前发布了《致人口固定样本跟访调查对象的一封信》,决定于2025年在全国范围内开展两次人口固定样本跟访调查。两次调查的标准时点分别为6月1日零时和11月1日零时,调查员将在6月1日至6月25日以及11月16日至12月5日期间入户开展调查工作。今年的人口固定样本跟访调查…

[Redis] Redis命令(2)

初次学习&#xff0c;如有错误还请指正 目录 Set命令 SortedSet类型 Set命令 Redis的Set结构与Java中的HashSet类似&#xff0c;可以看做是一个value为null的HashMap。因为也是一个hash表&#xff0c; 因此具备与HashSet类似的特征&#xff1a; 无序 元素不可重复 查找快…

开发规范1

Restful REST (REpresentational State Transfer)&#xff0c;表述性状态转换&#xff0c;它是一种软件架构风格。 传统 Restful Apifox测试工具 介绍:Apifox是一款集成了Api文档、Api调试、ApiMock、Api测试的一体化协作平台。 作用:接口文档管理、接口请求测试、Mock服务。…

2.RV1126-OPENCV Mat理解和AT函数

一.Mat概念 Mat 是整个图像存储的核心也是所有图像处理的最基础的类&#xff0c;Mat 主要存储图像的矩阵类型&#xff0c;包括向量、矩阵、灰度或者彩色图像等等。Mat由两部分组成&#xff1a;矩阵头&#xff0c;矩阵数据。矩阵头是存储图像的长度、宽度、色彩信息等头部信息&a…

梅州村民鸡舍惊现50斤重蟒蛇 警民联手成功捕获

6月1日早上6时30分,正当小朋友们开始庆祝儿童节的时候,五华县公安局丁畲派出所的值班电话突然响起。村民温先生求助称家中鸡舍出现一条大蛇,导致鸡鹅四散奔逃。接到报警后,丁畲派出所的民辅警迅速赶往现场,并联系了专业的捕蛇师傅一同前往。到达现场后,他们发现大蛇蜷缩在…

【笔记】基于 MSYS2(MINGW64)的 Poetry 虚拟环境创建指南

#工作记录 基于 MSYS2&#xff08;MINGW64&#xff09;的 Poetry 虚拟环境创建指南 一、背景说明 在基于 MSYS2&#xff08;MINGW64&#xff09;的环境中&#xff0c;使用 Poetry 创建虚拟环境是一种高效且灵活的方式来管理 Python 项目依赖。本指南将详细介绍如何在 PyChar…

波兰新总统是谁 纳夫罗茨基胜选引发关注

根据波兰国家选举委员会网站当地时间6月2日公布的统计结果,独立候选人卡罗尔纳夫罗茨基赢得了波兰总统选举,他获得了50.89%的选票,与得票率为49.11%的公民联盟候选人、华沙市长拉法尔恰斯科夫斯基展开了激烈竞争。自两周前的首轮投票后,波兰国内的选情持续胶着,反映出这个…

给散装江苏发明省内足球联赛简直天才 比赛第一,友谊第十四!

“友谊第一,比赛第二”这句口号在一场足球比赛中被戏谑地改成了“友谊第一,比赛第十四”,随后又变成了“比赛第一,友谊第十四”。这种幽默的表达方式让江苏省首届城市足球联赛迅速走红。这个被称为“苏超”的足球联赛吸引了大量观众。盐城的一场比赛有22613名观众到场,现场…