如何使用CSS解决一行有三个元素,前两个元素靠左排列,第三个元素靠右排列的问题

如图所示,我要把左边的场馆和区域信息靠左排列,价格信息靠右排列。如何使用CSS实现这种效果?

在这里插入图片描述

在这里,我使用了flexbox弹性布局,以下是我的实现代码

                .name-info {display: flex;gap: 2px;justify-content: space-between;align-items: center;}.venue-name {font-weight: 600;font-size: 16px;color: #2c3e50;}.partition-name {font-size: 13px;color: #5a7a9a;margin-left: 6px;}.price {font-size: 17px;font-weight: 600;color: #0077cc;margin-left: auto;}

其中,name-info是我为这三个元素设置的一个父级class,在父级class中使用display:flex;在price类中使用margin-left:auto;即可实现如上图所示的效果,让价格标签靠左显示。但是由于左边的两个标签中的字体大小不一致,flex之后可能会出现左边的两个标签对不齐的情况,所以我又加上了justify-content: space-between;align-items: center;确保左边的两个标签对齐。

下面再拓展几种实现上面的布局的基本实现方法:

1.Flexbox 弹性布局(推荐方案)

实现原理​:通过 margin-left: auto 占据剩余空间实现右对齐

<div class="container"><div class="item">元素1</div><div class="item">元素2</div><div class="item right">元素3</div>
</div>
<style>
.container {display: flex;  /* 启用弹性布局 
/
*  gap: 10px;      /*可选:元素间距 */
}
.right {margin-left: auto;  /* 将第三个元素推到右侧 */
}
</style>

优势​:代码简洁、支持动态内容、无需计算宽度


2.Grid 网格布局

实现原理​:通过 grid-template-columns 定义列宽,结合 justify-self 控制对齐

<div class="container"><div class="item">元素1</div><div class="item">元素2</div><div class="item right">元素3</div>
</div>
<style>
.container {display: grid;grid-template-columns: auto auto 1fr; /* 前两列自动宽度,第三列占据剩余空间 */gap: 10px;
}
.right {justify-self: end;  /* 单元格内右对齐 */
}
</style>

适用场景​:需要多列复杂布局时


3.浮动布局(传统方法)

实现原理​:前两个元素左浮动,第三个元素右浮动

<div class="container"><div class="item left">元素1</div><div class="item left">元素2</div><div class="item right">元素3</div><div style="clear: both;"></div> <!-- 清除浮动 -->
</div>
<style>
.left {float: left;margin-right: 10px;
}
.right {float: right;
}
</style>

注意点​:需手动清除浮动,否则会导致父容器高度塌陷


4.绝对定位(特定场景)

实现原理​:第三个元素脱离文档流定位到右侧

<div class="container"><div class="item">元素1 元素2</div><div class="item right">元素3</div>
</div>
<style>
.container {position: relative;  /* 定位参考基准 */
}
.right {position: absolute;right: 0;top: 50%;transform: translateY(-50%);  /* 垂直居中 */
}
</style>

适用场景​:需要精确控制位置时,但会破坏响应式布局


建议

  1. 优先选择 Flexbox​:现代浏览器支持率 98% 以上,代码简洁且维护性强

  2. 响应式适配​:通过 @media 查询调整间距和对齐方式

  3. 垂直居中优化​:添加 align-items: center 到容器实现垂直居中

  4. 兼容性处理​:对老旧项目可添加 -webkit- 前缀(如 display: -webkit-flex

通过上述方案,开发者可根据项目需求和浏览器兼容性要求选择最合适的实现方式。Flexbox 因其灵活性和易用性,已成为现代 Web 开发的首选布局方案。

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

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

相关文章

USB传输模式

USB有四种传输模式: 控制传输, 中断传输, 同步传输, 批量传输 1. 中断传输 中断传输一般用于小批量, 非连续的传输. 对实时性要求较高. 常见的使用此传输模式的设备有: 鼠标, 键盘等. 要注意的是, 这里的 “中断” 和我们常见的中断概念有差异. Linux中的中断是设备主动发起的…

【Python 变量类型】

Python 是一种动态类型语言&#xff0c;变量类型在运行时自动确定&#xff0c;无需显式声明。以下是 Python 中核心变量类型的分类与用法详解&#xff1a; 一、基本数据类型 1. 数值类型 整数 (int) 支持正负数、零和二进制/八进制/十六进制表示&#xff1a; a 42 b 0o52 #…

Python基础:类的深拷贝与浅拷贝-->with语句的使用及三个库:matplotlib基本画图-->pandas之Series创建

一.类的深拷贝与浅拷贝 class CPU():pass class Disk():passclass Computer():#计算机由CPU和硬盘组成def __init__(self):self.cpu CPU()self.disk Disk()cpu CPU()#创建一个CPU对象 disk Disk()#创建一个硬盘对象#创建一个计算机对象 com Computer(cpu,disk) #变量&…

【SSM-SpringMVC(二)】Spring接入Web环境!本篇开始研究SpringMVC的使用!SpringMVC数据响应和获取请求数据

SpringMVC的数据响应方式 页面跳转 直接返回字符串通过ModelAndView对象返回 回写数据 直接返回字符串返回对象或集合 页面跳转&#xff1a; 返回字符串方式 直接返回字符串&#xff1a;此种方式会将返回的字符串与视图解析器的前后缀拼接后跳转 RequestMapping("/con&…

阅文集团C++面试题及参考答案

目录 能否不使用锁保证多线程安全? 面向对象的三个特性是什么?请分别解释。 构造函数和析构函数能否被继承? C++ 中函数重载是如何实现的? C 语言中是否支持函数重载? 什么是左值和右值?请举例说明。 C++ 中子类的构造和析构顺序是怎样的? C++ 中虚函数表的变化过…

【亲测有效】如何清空但不删除GitHub仓库中的所有文件(main分支)

如何清空但不删除GitHub仓库中的所有文件&#xff08;main分支&#xff09; 在项目开发过程中&#xff0c;有时我们需要清空GitHub仓库中的所有文件&#xff0c;同时保留仓库本身。这种情况常见于项目重构、代码重写或者需要重新开始一个项目时。本文将介绍一种有效的方法来清…

前端EXCEL插件,智表ZCELL产品V3.0 版本发布,底层采用canvas全部重构,功能大幅扩展,性能极致提升,满足千万级单元格加载

本次更新是底层全部重构&#xff0c;按照现代浏览器要求&#xff0c;采用canvas方式进行了重构&#xff0c;预留了将来扩展空间&#xff0c;特别是在大数据量性能提升方面有了较大提升&#xff0c;可以满足千万级单元格加载&#xff0c;欢迎大家体验使用。 体验地址&#xff1…

3DGS-to-PC:3DGS模型一键丝滑转 点云 or Mesh 【Ubuntu 20.04】【2025最新版!!】

一、引言 3D高斯泼溅(3DGS)是一种新兴的三维场景表示方法&#xff0c;可以生成高质量的场景重建结果。然而&#xff0c;要查看这些重建场景&#xff0c;需要特殊的高斯渲染器。大多数3D处理软件并不兼容3D高斯分布模型&#xff0c;但它们通常都兼容点云文件。 3DGS-to-PC项目提…

OpenHarmony 以太网卡热插拔事件接口无效

目录 1.背景 2.解决方案 1.背景 在OpenHarmony中调用以太网热插拔时间,发现热插拔没有任何回调,如下接口 import { ethernet } from @kit.NetworkKit;ethernet.on(interfaceStateChange, (data: object) => {console.log(on interfaceSharingStateChange: + JSON.…

C++ 跨平台开发挑战与深度解决方案:从架构设计到实战优化

C 凭借其高性能与底层控制能力&#xff0c;在游戏引擎、嵌入式系统、工业软件等领域占据核心地位。然而&#xff0c;跨平台开发过程中需应对硬件架构多样性、操作系统差异性、编译工具链碎片化等复杂问题。本文将从底层架构到上层应用&#xff0c;系统性剖析 C 跨平台开发的核心…

什么是 ANR 如何避免它

一、什么是 ANR&#xff1f; ANR&#xff08;Application Not Responding&#xff09; 是 Android 系统在应用程序主线程&#xff08;UI 线程&#xff09;被阻塞超过一定时间后触发的错误机制。此时系统会弹出一个对话框提示用户“应用无响应”&#xff0c;用户可以选择等待或强…

数据结构(六)——树和二叉树

一、树和二叉树的定义与存储 1.树的定义 树是一种非线性的数据结构&#xff0c;它是由n个有限结点组成有层次关系的集合 树具有以下特点&#xff1a; &#xff08;1&#xff09;每个结点具有0个或多个子结点 &#xff08;2&#xff09;每个子结点只有一个父结点 &#xff…

DICOM 网络服务实现:医学影像传输与管理的技术实践

🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C++, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C++、C#等开发语言,熟悉Java常用开发技术,能熟练应用常用数据库SQL server,Oracle,mysql,postgresql等进行开发应用…

TongWeb7.0常用-D参数说明

Web容器相关启动参数配置 属性 含义 -Dtongweb.restart.interval 设置宕机后重启的时间间隔&#xff0c;以秒为单位。如果不设置这个参数&#xff0c;默认为1秒 -Dmonitor.abnormal.restart 设置服务器非正常状态时是否重启&#xff0c;如果不设置这个参数或者参数值不为…

软件架构评估方法全面解析

介绍 在软件开发过程中&#xff0c;架构设计的好坏直接影响系统的可维护性、可扩展性和性能。因此&#xff0c;软件架构评估&#xff08;Software Architecture Evaluation&#xff09;成为确保架构质量的关键步骤。本文将介绍几种主流的架构评估方法&#xff0c;包括ATAM、SA…

我开源了一个免费在线工具!UIED Tools

UIED Tools - 免费在线工具集合 最近更新&#xff1a;修改了文档说明&#xff0c;优化了项目结构介绍 这是设计师转开发的第一个开源项目&#xff0c;bug和代码规范可能有些欠缺。 这是一个功能丰富的免费在线工具集合网站&#xff0c;集成了多种实用工具&#xff0c;包括 AI …

【vue】全局组件及组件模块抽离

一、全局组件 只要是实例化过的区域都可以使用 Vue.component("组件名",{ template: 内容} ) 二、组件模块抽离 抽离就是把template的内容写到body里面&#xff0c;然后建立id写到变量下的template里&#xff0c;id变量写到component里 body{ template&#xff1a; …

深入理解 iOS 开发中的 `use_frameworks!`

在使用 CocoaPods 管理 iOS 项目依赖时&#xff0c;开发者经常会在 Podfile 文件中看到一个配置选项&#xff1a;use_frameworks!。本文将详细介绍这个配置选项的含义&#xff0c;以及如何决定是否在项目中使用它。 一、什么是 use_frameworks! 在 CocoaPods 中引入第三方库时…

《Python星球日记》 第57天:LSTM 与 GRU

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、LSTM 的门控机制1. LSTM 结构概述2. 遗忘门(Forget Gate)3. 输入门(Input Gate)4. 输出门(Output Gate)5. 记忆单元更新过程二、GRU 的简化…

Java SE所需工具与常见类型和运算符介绍

1.Java SE所需工具 1.1 JDK JDK全称为Java Develepment Kit(Java开发者工具包&#xff09;&#xff0c;包括了Java运行环境JRE&#xff08;Java Runtime Envirnment&#xff09;、一堆Java工具&#xff08;javac/java/jdb等&#xff09;和Java基础的类库&#xff08;即Java A…