前端布局之圣杯布局和双飞翼布局

GD32F303定时器配置:实现两路互补PWM输出与相位控制 本文详细解析了基于GD32F303定时器实现两路互补PWM输出与精确相位控制的方法。通过配置TIMER2的中间对齐模式,结合REMAP功能解决引脚复用问题,从硬件层面稳定生成相位差180度的互补PWM信号,适用于电机驱动、开关电源等对时序要求苛刻的应用场景。 阅读详情

圣杯布局和双飞翼布局功能相同,都是为了实现一种两侧宽度固定,中间部分宽度自适应的三栏布局,并且中间部分在DOM结构上优先,以便先行渲染。

圣杯布局

首先我们创建DOM结构如下

<div class="container">
  <div class="center"></div>
  <div class="left"></div>
  <div class="right"></div>
</div>

设置三个部分的底色和高度,设置left宽度为200px,right宽度为150px,并让它们浮动。

	.center, .left, .right {
      height: 500px;
      font-size: 22px;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: space-around;
      flex-direction: column;
      float: left;
    }

    .center {
      background-color: pink;
    }

    .left {
      background-color: #999999;
      width: 200px;
    }

    .right {
      background-color: powderblue;
      width: 150px;
    }

效果如下:
在这里插入图片描述
可以看到三个部分都挤在最左侧,为了让center充满屏幕,设置center的宽度为100%
在这里插入图片描述
这时两侧的内容被挤到了下方,我们给left和right留出它们的位置

.container {
        padding: 0 150px 0 200px;
}

在这里插入图片描述

现在我们需要让left爬到上面一层去,使用margin-left属性,设成负值,当负值正好大于等于下盒子宽度时,下盒子跑到上盒子所在行
margin-left: -200px;
在这里插入图片描述
left成功上去了!
但我们需要left在最左侧,设置margin-left: -100%,相当于向左移动了一个父元素的距离。
参考:圣杯布局中对left盒子设置负内边距-100%的一点解释
在这里插入图片描述
但center的左侧内容被left挡住了,我们将left左移(设置当前元素的左侧与父元素左侧的距离值)

position: relative;
left: -200px;

在这里插入图片描述
OK,left成功定位。最后我们设置right样式
margin-right: -150px;

在这里插入图片描述
至此,圣杯布局已完成,最终CSS代码如下:

    body {
      background-color: #cccccc;
    }

    .container {
      padding: 0 150px 0 200px;
    }

    .center, .left, .right {
      height: 400px;
      font-size: 22px;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: space-around;
      flex-direction: column;
      float: left;
    }

    .center {
      background-color: pink;
      width: 100%;
    }

    .left {
      background-color: #999999;
      width: 200px;
      margin-left: -100%;
      position: relative;
      left: -200px;
    }

    .right {
      background-color: powderblue;
      width: 150px;
      margin-right: -150px;
    }

双飞翼布局

双飞翼布局的DOM结构和圣杯布局不同,container内只包含了center部分

  <div class="container">
    <div class="center"></div>
  </div>
  <div class="left"></div>
  <div class="right"></div>
  1. 因为container和left、right平级,所以我们需要在它们上面加上float: left;让三者在一行上浮动
  2. 设置container的宽度width: 100%;
  3. 设置center的外边距,为left和right留位置
    margin: 0 150px 0 200px;
  4. 设置left上移
    margin-left: -100%;
  5. 设置right上移
    margin-left: -150px;

完整代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>wingsLayout</title>
  <style>
    body {
      background-color: #cccccc;
    }

    .container {
      float: left;
      width: 100%;
    }

    .center, .left, .right {
      height: 400px;
      font-size: 22px;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: space-around;
      flex-direction: column;
    }

    .center {
      background-color: pink;
      margin: 0 150px 0 200px;
    }

    .left {
      background-color: #999999;
      float: left;
      width: 200px;
      margin-left: -100%;
    }

    .right {
      background-color: powderblue;
      width: 150px;
      float: left;
      margin-left: -150px;
    }
  </style>
</head>
<body>
  <div class="container">
    <div class="center">
      This is center
      <br/>
      auto
    </div>
  </div>
  <div class="left">
    This is left
    <br/>
    200px
  </div>
  <div class="right">
    This is right
    <br/>
    150px
  </div>
</body>
</html>

两种布局的比较

