前言:今天实训课依旧很水,继续总结,今天主要补了一下布局的知识。响应式的作业还没做完...

一、两列布局

html部分

    <div class="parent">
<div class="left">left</div>
<div class="right">
<p>right</p>
<p>right</p>
<p>right</p>
<p>right</p>
<p>right</p>
</div>
</div>

总体样式(为啥粘上去这么乱的...)

div{
border:1px solid #444;
}
.parent{
background-color: #eee;
}
.left{
background-color: yellow;
}
.right{
background-color: pink;
}
  • 一列定宽,另一列自适应,两列的高度不会同时增加
.left{
float: left;
width:100px;
} .right{
margin-left:120px;
}
.parent{
position: relative;
}
.left{
position: absolute;
width:100px;
}
.right{
margin-left: 100px;
}
  • 其中一列定宽或者不定宽都可以,另一列自适应,两列的高度不会同时增加
.left{
float: left;
margin-right:20px;
} .right{
overflow: hidden;
}
  • 表格布局,父元素为table,子元素为table-cell,可以同时增加高度,如果不设置宽度,两者宽度相等
.parent{
display: table;
width:100%;
}
.left,.right{
display: table-cell;
} .left{
width:100px;
}
  • flex 两边高度会同时增加
.parent{
display: flex;
}
.left{
width: 100px;
}
.right{
flex:;
}
  • 表格布局,高度会同时增加
.parent{
display: grid;
grid-template-columns: 1fr 1fr;
}

二、三列布局

这里主要记录两个经典布局

主要样式

div{
border:1px solid #ccc;
box-sizing: border-box;
} .middle{
background-color:#eee;
} .content{
background-color: purple;
} .left{
background-color: yellow;
} .right{
background-color: pink;
}
  • 双飞翼布局
<div class="container">
<div class="middle">
<div class="content">
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
</div>
</div>
<div class="left">
<p>left</p>
</div>
<div class="right">
<p>right</p>
<p>right</p>
<p>right</p>
</div>
</div>
<!--1. 注意div的顺序 -->
<!--2. .middle设置width:100%; .middle,.left,.right都为float:left,此时它们将分别占据1、2、2 行 -->
<!--3. 为了让.left回到第一行的最左边,则需要设置margin-left:-100%; 为了让.right回到第一行的末尾,则需要设置margin-right:-自身的宽度 -->
<!--4. 此时三者在同一行,但是middle的内容会被遮挡住,故此时应该设置middle里面的content内容,则content设置:margin:0 right的宽度 0 left的宽度 --> <!--p.s. 三列布局不等高 -->
 
.container{
width:100%;
}
.middle{
float: left;
width:100%;
}
.left{
width:200px;
float: left;
margin-left: -100%;
} .right{
width:300px;
float: left;
margin-left: -300px;
} .content{
margin: 0 300px 0 200px;
}
  • 圣杯布局
