使用弹性盒子flex对html进行布局和动态计算视口高度

使用弹性盒子flex对html进行布局的一个练习

height: calc(100vh - 4px); # vh表示视口高度的百分比,所以100vh表示整个视口的高度。

.mytxt {

text-indent: 2em; /* 首航缩进2字符 */

line-height: 2; /* 2倍行高 */

padding: 8px; /* 内容与边框的距离 */

}

html 复制代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="jquery.min.js"></script>
		<style>
			body {
				margin: 0;
				padding: 0;
			}
			/* 在css中设置 row */
			.content{
				width: 100%;
				#height: 700px;
			    height: calc(100vh - 4px);
				
				display : flex; /* 弹性盒子布局 */
				flex-direction: row;   /* flex-direction属性决定主轴的方向 */
				/*  justify-content属性定义了项目在主轴上的对齐方式 */
				justify-content: flex-start;
				align-content:flex-start; /*  align-items属性定义项目在交叉轴(侧轴)上如何对齐  */
				
			}
			.content-item{		
				border:1px solid red;
				margin: 10px;
			}
			.item1{
				width:45%;
			
			}
			.item2{
				width:55%;	
			}
			
			.leftrow1 {
			border:1px solid blue;
				width:100%;
				height:30%;
			}
			.leftrow2 {
				border:1px solid blue;
				width:100%;
				height:30%;
			}
			.leftrow3 {
				border:1px solid blue;
				width:100%;
				height:40%;
			}
			
			
			.rightrow {
				border:1px solid green;
				width:100%;
				height:50%;
			}


			.mytxt {				
				text-indent: 2em; /* 首航缩进2字符 */
				line-height: 2; /* 2倍行高 */
				padding: 8px; /* 内容与边框的距离 */
			}
		</style>
	</head>
	<body>
		<div class="content" id="app">
			<!-- left 45% -->
			<div class="content-item item1">
				<div class="leftrow1"></div>
				<div class="leftrow2"></div>
				<div class="leftrow3  content">
					<div class="content-item item1"></div>		
					<div class="content-item item2"></div>		
				</div>			
			</div>
			<!-- left 55% -->
			<div class="content-item item2">
				<div class="rightrow"></div>
				<div class="rightrow content">
					<div class="content-item item1"></div>		
					<div class="content-item item2"></div>		
				</div>
			
			</div>		
		</div>
		
	</body>
	
</html>

效果如图

相关推荐
失忆爆表症9 小时前
05_UI 组件库集成指南:Shadcn/ui + Tailwind CSS v4
前端·css·ui
小迷糊的学习记录9 小时前
Vuex 与 pinia
前端·javascript·vue.js
发现一只大呆瓜9 小时前
前端性能优化:图片懒加载的三种手写方案
前端·javascript·面试
不爱吃糖的程序媛9 小时前
Flutter 与 OpenHarmony 通信:Flutter Channel 使用指南
前端·javascript·flutter
利刃大大9 小时前
【Vue】Element-Plus快速入门 && Form && Card && Table && Tree && Dialog && Menu
前端·javascript·vue.js·element-plus
NEXT069 小时前
AI 应用工程化实战:使用 LangChain.js 编排 DeepSeek 复杂工作流
前端·javascript·langchain
念风零壹10 小时前
AI 时代的前端技术:从系统编程到 JavaScript/TypeScript
前端·ai
光影少年10 小时前
react的hooks防抖和节流是怎样做的
前端·javascript·react.js
小毛驴85010 小时前
Vue 路由示例
前端·javascript·vue.js
发现一只大呆瓜11 小时前
AI流式交互:SSE与WebSocket技术选型
前端·javascript·面试