圣杯布局和双飞翼布局都可以实现固比固的一种排列方式,效果是相同的。圣杯布局的DOM结构更加的直观和自然,而双飞翼布局不需要定位,代码相对更加简洁。

腾讯云TDSQL MySQL版 - 开发指南兼容性 语言结构 分布式实例支持所有 MySQL 使用的文字格式,包括: String Literals Numeric Literals Date and Time Literals Hexadecimal Literals Bit-Value Literals Boolean Literals NULL Values String Literals String Literals 是一个 bytes 或者 characters 的序列,两端被单引号'或者双引号"包围,TDSQL MySQL版 阅读详情

相关推荐

newman的使用

Newman是一个基于Node.js的postman命令行工具,用于运行和测试PostmanAPI 请求的集合。它允许用户在命令行环境中执行Postman的JSON文件,从而实现接口自动化测试和持续集成,同时支持用户进行自动化测试、批量执行请求、生成报告等操作。

m0_62825058的博客 1616

几种常见的CSS布局-- 双飞翼布局

双飞翼布局:对圣杯布局(使用相对定位,对以后布局有局限性)的改进,消除相对定位布局 原理:主体元素上设置左右边距,预留两翼位置。左右两栏使用浮动和负边距归位,消除相对定位。 .container { /*padding-left:150px;*/ /*padding-right:190px;*/ } .main-wrap { width: 100%; float: left; } .main { margin-left: 150px; margin-rig.

LuckXinXin的博客 753

Phantom Omni的力与力矩操作

*本说明为对Phantom Omni的力与力矩操作 ****************虚拟夹具的力读取与控制************************ 1、首先力的读取要声明【全局变量】 hduVector3Dd F;//三维矢量力(x,y,z三个方向的力) 2、对力的控制可以采用配置函数Set()与Get()函数; 3、对力觉的控制或读取操作需要放到【回调帧】开始与结束之间,如例子

xuliang355的博客 2562

圣杯布局和双飞翼布局

双飞翼布局与圣杯布局的写法,以及相同点和区别

2301_77456141的博客 1647

从零到一:RagFlow源码架构深度解析与二次开发实战指南

本文深入解析RagFlow源码架构,提供从环境搭建到二次开发的全流程实战指南。作为企业级AI搜索框架,RagFlow通过模块化设计和多模态处理能力,支持自定义智能体开发与文搜文档功能,帮助开发者高效构建智能搜索系统。

w1x2y3的博客 267

单卡也能玩转Qwen2.5-VL微调!3090实测Grounding任务调参技巧大全

本文详细介绍了如何在单张RTX 3090显卡上,通过梯度累积、BF16混合精度训练、梯度检查点等关键技术,成功微调Qwen2.5-VL多模态大模型以完成Grounding视觉定位任务。文章提供了从数据处理、参数配置到训练监控的完整实战调参技巧,为资源有限的开发者提供了可行的解决方案。

weixin_29098117的博客 425

css【详解】—— 圣杯布局 vs 双飞翼布局 (含手写清除浮动 clearfix)

两者功能效果相同,实现方式不同。

朝阳39的博客 1744

BES (恒玄)HFP通话笔记

1.audio_developer 调试:SDK 需要打开某个算法,需要原厂打开对应宏定义编译出新的SDK,只要涉及到lib库里的功能都需要原厂手动修改编译。开发商和原厂FAE做起来都会比较累。如果没有原厂支持根本没法做,很少文档,SDK也很多问题,没法开箱即用如果要支持audio_developer上位机调试,还需改代码,如果对整个原理不清楚就没法做,没文档只能啃代码调试工具设计的也有待加强,串口通讯调试对耳机这类产品非常麻烦,本来板子就不大,还要焊接一堆线,调试还要拖着串口线。

飞天鱼 686

CSS三栏布局的7种方式代码详解 | 圣杯布局 | 双飞翼布局 | 弹性盒子

写在前面:博主最近在转头复习最前面学的CSS,整理一下CSS三栏布局的笔记,正好也捋顺自己的逻辑思路。解析我尽量按照思路详细的写了,代码均可正确运行,留给需要的小伙伴进行参考,如有不足,欢迎在评论区补充。

dxy1128的博客 4082

ECU诊断功能测试:从理论到实践

ECU诊断功能是指通过特定的诊断协议与ECU进行通信,以获取ECU的状态信息、故障码、数据流等,并执行特定的诊断操作。诊断功能的主要目的是帮助开发人员和维修人员快速定位和解决ECU中的问题,确保车辆的安全性和可靠性。UDS协议是ISO 14229标准的一部分,定义了一系列的诊断服务,如读取故障码、清除故障码、读取数据流等。UDS协议基于CAN(Controller Area Network)总线,具有较高的灵活性和扩展性。读取故障码是诊断功能中最基本的操作之一。通过读取故障码,可以快速定位ECU中的问题。

闲人编程的博客 1807

SAP Gateway OData V4 大数据集合分页机制详解,$skiptoken、Next Link 与服务端分页

更关键的是确定稳定排序方式,选择可靠的分页游标,限制单次 Response Size,正确生成 Next Link,让 Consumer 把 Next Link 当成不可解释的协议结果,并明确区分 Pagination、Delta Synchronization 和 Snapshot Consistency。从协议表达来看,请求没有问题。假设系统内部配置为每次最多返回 100 条,而数据库里一共存在 12580 条符合条件的销售订单,那么第一次响应只包含前 100 条,同时附带一个 Next Link。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 53

【前端】圣杯(双飞翼)布局

圣杯(双飞翼)布局的特点及实现方法(浮动、定位、flex布局)

m0_64791593的博客 856

MicroCap声学仿真介绍(二)-创建声学仿真元件

声学库里包含孔、管、障板辐射器等器件,我们只需要按照仿真的需求,将声学库里的器件排列好,输入参数,用线连接起来即可。这里我们用D指代孔的直径,L指代孔的长度,N代表孔的数量。26.在弹出的界面中做如下设置:需要先在右面的选框里找到对应的项,然后右键Add Part,再之后就如下设置。3.在弹出的界面中,选择“Macro file(.mac)”,并点击右上角的“OK”下面就以声学仿真中常见的“孔”来做示例,跟大家一块演示一下宏程序的新建。10.在上图中“Value”中填入“R”,然后点击左边的“OK”按钮;

山无忧的博客 2200

css圣杯布局和双飞翼布局(前端面试重点)

css圣杯布局和双飞翼布局(前端面试重点) 1.圣杯布局:左右固定,中间自适应(中间先解析) 原理:1.大盒子里面有三个小盒子,左右两边盒子固定,中间的盒子宽度为100%,中间一定要先解析,放在最上面。 2.三个小盒子加浮动,左侧小盒子设置margin-left:-100%; 右侧小盒子设置margin-left:-自身宽度 3.大盒子设置左右的padding,左右两个小盒子用相对定位定位到两侧位置 <!DOCTYPE html> <...

are_gh的博客 510

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

web前端入门到实战:圣杯布局和双飞翼布局

稍微了解前端的人都知道,圣杯布局和双飞翼布局是前端面试时必问的问题,因为它既能体现你懂HTML结构又能体现出你对DIV+CSS布局的掌握,毕竟我们学习CSS主要就是为了更好地布局带来最好的用户体验嘛~ 事实上,圣杯布局其实和双飞翼布局是一回事。它们实现的都是三栏布局,两边的盒子宽度固定,中间盒子自适应,也就是我们常说的固比固布局。它们实现的效果是一样的,差别在于其实现的思想。 圣杯布局的出现是来自...

web前端开发教程htmlcssjs 336

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

前端面试题_15_如何实现圣杯布局和双飞翼布局

圣杯布局和双飞翼布局 圣杯布局和双飞翼布局是前端工程师需要日常掌握的重要布局方式。两者的功能相同,都是为了实现一个两侧宽度固定,中间宽度自适应的三栏布局。 圣杯布局与双飞翼布局 圣杯布局来源于文章In Search of the Holy Grail,而双飞翼布局来源于淘宝UED。虽然两者的实现方法略有差异,不过都遵循了以下要点: 两侧宽度固定,中间宽度自适应; 中间部分在DOM结构上优先,以便先行渲染; 允许三列中的任意一列成为最高列 下面我将依次介绍圣杯布局和双飞翼布局的实现方式,并在最后根据个人思

Pe7erjmd的博客 487

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

前端经典圣杯布局和双飞翼布局

介绍 圣杯布局和双飞翼布局解决的问题是一样的 就是两边顶宽,中间自适应的三栏布局,中间栏要在放在文档流前面以优先渲染。 圣杯布局和双飞翼布局解决问题的方案在前一半是相同的,也就是三栏全部float浮动,但左右两栏加上负margin让其跟中间栏div并排,以形成三栏布局。 区别 不同在于解决”中间栏div内容不被遮挡“问题的思路不一样: 圣杯布局,为了中间div内容不被遮挡,将中间div设置了左右padding-left和padding-right后,将左右两个div用相对布局position: relati

这里是前端,是不一样的前端 1674

前端学习之—靶的制作和双飞翼圣杯布局的比较

1.靶心的制作 制作难点在于使圆心在同一个点上。 解决方案:可以设置padding内边距值或者margin外边距值来使各个圆的距离相同。 区别:margin是外边距 不会影响圆的大小,但是padding是内边距 会影响圆的大小。 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="...

weixin_41984072的博客 150

双飞翼布局内容不换行_web前端入门到实战:圣杯布局和双飞翼布局

稍微了解前端的人都知道,圣杯布局和双飞翼布局是前端面试时必问的问题,因为它既能体现你懂HTML结构又能体现出你对DIV+CSS布局的掌握,毕竟我们学习CSS主要就是为了更好地布局带来最好的用户体验嘛~事实上,圣杯布局其实和双飞翼布局是一回事。它们实现的都是三栏布局,两边的盒子宽度固定,中间盒子自适应,也就是我们常说的固比固布局。它们实现的效果是一样的,差别在于其实现的思想。圣杯布局的出现是来自于a...

weixin_39657249的博客 92

【前端知识之JS】圣杯布局和双飞翼布局

本系列主要整理前端面试中需要掌握的知识点。本节介绍圣杯布局和双飞翼布局。

weixin_44337386的博客 813

双飞翼布局内容不换行_前端基础面试:如何快速实现三栏布局?说说圣杯布局和双飞翼布局...

三栏布局三栏布局中耳熟能详的便是圣杯布局和双飞翼布局了。两者都是在解决两边固定宽度,中间自适应的三栏布局,并且主要内容要优先渲染,按照 DOM 从上至下的加载原则,中间的自适应部分要放在前面。圣杯布局我们首先将布局的基础框架搭出来,在下面代码中,父 div 包含了三个子 div,我们将 .center 写在最前面,方便最先渲染。为了保证窗口缩小时仍然能展示,我们给 body 设置了最小宽度。结构:...

weixin_39631755的博客 112

前端常用的两种布局方式:圣杯布局和双飞翼布局

圣杯布局和双飞翼布局: 两者实现的功能都一样,都是用于实现两侧的宽度不变,中间的宽度自适应的三栏布局 注意点:浮动的元素不会撑起父元素。 一、圣杯布局 圣杯布局的步骤: 2.1搞一个容器,里面放三个盒子 2.2设置两侧盒子的宽度(固定) 2.3设置中间盒子的宽度等于容器的宽度100% 2.4设置容器的padding等于两侧盒子的宽度 2.5设置三个盒子都在同一个方向浮动 2.6设置...

st521314mt的博客 687

【前端布局】圣杯布局和双飞翼布局

圣杯布局,双飞翼布局

qq_63514555的博客 239

Web前端之圣杯和双飞翼布局、float、clear、both

Web前端之圣杯和双飞翼布局、float、clear、both

优快云博客主页地址:https://mengjian.blog.youkuaiyun.com/ 566

前端常用布局方式:双飞翼布局和圣杯布局

CSS常用布局为盒模型div+css、其中需要注意IE的怪异盒模型,我们通常通过box-sizing解决。传统盒模型布局方式中我们可以细分为文档流布局、浮动布局、定位布局。在ie10+中我们可以使用flex布局,其中我们需要理解最为核心的容器和轴的概念。二维布局中,我们可以使用Grid布局。对于三栏布局,除了浮动实现方式,还有双飞翼布局和圣杯布局。其实双飞翼布局就是对圣杯布局的bug修复,一种改造...

weixin_43365995的博客 474

前端面试--三栏布局--双飞翼布局和圣杯布局

1.为了优先显示中间部分,都是先写中间部分main,再写左右 left,right 2.双飞翼布局中间多了一个标签包裹,缺点:dom结构冗余 3.圣杯模式:当中间区域宽度<左侧宽度 时,布局会发生混乱 个人比较喜欢圣杯模式 和min-width混合使用,这样可避免布局混乱。 双飞翼布局如下: <style> .left, .rig...

CS13477062349的博客 394
上一篇: 使用正则去掉字符串中的空格
下一篇: ORACLE lag和lead函数用法
LvyYoung
博客等级 码龄10年 36粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值