常见的CSS布局

1 左侧固定宽度,右侧自适应宽度的两列布局实现

HTML:
<div className="outer">
        <div className="left">固定宽度</div>
        <div className="right">自适应宽度</div>
      </div>
方法1:左侧div设置成浮动:float: left,右侧div宽度会自拉升适应
.outer {
 width: 100%;
 height: 500px;
 background-color:
 }
 .left {
 width: 200px;
 height: 200px;
 yellow;
 background-color: red;
 float: left;
 }
 .right {
 height: 200px;
 background-color: blue;
 }
方法2:对右侧:div进行绝对定位,然后再设置right=0,即可以实现宽度自适应

绝对定位元素的第⼀个高级特性就是其具有自动伸缩的功能, 当我们将 width 设置为 auto 的时候 (或者不设置, 默认为 auto ), 绝对定位元 素会根据其 left 和 right 自动伸缩其大小

.outer {
 width: 100%;
 height: 500px;
 background-color: yellow;
 position: relative;
 }
 .left {
 width: 200px;
 height: 200px;
 background-color: red;
 }
 .right {
 height: 200px;
 background-color: blue;
 position: absolute;
 left: 200px;
 top:0;
 right: 0;
 }
 方法3:将左侧div进行绝对定位,然后右侧div设置margin-left: 200px
.outer {
 width: 100%;
 height: 500px;
 background-color: yellow;
 position: relative;
 }
 .left {
 width: 200px;
 height: 200px;
 background-color: red;
 position: absolute;
 }
 .right {
 height: 200px;
 background-color: blue;
 margin-left: 200px;
 }
方法4:使用flex布局
.outer {
 width: 100%;
 height: 500px;
 background-color: yellow;
 display: flex;
 flex-direction: row;
 }
 .left {
 width: 200px;
 height: 200px;
 background-color: red;
 }
 .right {
 height: 200px;
 background-color: blue;
 flex: 1;
 }

2  流体布局

 

HTML:

<div className="container">
        <div className="left"></div>
        <div className="right"></div>
        <div className="main"></div>
      </div>
.container{
    border: 1px solid black;
    margin-top: 24px;
    margin: 24px 12px;
}

.left{
    float:left;
    width: 100px;
    height: 200px;
    background-color: red;
}
.right{
    float:right;
    width: 200px;
    height: 200px;
    background-color: yellow;
}
.main{
    margin-left: 120px;
    margin-right: 220px;
    height: 200px;
    background: green;
}

3 圣杯布局

方法一:利用定位实现两侧固定中间自适应

        1.1 父盒子设置左右 padding 值

        1.2 给左右盒子的 width 设置父盒子的 padding 值,然后分别定位到 padding 处.

        1.3 中间盒子自适应

<div className="father">
        <div className="left"></div>
        <div className="center"></div>
        <div className="right"></div>
      </div>
.father {
  height: 400px;
  background-color: aqua;
  position: relative;
  padding: 0 200px;
  margin-top: 20px;
}

.left,
.right {
  width: 200px;
  height: 300px;
  background-color: yellow;
  position: absolute;
  top: 0;
}

.left {
  left: 0;
}

.right {
  right: 0;
}

.center {
  background-color: blueviolet;
  height: 350px;
}

方法二:利用 flex 布局实现两侧固定中间自适应

        2.1 父盒子设置 display:flex;

        2.2 左右盒子设置固定宽高

        2.3 中间盒子设置 flex:1 ;

 方法三:利用 bfc 块级格式化上下文, 实现两侧固定中间自适应

        3.1 左右固定宽高,进行浮动

        3.2 中间 overflow: hidden;

<div className="father">
        <div className="left"></div>
        <div className="right"></div>
        <div className="center"></div>
      </div>
.father {
  height: 500px;
  background-color: pink;
}

.left {
  float: left;
  width: 200px;
  height: 400px;
  background-color: blue;
}

.right {
  float: right;
  top:0px;
  width: 200px;
  height: 400px;
  background-color: blue;
}

.center {
  height: 450px;
  background-color: green;
  overflow: hidden;
}

原文参考:圣杯布局(三种方法)-CSDN博客 