<div class="container">
<div class="middle">
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
</div>
<div class="left">
<p>left</p>
</div>
<div class="right">
<p>right</p>
<p>right</p>
<p>right</p>
</div>
</div> <!--p.s. 一开始跟双飞翼布局有点像 -->
<!--1. 注意div的顺序 -->
<!--2. .middle设置width:100%; .middle,.left,.right都为float:left,此时它们将分别占据1、2、2 行 -->
<!--3. 为了让.left回到第一行的最左边,则需要设置margin-left:-100%; 为了让.right回到第一行的末尾,则需要设置margin-right:-自身的宽度 --> <!--4. 由于middle的内容被遮挡,此时是 设置container的padding:0 right的宽度 0 left的宽度-->
<!--5 此时内部直接往中间缩,则需要这是.left{position:relative;left:-自身的宽度;} .right{position:relative;right:-自身的宽度;-->
.container{
width:100%;
padding:0 300px 0 200px;
background-color: #7e7e7e;
}
.middle{
float: left;
width:100%; }
.left{
width:200px;
float: left;
margin-left: -100%;
position: relative;
left:-200px;
} .right{
width:300px;
float: left;
margin-left: -300px;
position: relative;
right:-300px;
}

CSS布局总结(二)的更多相关文章

  1. 只需5分钟!一文读懂CSS布局(二) -- flex布局

    目录 简介 基本概念 容器属性 1. flex-direction 测试代码 2. flex-wrap 3. flex-flow 4. justify-content 5. align-items 6 ...

  2. CSS布局(二)

    本节内容:position.float.clear.浮动布局例子.百分比宽度 position CSS中的position属性设置元素的位置.属性值:static.relative.fixed.abs ...

  3. css布局详解(二)——标准流布局(Nomal flow)

    css标准流布局(Nomal flow) 一.正常流 这是指西方语言中文本从左向右,从上向下显示,这也是我们熟悉的传统的HTML文档中的文本布局.注意,在非西方的语言中,流方向可能不同.大多数元素都在 ...

  4. 从零开始学习html(十二)CSS布局模型——上

    一.css布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了. 布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之 ...

  5. 基本CSS布局二

    基本CSS布局二------基本页面布局二 /*主面板样式*/ #container { width:100%; margin:0px auto;/*主面板DIV居中*/ } /*顶部面板样式*/ # ...

  6. css进阶之二:flex弹性布局

    布局模式是指一个盒子与其兄弟.祖先盒的关系决定其尺寸与位置的算法.css2.1中定义了四种布局模式,分别是块布局.行内布局.表格布局.以及定位布局.css3引入了新的布局模式Flexbox布局,灵活度 ...

  7. CSS布局秘籍(1)-任督二脉BFC/IFC

    01.CSS布局 1.1.正常布局流(Normal flow) 正常布局流 就是不做任何布局控制,按照HTML的顺序(从左到右,从上而下)进行布局排列.网页基于盒子模型进行正常的布局,主要特点: 盒子 ...

  8. CSS布局 - 三栏布局

    CSS布局技术可谓是前端技术中最基础的技术,就是因为基础,所以我认为要更加熟练,深入的去掌握,去梳理. 一. 传统 ---> 浮动实现的三栏布局 采用浮动实现的三栏布局有以下特点及注意事项: · ...

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

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

  10. html学习第三天—— 第12章——css布局模型

    清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上,又不同于我们常说的 ...

随机推荐

  1. echart全局属性,自用,搜索比较快

    // 全图默认背景  // backgroundColor: ‘rgba(0,0,0,0)’, // 默认色板 color: ['#ff7f50','#87cefa','#da70d6','#32cd ...

  2. js:Array对象常用方法介绍

    前言 在js中,数组作为一个特殊的对象.是我们常用的数据格式.今天就来梳理一下常用的数组方法. 1.基础 几种基础的就简单介绍一下:创建数组 var arr1 = new Array(); //括号可 ...

  3. position:fixed div如何居中

    div{position:fixed;margin:auto;left:0; right:0; top:0; bottom:0;width:200px; height:150px;}

  4. hdu 4079简单贪心

    #include<stdio.h> #include<string.h> #define ll __int64 #define N 11000 struct node { in ...

  5. Elasticsearch 三种分页方式

    from + size 浅分页 "浅"分页可以理解为简单意义上的分页.它的原理很简单,就是查询前20条数据,然后截断前10条,只返回10-20的数据.这样其实白白浪费了前10条的查 ...

  6. NetOps Defined

    https://www.logzilla.net/2017/06/20/the-network-operations-top-5.html

  7. RabbitMQ从入门到精通

    RabbitMQ从入门到精通 学习了:http://blog.csdn.net/column/details/rabbitmq.html RabbitMQ是AMQP(advanced message ...

  8. Java 微信公众号上传永久素材的方法

    Java 微信公众号上传永久素材的方法 学习了:http://blog.csdn.net/u013791374/article/details/53258275 膜拜一下,源码如下: @Request ...

  9. [Angular] ngx-formly (AKA angular-formly for Angular latest version)

    In our dynamic forms lessons we obviously didn’t account for all the various edge cases you might co ...

  10. hdu 3697 Selecting courses (暴力+贪心)

    Selecting courses Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 62768/32768 K (Java/Others ...