CSS布局:定宽居中布局,两列右侧自适应布局,三列中间自适应布局,全屏自适应布局
标签: css
一、定宽居中 布局:
下面只是其中一种方法,更多方法请参见该文章:狠狠戳我
*{margin: 0;padding: 0;}
.parent{background: #ccc;}
.content{
background: red;
width: 800px; /*1*/
margin: 0 auto; /*2*/
}
</style>
<div class="parent">
<div class="content">dadsa</div>
</div>
效果图:
二、两列右侧自适应 布局:
左边定宽,右边自适应
要求:一个不定宽度的容器被分为左右两列,左边定宽500px,右边自适应剩余宽度,且两列之间间距为10px。
1、方法一:absolute + margin
1) 给定 左的width值
2)左 position: absolute;
3)右 margin-left: 510px;
<style>
*{margin: 0;padding: 0;}
.left{
width:500px; /*1*/
background: blue;
position: absolute; /*2*/ /*relative不行*/
}
.right{
background: orange;
margin-left: 510px; /*3*/ /*width + 10*/
}
</style>
<body>
<div class="parent">
<div class="left">左侧定宽</div>
<div class="right">右侧自适应</div>
</div>
效果图:
2、方法二:float + margin
1)写左元素width值
2)左 float: left;
3)右 margin-left: 510px;
<style>
*{margin: 0;padding: 0;}
.left{
width:500px; /*1*/
background: blue;
float:left; /*2*/
}
.right{
background: orange;
margin-left: 510px; /*3*/ /*width + 10*/
}
</style>
<div class="parent">
<div class="left">左侧定宽</div>
<div class="right">右侧自适应</div>
</div>
效果图:同上
三、三列中间自适应 布局:
左右定宽,中间自适应
要求:一个不定宽度的容器被分为左中右三列,左边定宽300px,右边定宽150px,中间列自适应剩余宽度,且三列之间间距为10px。
1、方法一:absolute + margin
1)写左右元素width值
2) 左右设为:position: absolute;top:0;
3) 左为 left: 0; 右为 right: 0;
4) 中间:margin:0 160px 0 310px;
<style>
*{margin: 0;padding: 0;}
.left,.right,.center{height:300px;}
.left,.right{
position: absolute; /*2*/ /*relative不行*/
top:0; /*2*/
}
.left{
width:300px; /*1*/
background: red;
left: 0; /*3*/
}
.right{
width:150px; /*1*/
background: orange;
right: 0; /*3*/
}
.center{
background: blue;
margin:0 160px 0 310px; /*4*/
}
</style>
<div class="parent">
<div class="left">左侧定宽</div>
<div class="center">中间自适应</div>
<div class="right">右侧定宽</div>
</div>
效果图:
2、方法二:float + margin
1)写左、右元素width值
2)左float: left; 右float: right;
3)中 margin: 0 160px 0 310px;
注意:左、右、中三部分 HTML的顺序不能错。
<style>
*{margin: 0;padding: 0;}
.left,.right,.center{height:300px;}
.left{
width:300px; /*1*/
background: red;
float: left; /*2*/
}
.right{
width:150px; /*1*/
background: orange;
float: right; /*2*/
}
.center{
background: blue;
margin: 0 160px 0 310px; /*3*/
}
</style>
<body>
<div class="parent">
<!-- 注意顺序是左、右、中 -->
<div class="left">左侧定宽</div>
<div class="right">右侧定宽</div>
<div class="center">中间自适应</div>
</div>
效果图:同上
四、全屏自适应 布局:
1、方法一:absolute
<style>
*{margin: 0;padding: 0;}
.header,.left,.right,.footer{
position:absolute;
overflow:auto;
}
.header,.footer{
width:100%;
}
.header,.left,.footer{
left:0;
}
.header{
top:0;
height:100px;
background:red;
}
.left,.right{
top:100px;
bottom:50px;
}
.left{
width:300px;
background:yellow;
}
.right{
left:300px;
right:0;
background:pink;
}
.footer{
bottom:0;
height:50px;
background:gray;
}
</style>
<div class="header"></div>
<div class="left"></div>
<div class="right"></div>
<div class="footer"></div>
效果图:
智能推荐
数据结构与算法C++描述(14)---二叉搜索树
1、二叉搜索树的概念 二叉搜索树是一棵可能为空的二叉树,一棵非空的二叉搜索树有满足如下特征: 二叉树中所有的键值都是唯一的; 根节点所有左子树的键值(如果有的话)小于根节点的键值; 根节点所有右子树的键值(如果有的话)大于根节点的键值; 根节点的左右子树也都是二叉搜索树。 三个二叉搜索树如下: 2、二叉搜索树的C++描述 对于二叉搜索树,主要操作有插入一个元素(Insert)删除键值为k的元素(D...
数据库
什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据。 数据库诞生于1950年,随着信息技术的发展和人类社会的不断进步,特别是2000年后,数据库不在仅仅是存储和管理数据了,而转变成用户所需要的各种数据管理的方式,数据库有很多种类和功能,从最简单的存储有...
Centos7搭建Hadoop3.1.3完全分布模式
详细搭建可以参考我的Hadoop2.8.0安装 准备 本文下载的是3.1.3版本的Hadoop 关闭防火墙 虚拟机的准备 安装3个虚拟机并实现ssh免密码的登录 安装3个centos7虚拟机 安装3个机器,机器分别叫master slave1 slave2 在/etc/hostname下修改主机名 其他两台也是一样 修改主机映射 修改/etc/hosts文件 修改这3台机器的/etc/hosts文...
【u-boot-2016到s5pv210】2.7 uboot NandFlash驱动
【u-boot-2016到s5pv210】2.7 uboot NandFlash驱动 本章的问题: 1 nandflash是flash吗? 2 nandflash的常用接口 3 nandflash的特性是什么? 4 ok210上s5pv210是怎么控制nandflash的 5 u-boot-2016.09.01中,nandflash的流程 6 nandflash在u-boot驱动中的关注点是什么?...
muduo库之thread类
Thread类图 Thread::start()调用的是startThread(…) 关于startThread(…)函数,它的形参是ThreadDate类,下面是该类的结构体 `struct ThreadData { typedef muduo::Thread::ThreadFunc ThreadFunc; ThreadFunc func_; string name_...
猜你喜欢
Qt音视频开发26-ffmpeg播放器
一、前言 用ffmpeg来实现自己的播放器,这是一直以来的一个目标,之前的难点卡在音视频同步以及如何播放声音这两点(尽管之前已经进行过不少的尝试和探索,但是问题还是挺多,比如音视频同步不完美,有些文件正常而有些文件不准,声音播放采用的sdl总感觉多了个依赖怪怪的,而且很多初学者也反映希望采用Qt自身的类来播放),近期正好把这两个难点一一攻破了,音视频同步采用的外部时钟同步,声音播放采用的Qt自带的...
画出时钟并动态同步系统时间之二
画好了轮廓之后(关于画轮廓的内容),我们需要做的是把时针,分针,秒针画出来,单纯地画出来其实也很简单,只要确定终点就行了,起点就是圆心。 先看效果图: Talk is cheap,show you the code. 到了这里,其实主要是获取到的秒,分,时看你怎么用,把它的具体数值转换成角度,再根据角度写出终点的坐标即可实现。 一开始写代码的时候我也是只获取系统的时分秒,没有精确到小数点后的,也就...
二叉树-四种遍历及其他应用
1、先序遍历 先序遍历按照根结点->左孩子->右孩子的顺序进行访问。 1.递归遍历 2.非递归遍历 根据前序遍历访问的顺序,优先访问根结点,然后再分别访问左孩子和右孩子。即对于任一结点,其可看做是根结点,因此可以直接访问,访问完之后,若其左孩子不为空,按相同规则访问它的左子树;当访问完其左子树时,再访问它的右子树。因此其处理过程如下: 代码: 2、中序遍历 中序遍历按照左孩子-根结点-...
HTTP协议
前言 超级详细的HTTP详解 CGI详解 1.HTTP介绍 HTTP是一个简单的协议。客户进程建立一条同服务器进程的TCP连接,然后发出请求并读取服务器进程的响应。服务器进程关闭连接表示本次响应结束。服务器进程返回的文件通常含有指向其他服务器上文件的指针(超文本链接)。用户显然可以很轻松地沿着这些链接从一个服务器到下一个服务器。HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模...
jsx 基本语法
JSX 是一种 JavaScript 的语法扩展,运用于 React 架构中,其格式比较像是模版语言,但事实上完全是在 JavaScript 内部实现的。元素是构成 React 应用的最小单位,JSX 就是用来声明 React 当中的元素,React 使用 JSX 来描述用户界面 1、基本用法 效果见下图 2、三目运算 效果见下图  ...