4  双飞翼布局


<div className="content">
 <div className="main"></div>
 </div>
 <div className="left"></div>
 <div className="right"></div>
.content {
    float: left;
    width: 100%;
    }
    .main {
    height: 200px;
    margin-left: 110px;
    margin-right: 220px;
    background: green;
    }
    .main::after {
    content: '';
    display: block;
    font-size:0;
    height: 0;
    zoom: 1;
    clear: both;
    }
    .left {
    float:left;
    height: 200px;
    width: 100px;
    margin-left:-100%;
    background: red;
    }
    .right {
    float: right;
    height: 200px;
    width: 200px;
    margin-left:-200px;
    background: blue;
    }
   

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

美发店服务预约会员小程序的作用是什么

美发店不同于美容美甲&#xff0c;男女都是必需且年龄层几乎不限&#xff0c;商家在市场拓展时只要方法得当相对比较容易&#xff0c;当今客户适应于线上信息获取、咨询及实际内容开展&#xff0c;商家也需要赋能和提升自身服务效率&#xff0c;合理化管理。 运用【雨科】平台…

C语言基础(六)

C语言基础 指针与一维数组总结 * p、* (p)、&#xff08;\*p&#xff09;、* p、*(p)、*p区别和用法运算优先级p与p区别*p与 *&#xff08;p&#xff09;与&#xff08;*p&#xff09;*p与 *&#xff08;p&#xff09;与 *p 指针常量与一维数组的关系指针变量与一维数组的关系数…

002 仿muduo库实现高性能服务器组件_整体框架

​&#x1f308;个人主页&#xff1a;Fan_558 &#x1f525; 系列专栏&#xff1a;仿muduo &#x1f339;关注我&#x1f4aa;&#x1f3fb;带你学更多知识 文章目录 前言项目框架小结 前言 本文不会包含任何项目模块的代码&#xff0c;旨在向你介绍项目具体分为哪几个模块&am…

文档档案管理系统整体建设方案书(实际项目原件word2024)

1.系统概述 1.1.需求描述 1.2.需求分析 1.3.重难点分析 1.4.重难点解决措施 2.系统架构设计 2.1.系统架构图 2.2.关键技术 数据备份技术 3.系统功能设计 3.1.功能清单列表 3.2.基础数据管理 3.3.位置管理 3.4.文档使用 3.5.文档管理 软件全套资料包获取方式①&#xff1a;软件项…

揭秘 淘宝死店采集私信筛选,号称日赚500+

淘宝死店采集工具为电子商务创业者揭示了一个领域的新机遇&#xff0c;通过提供一系列深入分析和资源挖掘的功能&#xff0c;展现了从失败中寻找成功之道的独特方法论。以下是如何通过这种工具寻找电商平台中的隐含机会的几个关键方面&#xff1a; 分析失败的深层原因&#x…

【启程Golang之旅】深入解析函数的奥秘与技巧

欢迎来到Golang的世界&#xff01;在当今快节奏的软件开发领域&#xff0c;选择一种高效、简洁的编程语言至关重要。而在这方面&#xff0c;Golang&#xff08;又称Go&#xff09;无疑是一个备受瞩目的选择。在本文中&#xff0c;带领您探索Golang的世界&#xff0c;一步步地了…

html5+css3+js学习记录(1)-- html

1 vscode前端插件 1.1 Web标准 2 文档声明与字符编码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewpor…

【全开源】海报在线制作系统源码(ThinkPHP+FastAdmin+UniApp)

打造个性化创意海报的利器 引言 在数字化时代&#xff0c;海报作为一种重要的宣传媒介&#xff0c;其设计质量和效率直接影响着宣传效果。为了满足广大用户对于个性化、高效制作海报的需求&#xff0c;海报在线制作系统源码应运而生。本文将详细介绍海报在线制作系统源码的特…

【电子元件】TL431 电压基准

TL431(C23892)是一种常用的可调节精密电压基准和电压调节器。它广泛应用于电源管理、精密参考电压和稳压电路等领域。以下是TL431的一些关键特点和使用方法&#xff1a; 关键特点 可调输出电压&#xff1a;TL431的输出电压可以通过外部电阻网络在2.495V到36V范围内调整。精度高…

