day09—css布局解决方案之全屏布局
转行学开发,代码100天——2018-03-25
今天,本文记录全屏布局的的方法。全屏布局,即滚动条不是全局滚动条,而是出现在内容区域内,;浏览器变大时,撑满窗口。
如:设置下图中布局,其中top区,left区固定宽度,right(inner)区自适应
主要实现方法有:
- 使用position方法
即将上下部分固定,中间部分使用定宽+自适应+两块高度一样高方法。
程序代码:
<div class="parent">
<div class="top">top</div>
<div class="left">left</div> <div class="right">
<div class="inner">inner<br/>inner<br/>inner<br/>inner<br/>inner<br/>inner<br/>inner<br/></div>
</div>
<div class="bottom">bottom</div>
</div>
样式表:
*
{
margin:0;
padding: 0;
}
html,body,.parent
{
margin: 0;
height: 100%;
overflow: hidden; }
body
{
color: white;
}
.top
{
position: absolute;
top:0;
left:0;
right: 0;
height: 100px;
background-color: blue;
}
.left
{
position: absolute;
left: 0;
top: 100px;
bottom: 50px;
width: 200px;
background-color: red;
}
.right
{
position: absolute;
left: 200px;
top: 100px;
bottom: 50px;
right: 0;
background-color: pink;
overflow: auto; //设置right区内容自动适应,滚动条为局部滚动条 }
.right .inner
{
min-height: 1000px;
}
.bottom
{
position: absolute;
left: 0;
bottom: 0;
right: 0;
height: 40px;
background-color: black;
}
该方法兼容性较好,但是不支持ie6以下浏览器。
- 使用flex方法
实现方法:通过设置flex属性和flex-direction属性以达到全屏布局。
即在right区增加一个父框middle,并设置属性flex属性及flex显示。
程序代码:
<div class="parent">
<div class="top">top</div>
<div class="middle">
<div class="left">left</div>
<div class="right">
<div class="inner">right</div>
</div>
</div>
<div class="bottom">bottom</div>
</div>
html,body,.parent
{
margin:0;
height: 100%;
overflow: hidden;
}
body
{
color: white;
}
.parent
{
display: flex;
flex-direction: column;
}
.top
{
height:100px;
background-color: blue;
}
.bottom
{
height: 50px;
background-color: black;
}
.middle
{
flex: 1;
display: flex;
}
.left
{
width: 200px;
overflow: auto;
background-color: red;
}
.right
{
flex: 1;
overflow: auto;
background-color:pink;
}
.right .inner
{
min-height: 1000px;
}
缺点即是兼容性差(flex属性)。
....
或者,我们依然可以选择表格方法实现这样的布局,根据所用平台,结合各方法的优缺点选择。
至此,已经完成CSS布局的居中、多列和全屏的解决方案。后期会继续优化这些方法的应用,附上一些案列。
本文加之前的两篇关于布局的内容并非我本人原创,只是在网上看到的一篇文章,记录详细(虽有些小错误),总结到位,在此向前辈表示感谢。
由此,也对自己提出更高要求,在学习的过程中,要善于总结、比较,继续精进!
day09—css布局解决方案之全屏布局的更多相关文章
- CSS全屏布局的5种方式
× 目录 [1]float [2]inline-block [3]table[4]absolute[5]flex[6]总结 前面的话 全屏布局在实际工作中是很常用的,比如管理系统.监控平台等.本文将介 ...
- CSS全屏布局的6种方式
前面的话 全屏布局在实际工作中是很常用的,比如管理系统.监控平台等.本文将介绍关于全屏布局的6种思路 float [1]float + calc 通过calc()函数计算出.middle元素的高度,并 ...
- iOS 全屏布局
edgesForExtendedLayout属性用于替代wantsFullScreenLayout,控制页面显示的范围,默认值是UIRectEdgeAll automaticallyAdjustsSc ...
- Css学习总结(3)——CSS布局解决方案 - 水平、垂直居中、多列布局、全屏布局
居中布局 水平居中 子元素于父元素水平居中且其(子元素与父元素)宽度均可变. inline-block + text-align <div class="parent"> ...
- 基于animate.css动画库的全屏滚动小插件,适用于vue.js(移动端、pc)项目
功能简介 基于animate.css动画库的全屏滚动,适用于vue.js(移动端.pc)项目. 安装 npm install vue-animate-fullpage --save 使用 main.j ...
- CSS+DIV两栏式全屏布局
在网上找了很久,发现大部分都是固定宽度设置两栏,全屏情况下的布局很少.最后终于完成了,写出来备查,也供大家参考. <!DOCTYPE html PUBLIC "-//W3C//DTD ...
- IPhoneX网页布局 全屏布局(转)
IPhoneX全面屏是十分科技化的,但是由于其圆角和摄像头刘海位置以及操控黑条的存在使得我们需要去对其样式做一些适配,没有X的同学可以开启 Xcode 9 的iPhone X 模拟器作为学习和调试. ...
- day08—css布局解决方案之多列布局
转行学开发,代码100天——2018-03-24 本文将记录CSS布局之垂直布局解决方案. 常见的多列布局包括以下: 1.定宽+自适应 2.两列定宽+一列自适应 3.不定宽+自适应 4.两列不定宽+一 ...
- css背景图自适应全屏显示
前几天我在写一个前端页面的时候,需要用到全屏背景图,但是怎么写都不行(要么不全屏,要么不兼容Bootstrap的响应式布局).对,是我腊鸡 后来我在网上找的时候找到一个大神写的笔记,参(照)考(抄)之 ...
随机推荐
- CentOS7 修复grub.cfg文件
为了达到实验目的,首先删除grub.cfg文件 重启后发现系统进不去了,这正是我们想要的 进入系统救援模式,通过输入以下命令修复grub.cfg文件 重启后发现能正常引导进入系统了
- Java-Lambda表达式第一篇认识Lambda表达式
1.Lambda表达式时Java 8新增的特性.Lambda表达式支持将代码块作为方法参数,Lambda表达式允许使用更简洁的代码创建只有一个抽象方法的接口(即函数式接口)的实例. 2.当使用Lamb ...
- java_第一年_JDBC(5)
事务概念:事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功: 开始事务:start transaction 提交事务:commit 回滚事务:rollback 事务的四大特 ...
- React中state和props分别是什么?
整理一下React中关于state和props的知识点. 在任何应用中,数据都是必不可少的.我们需要直接的改变页面上一块的区域来使得视图的刷新,或者间接地改变其他地方的数据.React的数据是自顶向下 ...
- hdu6351 Beautiful Now (全排列+循环节)
题目传送门 题意: 给你n和k,你每次能交换n的两个位,问最多k次后的最小和最大值 思路: 考虑到n到1e9,所以可以用全排列来暴力,但是我们不能全排列之前的数位, 因为n中的位数可能相等,那样很难计 ...
- Django - Xadmin (三) 分页、搜索和批量操作
Django - Xadmin (三) 分页.搜索和批量操作 分页和 ShowList 类 因为 list_view 视图函数里面代码太多,太乱,所以将其里面的用于处理表头.处理表单数据的关键代码提取 ...
- call apply bind的使用方法和区别
call 1.改变this指向 2.执行函数 3.传参 var obj={}; function fun(a,b){ console.log(a,b,this); } fun(1,2); / ...
- hr员工数据分析(实战)
hr员工数据分析项目实战 (数据已脱敏) 背景说明 某公司最近公司发生多起重要员工意外离职.部分员工工作缺乏积极性等问题,受hr部门委托,开展数据分析工作. 经与hr部门沟通,确定以下需求: 制定数据 ...
- 记一次 gunicorn 启动 flask 出问题的经历
出错现象: gunicorn+nginx+flask 部署项目, 部署过程没问题,项目也正常启动了,但是一旦访问接口,就会报错: Traceback (most recent call last): ...
- random模块 os模块
# random# import random# random.random() # 大于0且小于1之间的小数# random.randint() # 大于等于1且小于等于3之间的整数# random ...