CSS布局总结(二)
前言:今天实训课依旧很水,继续总结,今天主要补了一下布局的知识。响应式的作业还没做完...
一、两列布局
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布局总结(二)的更多相关文章
- 只需5分钟!一文读懂CSS布局(二) -- flex布局
目录 简介 基本概念 容器属性 1. flex-direction 测试代码 2. flex-wrap 3. flex-flow 4. justify-content 5. align-items 6 ...
- CSS布局(二)
本节内容:position.float.clear.浮动布局例子.百分比宽度 position CSS中的position属性设置元素的位置.属性值:static.relative.fixed.abs ...
- css布局详解(二)——标准流布局(Nomal flow)
css标准流布局(Nomal flow) 一.正常流 这是指西方语言中文本从左向右,从上向下显示,这也是我们熟悉的传统的HTML文档中的文本布局.注意,在非西方的语言中,流方向可能不同.大多数元素都在 ...
- 从零开始学习html(十二)CSS布局模型——上
一.css布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了. 布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之 ...
- 基本CSS布局二
基本CSS布局二------基本页面布局二 /*主面板样式*/ #container { width:100%; margin:0px auto;/*主面板DIV居中*/ } /*顶部面板样式*/ # ...
- css进阶之二:flex弹性布局
布局模式是指一个盒子与其兄弟.祖先盒的关系决定其尺寸与位置的算法.css2.1中定义了四种布局模式,分别是块布局.行内布局.表格布局.以及定位布局.css3引入了新的布局模式Flexbox布局,灵活度 ...
- CSS布局秘籍(1)-任督二脉BFC/IFC
01.CSS布局 1.1.正常布局流(Normal flow) 正常布局流 就是不做任何布局控制,按照HTML的顺序(从左到右,从上而下)进行布局排列.网页基于盒子模型进行正常的布局,主要特点: 盒子 ...
- CSS布局 - 三栏布局
CSS布局技术可谓是前端技术中最基础的技术,就是因为基础,所以我认为要更加熟练,深入的去掌握,去梳理. 一. 传统 ---> 浮动实现的三栏布局 采用浮动实现的三栏布局有以下特点及注意事项: · ...
- CSS布局经典—圣杯布局与双飞翼布局
在我之前的博客网页整体布局完全剖析-剖完你不进来看一下么?中总结单列.两列.三列固宽与变宽布局,我还以为已经囊括了所有经典的网页布局方法了呢,当然除了CSS3的弹性盒模型没有涉及到,现在看来确实是自己 ...
- html学习第三天—— 第12章——css布局模型
清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上,又不同于我们常说的 ...
随机推荐
- WSDL详解(一)
WSDL文档使用web服务描述语言来定义服务. 文档包括逻辑(抽象)部分和具体部分. 抽象部分用于定义独立于实现的数据类型和消息,具体部分定义一个endpoint如何实现一个可以与外界进行交互的服务. ...
- 【Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) B】Weakened Common Divisor
[链接] 我是链接,点我呀:) [题意] 给你n个数对(ai,bi). 让你求一个大于1的数字x 使得对于任意的i x|a[i] 或者 x|b[i] [题解] 求出第一个数对的两个数他们有哪些质因子. ...
- String 字符串的追加,数组拷贝
package chengbaoDemo; import java.util.Arrays; /** *需求:数组的扩容以及数据的拷贝 *分析:因为String的实质是以字符数组存储的,所以字符串的追 ...
- hdu 1385 floyd记录路径
可以用floyd 直接记录相应路径 太棒了! http://blog.csdn.net/ice_crazy/article/details/7785111 #include"stdio.h& ...
- SQL优化-标量子查询(数据仓库设计的隐患-标量子查询)
项目数据库集群出现了大规模节点宕机问题.经查询,问题在于几张表被锁.主要问题在于近期得几个项目在数据库SQL编写时大量使用了标量子查询. 为确定为题确实是由于数据表访问量超过单节点限制,做了一些测试. ...
- dtd对xml没有起到约束作用
问题如题. dtd: xml: BUG很明显,但是xml并没有提示错误信息.xml文档校验设置正常. 此处原因: dtd中元素与子元素设置之间缺少空格: 加上空格后正常报错:
- ajax短轮询+php与服务器交互制作简易即时聊天网站
主流的Web端即时通讯方案大致有4种:传统Ajax短轮询.Comet技术.WebSocket技术.SSE(Server-sent Events). 本文主要介绍ajax短轮询的简易实现方式. 看懂此文 ...
- c#远程链接服务器中MySQL
转自原文 c#远程链接服务器中MySQL 1.要连接MySQL数据库必须首先下载mysql官方的连接.net的文件,文件下载地址为http://dev.mysql.com/downloads/conn ...
- MongodDB用GridFS方式存取文件
在实现GridFS方式前我先讲讲它的原理,为什么可以存大文件.驱动首先会在当前数据库创建两个集合:"fs.files"和"fs.chunks"集合,前者记录了文 ...
- canvas绘制爱心
需求:绘制爱心图像轨迹. 实现:直接贴代码吧! 预览地址:https://codepen.io/wzc570738205/pen/dqqBpj <!DOCTYPE> <html> ...