双飞翼布局实现

news/2024/11/24 3:12:58/

是什么?

双飞翼布局是一种常见的网页布局方式,具有两个侧边栏和一个中间内容区域。

与圣杯布局不同的是,双飞翼布局将三个部分放在同一层级的div中,而且左右两个侧边栏的宽度可以不固定,适应更加灵活。

实现方式

方式一:【 flex实现双飞翼布局】

1、给中部父盒子设置宽度100%设置display:flex;,

2、给左侧和右侧盒子设置固定的宽度,高度固定值

3、中间的盒子设置flex-grow: 1;,宽度不设置,高度固定值

4、头部和底部设置宽度100%,高度固定值

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>html,body{margin:0;padding:0;}.flex {width: 100%;display: flex;text-align: center;}.left {height: 400px;width: 200px;text-align: center;background-color: blue;}.right {height: 400px;width: 200px;text-align: center;background-color: blue;}.center {flex-grow: 1;height: 400px;text-align: center;background-color: aqua;}header {width: 100%;height: 100px;text-align: center;background-color: pink;}footer {width: 100%;height: 100px;text-align: center;background-color: pink;}</style>
</head><body><header>头部</header><div class="flex"><div class="left">左侧盒子</div><div class="center">中部盒子</div><div class="right">右侧盒子</div></div><footer>底部</footer>
</body></html>

方式二:【calc实现双飞翼布局】

1、左右两个盒子设置固定的宽度,高度固定值

2、中间盒子的宽度设置为width: calc(100% - “左侧盒子宽度” - “右侧盒子宽度”);注意减号两边的空格,高度固定值

3、三个盒子设置float: left;排在同一行显示,则可以实现双飞翼布局

4、头部和底部设置宽度100%,高度固定值

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.left {height: 400px;width: 200px;text-align: center;background-color: blue;float: left;}.right {height: 400px;width: 200px;text-align: center;background-color: blue;float: left;}.center {height: 400px;width: calc(100% - 200px - 200px);background-color: aqua;text-align: center;float: left;}header {width: 100%;height: 100px;text-align: center;background-color: pink;}footer {width: 100%;height: 100px;text-align: center;background-color: pink;clear: both;}</style>
</head>
<body><header>头部</header><div class="box"><div class="left">左侧盒子</div><div class="center">中部盒子</div><div class="right">右侧盒子</div></div><footer>底部</footer>
</body>
</html>

 方式三:【定位实现双飞翼布局】

1、左侧盒子与右侧盒子设置固定宽度,高度固定值,添加左浮动

2、中间盒子宽度设置100%,设置左浮动,高度固定值

3、大盒子左右的padding值分别为左右侧盒子的宽度

4、左侧盒子 margin-left: -100%;,position: relative;,left: -“左侧盒子的宽度”;

5、右侧盒子 margin-left: -“右侧盒子的宽度”px;,position: relative;, right: -“右侧盒子的宽度”px;

6、头部和底部设置宽度100%,高度固定值

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>html,body{margin: 0;padding: 0;}.box {padding: 0 200px;text-align: center;}header {width: 100%;height: 100px;text-align: center;background-color: pink;}footer {width: 100%;height: 100px;text-align: center;background-color: pink;clear: both;}.center {width: 100%;height: 200px;text-align: center;background-color: blue;float: left;}.left {float: left;margin-left: -100%;width: 200px;height: 200px;text-align: center;background-color: aqua;position: relative;left: -200px;}.right {margin-left: -200px;width: 200px;height: 200px;text-align: center;background-color: green;float: left;position: relative;right: -200px;}</style>
</head>
<body><header>头部</header><div class="box"><div class="center">中部盒子</div><div class="left">左侧盒子</div><div class="right">右侧盒子</div></div><footer>底部</footer>
</body>
</html>

 


http://www.ppmy.cn/news/69574.html

相关文章

YOLO-NAS:一种新的 YOLO 目标检测模型性能优于 YOLOv6 和 YOLOv8

什么是 YOLO-NAS? YOLO-NAS 是一种新的实时最先进的对象检测模型,在 mAP(平均精度)和推理延迟方面优于 YOLOv6 和 YOLOv8 模型。 YOLO-NAS 是<

SQL——索引

&#x1f4a1; 索引 在关系型数据库中&#xff0c;索引是一种单独的、物理上的对数据库表中的一列或多列的值进行排序的一种存储结构&#xff0c;他是某个表中的一列或着若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单&#xff08;类似于图书目录&#x…

Prompt 指南

https://github.com/OleNet/YouPromptMe/tree/gh-pages/you-prompt-me 这是一份如何调整 Prompt 得到更漂亮的图片的经验性文档。结果和经验都来源于文心 ERNIE-ViLG Demo 和社区的资料。 极乐迪斯科里的猫,故障艺术 呼吁与准则 机器生成图片的最终目的还是便捷地为人类创造…

Go数据结构----队列操作

四、实现数组队列ArrayQueue 队列先进先出&#xff0c;和栈操作顺序相反&#xff0c;我们这里只实现入队&#xff0c;和出队操作&#xff0c;其他操作和栈一样。 package mainimport "sync"// 数组队列&#xff0c;先进先出 type ArrayQueue struct {array []strin…

pyinstaller 打包 py脚本中有子进程的问题

打包成的exe会开启一个一模一样界面的子进程 在if __name__ __main__: 中加入&#xff1a;multiprocessing.freeze_support()

【Linux】多线程概念再理解

文章目录 1. 物理内存与磁盘的关系如何理解物理内存&#xff1f;凭什么物理内存要分为一个个4KB大小&#xff1f;若以块方式存储&#xff0c;则多出的空间是否浪费&#xff1f; 2. 虚拟地址到物理地址的转换3. 缺页中断4. 为什么字符常量区是不允许被修改的&#xff1f;5. 线程…

记一次springboot项目漏洞挖掘

前言 前段时间的比赛将该cms作为了题目考察&#xff0c;这个cms的洞也被大佬们吃的差不多了&#xff0c;自己也就借此机会来浅浅测试下这个cms残余漏洞&#xff0c;并记录下这一整个流程&#xff0c;谨以此记给小白师傅们分享下思路&#xff0c;有错误的地方还望大佬们请以指正…

Ada语言学习(1)Basic Knowledge

文章目录 说在前头命名注释数字变量变量类型signed integersEnumerationsFloating Points 类型重用&#xff08;继承&#xff09;类型转换 运算符属性&#xff08;Attributes&#xff09;练习 说在前头 本系列教程将会通过提问的方式来完成整个学习过程&#xff0c;因为当你能…