一,圣杯布局

  1,什么是圣杯布局?

   所谓圣杯布局就是用于实现一个两侧宽度固定,中间宽度自适应的三栏布局

  2,构建圣杯布局的步骤:

    2.1,添加一个容器,在这个容器中添加放三个盒子(左、中、右);

    2.2,设置两侧盒子(左、右)的宽度 ,使其宽度固定;

    2.3,设置中间盒子的宽度为100%,这是中间盒子宽度自适应的关键;

    2.4,设置容器的padding-leftpadding-right属性,属性值分别为左盒子的宽度和右盒子的宽度;

    2.5,让三个盒子都向左浮动,向右浮动可能会出现问题,所以都设置向左浮动;

    2.6,设置左盒子的margin-left属性为-100%

    2.7,通过相对定位调整左边的盒子, 使左边的盒子不盖住中间盒子的区域;

    2.8,设置右边盒子的margin-left属性为负的自身的宽度;

    2.9,同样的通过相对定位调整右边的盒子, 使右边的盒子不盖住中间盒子的区域;

    2.10,最后一步就是给容器设置一个最小宽度min-width属性,防止它缩小后变形。

  3,具体示例如下

<style>
*{
margin:;
padding:;
}
.left, .right{
width: 200px;
height: 200px;
background-color: red;
float: left;
}
.left{
margin-left: -100%;
position: relative;
left: -200px;
}
.right{
margin-left: -200px;
position: relative;
right: -200px;
}
.center{
width: 100%;
height: 200px;
background-color: green;
float: left;
}
.box{
padding: 0 200px;
min-width: 400px;
}
</style>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>圣杯布局</title>
</head>
<body>
<div class="box">
<div class="center">圣杯布局圣杯布局圣杯布圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局
圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局
圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局圣杯布局</div>
<div class="left"></div>
<div class="right"></div>
</div>
</body>
</html>

 

 二,双飞翼布局

  1,什么是双飞翼布局  

   和圣杯布局一样,双飞翼布局也是用于实现一个两侧宽度固定,中间宽度自适应的三栏布局,就是布局的形式上存在差异    

  2,构建双飞翼布局的步骤

    2.1,添加一个容器,在这个容器中添加三个盒子(左、中、右);

    2.2,设置两侧盒子(左、右)的宽度 ,使其宽度固定;

    2.3,设置中间盒子的宽度为100%,这也是双飞翼布局中中间盒子宽度自适应的关键;

    2.4,让三个盒子都向左浮动,向右浮动可能会出现问题,所以都设置向左浮动;

    2.5,再给中间的盒子添加一个子盒子;

    2.6,设置子盒子margin-leftmargin-right属性,属性值分别为左盒子的宽度和右盒子的宽度;

    2.7,设置左盒子的margin-left属性为-100%;

    2.8,设置右边盒子的margin-left属性为负的自身的宽度;

  3,具体示例如下

<style>
*{
margin:;
padding:;
}
.left, .right{
width: 200px;
height: 200px;
background-color: skyblue;
float: left;
}
.left{
margin-left: -100%;
}
.right{
margin-left: -200px;
}
.center{
width: 100%;
height: 200px;
background-color: brown;
float: left;
}
.center>.center_in{
margin: 0 200px;
height: 200px;
background-color: yellow;
}
.box{
overflow: hidden;
}
</style>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>双飞翼布局</title>
</head>
<body>
<div class="box">
<div class="center">
<div class="center_in">双飞翼布局双飞翼布局双飞翼布局双飞翼布局双飞翼布局双飞翼布局双飞翼布局双飞翼布局
双飞翼布局双飞翼布局双飞翼布局双飞翼布局双飞翼布局双飞翼布局双飞翼布局双飞翼布局
双飞翼布局双飞翼布局双飞翼布局双飞翼布局双飞翼布局双飞翼布局双飞翼布局双飞翼布局</div>
</div>
<div class="left"></div>
<div class="right"></div>
</div>
</body>
</html>