【知识图谱】探索攻略:基础、构建、高级应用与相关论文方向

【知识图谱】相关文章汇总 写在最前面一、什么是知识图谱&#xff1f;二、相关历史文章代码实现&#xff1a;简单的知识图谱可视化知识图谱前身&#xff1a;信息抽取知识图谱应用1&#xff1a;社交网络分析知识图谱应用2&#xff1a;威胁情报挖掘知识图谱应用3&#xff1a;Code…

当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧?

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

人类最友好语言? YAML 深入解析:从语法到最佳实践

什么是YAML YAML&#xff08;YAML Ain’t Markup Language&#xff09;是一种人类可读的数据序列化语言。它的设计目标是使数据在不同编程语言之间交换和共享变得简单。YAML采用了一种简洁、直观的语法&#xff0c;以易于阅读和编写的方式表示数据结构。 YAML广泛应用于配置文…

Elasticsearch的Index sorting 索引预排序会导致索引数据的移动吗?

索引预排序可以确保索引数据按照指定字段的指定顺序进行存储&#xff0c;这样在查询的时候&#xff0c;如果固定使用这个字段进行排序就可以加快查询效率。 我们知道数据写入的过程中&#xff0c;如果需要确保数据有序&#xff0c;可能需要在原数据的基础上插入新的数据&#…

Youngter-drive

BUUCTF逆向题Youngter-drive-CSDN博客 逆向每日一题----Youngter-drive题解-CSDN博客 借鉴博客,写得比我好 upx拖壳 upx -d Youngter-drive.exe 这道题我不知道为什么,我这里是运行不了的,也没有找到原因 int __cdecl main_0(int argc, const char **argv, const char **env…

进程信号(1)

目录 一、信号 1.1、生活中的信号 1.2、Linux中的信号 二、信号处理常见方式 三、信号的产生 3.1、简单理解信号的保存和发送 3.2、键盘产生信号 3.3、核心转储 3.4、系统调用接口产生信号 3.4.1、kill 3.4.2、raise 3.4.3、abort 3.5、软件条件产生信号 3.6、硬…

网络编程-TCP

一、TCP的相关IP 1.1 SeverSocket 这是Socket类,对应到网卡,但是这个类只能给服务器使用. 1.2 Socket 对应到网卡,既可以给服务器使用,又可以给客户端使用. TCP是面向字节流的,传输的基本单位是字节. TCP是有连接的,和打电话一样,需要客户端拨号,服务器来听. 服务器的内核…

【Linux】为 VMware 的 Linux 系统(CentOS 7)设置静态IP地址

文章目录 准备工作查看 子网掩码 和 网关IP确认准备设置的虚拟机端口没有被占用 调整设置编辑配置文件配置文件说明 完成配置&#xff0c;准备测试使用命令终端连接服务器 我是一名立志把细节说清楚的博主&#xff0c;欢迎【关注】&#x1f389; ~ 原创不易&#xff0c; 如果有…

redis--消息队列

分类 生产者消费模式 发布者订阅模式 生产者消费模式 在生产者消费者(Producer/Consumer)模式下&#xff0c;上层应用接收到的外部请求后开始处理其当前步骤的操作&#xff0c;在执行完成后将已经完成的操作发送至指定的频道(channel)当中&#xff0c;并由其下层的应用监听…

开发公众号自定义菜单之创建菜单

文章目录 申请测试账号换取Token接口测试提交自定义菜单查看效果校验菜单配置清空菜单配置结束语 申请测试账号 https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?actionshowinfo&tsandbox/index 或 得到appid和secret 换取Token 使用appid和secret换取token令牌…

嵌入式实时操作系统笔记1:RTOS入门_理解简单的OS系统

今日开始学习嵌入式实时操作系统RTOS&#xff1a;UCOS-III实时操作系统 本次目标是入门RTOS&#xff0c;理解多任务系统...... 本文只是个人学习笔记&#xff0c;基本都是对网上资料的整合...... 目录 STM32裸机与RTOS区别&#xff1a; 裸机中断示例&#xff1a; RTOS对优先级…