两列等高布局在项目中的应用

2024-03-24 20:59
文章标签 应用 布局 项目 两列

本文主要是介绍两列等高布局在项目中的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

遇到的问题

最近开发一个小型项目,项目只有两个页面,一个主页面,一个列表页面。项目使用的是vue技术栈,在开发页面的组件是遇到了一个布局问题,布局如下:
在这里插入图片描述
要求:
1.外部容器的高度由图片决定
2.图片的宽度固定,右侧元素分配剩余空间
3.右侧元素的高度于图片的一样高
4.右侧上方文字不固定,但是最多不超过两行,下方文字总是位居底部

分析问题

由上面的要求可以得出以下结论:
1.这是一个两列等高布局
2.右侧是一个垂直方向的两端对齐布局
3.需要多行文本溢出

我们看一下这些问题的常见解决方案:

常见的两列等高布局解决方法
1.flex布局

<div class="demo1 demo"><div class="left">left</div><div class="right">right</div>
</div>
.demo {background-color: aliceblue;
}.demo .left {width: 100px;height: 100px;background-color: aquamarine;
}.demo .right {background-color: chartreuse;
}.demo1 {display: flex;align-items: stretch;
}.demo1 .right {flex: 1;
}.demo1 .left {flex-shrink: 0; /*固定宽度*/
}

缺点: IE9及IE9以下版本不支持flex属性
优点:实现方便,还可以方便实现各种比例

2.使用margin和padding正负抵消

<div class="demo2 demo"><div class="left">left</div><div class="right">right</div>
</div>
.demo {background-color: aliceblue;
}.demo .left {width: 100px;height: 100px;background-color: aquamarine;
}.demo .right {background-color: chartreuse;
}.demo2 {overflow: hidden;
}.demo2 .left,
.demo2 .right {float: left;margin-bottom: -9999px;padding-bottom: 9999px;
}.demo2 .right {float: right;width: calc(100% - 100px);
}

优点:兼容所有浏览器
3.table布局

<div class="demo3 demo"><div class="left">left</div><div class="right">right<br/>right</div>
</div>
.demo {background-color: aliceblue;
}.demo .left {width: 100px;height: 100px;

这篇关于两列等高布局在项目中的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/842781

相关文章

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

eclipse如何运行springboot项目

《eclipse如何运行springboot项目》:本文主要介绍eclipse如何运行springboot项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目js录当在eclipse启动spring boot项目时出现问题解决办法1.通过cmd命令行2.在ecl

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

Python Flask 库及应用场景

《PythonFlask库及应用场景》Flask是Python生态中​轻量级且高度灵活的Web开发框架,基于WerkzeugWSGI工具库和Jinja2模板引擎构建,下面给大家介绍PythonFl... 目录一、Flask 库简介二、核心组件与架构三、常用函数与核心操作 ​1. 基础应用搭建​2. 路由与参

Maven项目打包时添加本地Jar包的操作步骤

《Maven项目打包时添加本地Jar包的操作步骤》在Maven项目开发中,我们经常会遇到需要引入本地Jar包的场景,比如使用未发布到中央仓库的第三方库或者处理版本冲突的依赖项,本文将详细介绍如何通过M... 目录一、适用场景说明​二、核心操作命令​1. 命令格式解析​2. 实战案例演示​三、项目配置步骤​1

Spring Boot中的YML配置列表及应用小结

《SpringBoot中的YML配置列表及应用小结》在SpringBoot中使用YAML进行列表的配置不仅简洁明了,还能提高代码的可读性和可维护性,:本文主要介绍SpringBoot中的YML配... 目录YAML列表的基础语法在Spring Boot中的应用从YAML读取列表列表中的复杂对象其他注意事项总

golang实现动态路由的项目实践

《golang实现动态路由的项目实践》本文主要介绍了golang实现动态路由项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习... 目录一、动态路由1.结构体(数据库的定义)2.预加载preload3.添加关联的方法一、动态路由1

Spring 缓存在项目中的使用详解

《Spring缓存在项目中的使用详解》Spring缓存机制,Cache接口为缓存的组件规范定义,包扩缓存的各种操作(添加缓存、删除缓存、修改缓存等),本文给大家介绍Spring缓存在项目中的使用... 目录1.Spring 缓存机制介绍2.Spring 缓存用到的概念Ⅰ.两个接口Ⅱ.三个注解(方法层次)Ⅲ.

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen