CSS-布局3-圣杯布局

简介: 1、圣杯布局概述圣杯布局是有淘宝的工程师提出,巧妙的利用我们介绍过的定位技术、负边距、相对定位、浮动、组合运用。轻松实现常见布局。  我们在前面介绍过,使用浮动特性,实现三列布局,但是使用div布局,有一个问题,那就是内容区,在左边区和右边区之后渲染。

1、圣杯布局概述

圣杯布局是有淘宝的工程师提出,巧妙的利用我们介绍过的定位技术、负边距、相对定位、浮动、组合运用。轻松实现常见布局。
  我们在前面介绍过,使用浮动特性,实现三列布局,但是使用div布局,有一个问题,那就是内容区,在左边区和右边区之后渲染。下面我们使用圣杯布局的思路,实现一个内容区渲染在前的三列布局。

2、圣杯布局实现步骤

(1)负边距技术实现初步效果
可以参考负边距定位章节,了解实现细节。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>圣杯布局</title>
    <style type="text/css">
        *{
            margin:0px;
            padding:0px;
        }
        .header{
            background : yellow;
        }
        .left{
            width:198px;
            height:200px;
            float:left;
            border: 1px solid red;
            margin-left :-100%;
        }
        .right{
            width:198px;
            height:200px;
            border: 1px solid blue;
            float: left;
            margin-left :-200px;
        }
        .center{
            width : 100%;
            height:200px;
            float: left;
            background :gray;
        }
        .footer{
            clear:both;
            background : blue;
        }
    </style>
</head>
<body>
    <div class="header">heder</div>
    <div class="container">
        <div class="center">center</div>
        <div class="left">left</div>
        <div class="right">right</div>
    </div>
    <div class="footer">footer</div>
</body>
</html>

运行效果:


image.png

(2)利用padding实现,将center元素固定在中间

.container{
    padding-left:200px;
    padding-right:200px;
    height:200px;
}

运行效果:

image.png

(3)利用相对定位技术,将元素拉回左边和右边
left 添加如下样式:

position:relative;
left:-200px;

right 添加如下样式:

position:relative;
right:-200px;

运行效果:


image.png

3、布局缺陷
(1)左边区块和右边区块,利用了相对布局。
(2)内容区高度塌陷。

相关文章
|
1月前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。
|
21天前
|
前端开发 JavaScript 开发者
掌握 CSS 弹性布局(Flexbox):构建复杂页面布局的高效秘籍与实战案例
CSS弹性布局(Flexbox)是现代网页设计中构建复杂页面布局的高效工具。本文将深入浅出地介绍Flexbox的核心概念、使用技巧及实际应用案例,帮助读者快速掌握这一强大布局方法。
|
1月前
|
前端开发 容器
实现CSS品字布局
【10月更文挑战第27天】
|
2月前
|
前端开发 容器
使用 CSS Grid 布局实现响应式设计
【10月更文挑战第1天】使用 CSS Grid 布局实现响应式设计
59 4
|
7月前
|
Web App开发 XML 前端开发
CSS中的非布局样式+CSS布局 前端开发入门笔记(十一)
CSS中的非布局样式+CSS布局 前端开发入门笔记(十一)
79 0
|
前端开发
网站开发之DIV+CSS简单布局网站入门篇(五)
这篇文章主要介绍如何使用DIV和CSS简单布局一个网站的首页,通常将网站划分为顶部(Logo、导航条)、中部(页面主要内容、左右栏目)、底部(制作方介绍、超链接)。这是非常基础的一篇引入性文章,采用案例的方式进行介绍的,希望对你有所帮助。运行结果如下图所示:main.html主页面代码:主要通过di
3632 0
|
前端开发 容器 JavaScript
CSS Grid布局入门
相信大家都比较熟悉flex布局了,最近有空研究了波grid布局,感觉虽然兼容性还不是太高,应用不是太普遍,但是功能非常强大。未来应该是grid+flex为主流,grid是二维布局,很灵活,适合整体构架,而flex是一维布局,适合处理局部细节。
1183 0
|
前端开发 JavaScript
|
Web App开发 前端开发 容器
CSS布局快速入门
最近因为项目需要,不得不重新看看CSS/HTML之类的东西,不看不要紧,一看吓一跳 原来不知道真的是太多,以前从未认真对待过,这次总结了一下学习所得,算是对自己 有个交代,也可能让想了解CSS/HTML布局应用的朋友快速入门: 1. CSS 与HTML元素直接关联,以HTML h1元素为例。
862 0