CSS中的圣杯布局与双飞翼布局的更多相关文章

  1. CSS布局经典—圣杯布局与双飞翼布局

    在我之前的博客网页整体布局完全剖析-剖完你不进来看一下么?中总结单列.两列.三列固宽与变宽布局,我还以为已经囊括了所有经典的网页布局方法了呢,当然除了CSS3的弹性盒模型没有涉及到,现在看来确实是自己 ...

  2. CSS | 圣杯布局、双飞翼布局 | 自适应三栏布局

    圣杯布局和双飞翼布局是前端工程师需要日常掌握的重要布局方式.两者的功能相同,都是为了实现一个两侧宽度固定,中间宽度自适应的三栏布局 虽然两者的实现方法略有差异,不过都遵循了以下要点: 1.两侧宽度固定 ...

  3. CSS经典布局-圣杯布局、双飞翼布局

    圣杯布局的来历是2006年发在a list part上的这篇文章:In Search of the Holy Grail · An A List Apart Article圣杯是西方表达“渴求之物&q ...

  4. css布局笔记(三)圣杯布局,双飞翼布局

    圣杯布局和双飞翼布局都是三列布局,两边定宽,中间自适应布局,中间栏要在放在文档流前面以优先渲染. 圣杯布局如下 <!-- 圣杯布局 --> <!DOCTYPE html> &l ...

  5. CSS布局之圣杯布局和双飞翼布局

    其实圣杯布局和双飞翼布局实现的都是三栏布局,两边的盒子宽度固定,中间盒子自适应,也就是我们常说的固比固布局.它们实现的效果都是一样的,差别在于其实现的思想. 一.圣杯布局 html代码中,将重要的内容 ...

  6. CSS圣杯布局、双飞翼布局详解

    三栏布局中,经典中的经典应该就是圣杯布局.双飞翼布局没跑了.双飞翼布局和圣杯布局其实是一样的,只不过在写法上有些不同,其布局都是左右固定宽度,中间宽度自适应. 先熟悉一下圣杯布局.双飞翼布局中的特点: ...

  7. css两栏布局、圣杯布局、双飞翼布局

    最近几个月一直用vue在写手机端的项目,主要写业务逻辑,在js方面投入的时间和精力也比较多.这两天写页面明显感觉css布局方面的知识有不足,所以复习一下布局方法. 两栏布局 1.浮动 .box1 .l ...

  8. CSS经典布局——圣杯布局与双飞翼布局

    一.圣杯布局和双飞翼布局的目的 实现三栏布局,中间一栏最先加载和渲染 两侧内容固定,中间内容随着宽度自适应 一般用于PC网 二.圣杯布局的实现 技术要点: 设置最小宽度min-width 使用floa ...

  9. 中间自适应,左右定宽的两种经典布局 ---- 圣杯布局 VS 双飞翼布局

    一.引子 最近学了些js框架,小有充实感,又深知如此节奏的前提需得基础扎实,于是回头想将原生CSS和Javascript回顾总结一番,先从CSS起,能集中它的就在基础的布局上,便查阅了相关资料,将布局 ...

  10. CSS_圣杯布局和双飞翼布局

    参考: 圣杯布局的来历是2006年发在a list part上的这篇文章: http://alistapart.com/article/holygrail 双飞翼布局介绍-始于淘宝UED: http: ...

随机推荐

  1. Mysql 8+ 版本完全踩坑记录

    问题是这样 刚霍霍了一台腾讯云服务器需要安装mysql 然后就选择了8+这个版本. 安装步骤网上有的是. 我只写最主要的部分 绝对不出错 外网可访问 .net java都可以调用 其实不指望有人看 就 ...

  2. [bzoj2038] [洛谷P1494] [2009国家集训队] 小Z的袜子(hose)

    Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命-- 具体来说,小Z把这N只 ...

  3. emeditor安装及插件信息

    原文地址:https://www.52pojie.cn/thread-658917-1-1.html 废话不多说 官网:https://www.emeditor.com/download/ 安装版:6 ...

  4. SpringBoot配置嵌入式Servlet容器

    1).如何定制和修改Servlet容器的相关配置: 1.修改和server有关的配置(ServerProperties[也是EmbeddedServletContainerCustomizer]): ...

  5. 开发工具篇:Git和Github

    开发工具篇:Git和Github Git是什么? Git是目前世界上最先进的分布式版本控制系统.工作原理 / 流程: Workspace:工作区 Index / Stage:暂存区 Repositor ...

  6. ios--->const 用法总结

    const 用法总结 宏.变量.常量区分 宏:只是在预处理器里进行文本替换,没有类型,不做任何类型检查,编译器可以对相同的字符串进行优化.只保存一份到 .rodata 段.甚至有相同后缀的字符串也可以 ...

  7. Maven: 把聚合工程下的项目导入 Ecplise

    1.右键点击import 2.Import Existing Maven Projects 3.选择要导入的工程 4.完成

  8. 量子搜索算法 Grover search

    问题定义: Problem: \(f: \{ 0,1,2,3,--,N-1 \} \rightarrow \{0,1\}\) 找到 \(f(x)=1\) 的x 解法 经典解法: 经典解法很简单,就是把 ...

  9. 深入理解python(一)python语法总结:基础知识和对python中对象的理解

    用python也用了两年了,趁这次疫情想好好整理下. 大概想法是先对python一些知识点进行总结,之后就是根据python内核源码来对python的实现方式进行学习,不会阅读整个源码,,,但是应该会 ...

  10. oracle的锁种类知识普及

    锁概念基础 数据库是一个多用户使用的共享资源.当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性. 加 ...