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 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上,又不同于我们常说的 ...
随机推荐
- 【JavaScript框架封装】实现一个类似于JQuery的事件框架的封装
// 事件框架 (function (xframe) { // 需要参与链式访问的(必须使用prototype的方式来给对象扩充方法) xframe.extend({ /** * 实现一个浏览器的基本 ...
- Project Euler 23 Non-abundant sums( 整数因子和 )
题意: 完全数是指真因数之和等于自身的那些数.例如,28的真因数之和为1 + 2 + 4 + 7 + 14 = 28,因此28是一个完全数. 一个数n被称为亏数,如果它的真因数之和小于n:反之则被称为 ...
- TCP连接的11中状态
1.CLOSED:初始状态,表示TCP连接时关闭状态,没有任何连接. 2.LISTEN:表示服务器端的某个SOCKET处于监听状态,可以接收客户端的连接请求. 3.SYN_RCVD:表示服务器接收到来 ...
- Spring 使用外部属性文件配置
1.Spring提供了一个PropertyPlaceholderConfigurer的BeanFactory后置处理器,这个处理器允许用户将Bean的配置的部分内容 移到属性文件中.可以在Bean配置 ...
- j2ee消息中间件
http://blog.csdn.net/apanious/article/details/51014396
- redis helloworld
一.启动 redis 服务 [root@MyLinux bin]# ./redis-server redis.conf 二.使用客户端连接服务 [root@MyLinux bin]# ./redis- ...
- BindingResult不能获取错误对象
BindingResult不能获取错误对象,代码如下: @RequestMapping(value = "/login") public String error4( Model ...
- Spring 注解学习笔记
声明Bean的注解: @Component : 组件,没有明确的角色 @Service : 在业务逻辑层(service层)使用 @Repository : 在数据访问层(dao层)使用. @Cont ...
- tomcat设置编码utf8
1. Java类: CharacterEncodingFilter import javax.servlet.*; import java.io.IOException; public ...
- [SharePoint2010开发入门经典]创建你的第一个SPS2010程序
本章概要: 1.创建一个解决方案,使他能读写数据从列表中,使用服务器端对象模型和可视的web部件 2.使用VS2010构建部署解决方案 3.使用图标web部件渲染列表数据 4.在一个解决方案中集成不同 ...