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的响应式布局).对,是我腊鸡 后来我在网上找的时候找到一个大神写的笔记,参(照)考(抄)之 ...
随机推荐
- java_第一年_JDBC(7)
Commons-dbutils是一个开源的JDBC工具类库,对JDBC进行封装,简化编码的工作量,包含的API: org.apache.commons.dbutils.QueryRunner org. ...
- Runnable和Thread区别和比较
在很多博客中用这样一个例子来说明 Runnable更容易实现资源共享,能多个线程同时处理一个资源. 看代码: public static void main(String[] args) { new ...
- centos安装httprunner方法
测试脚本执行的环境部署(在jenkins服务器中,要求jenkins服务器和目标的灰度环境是连通的): 一.安装python3.8 $python#看见2.6.6Python 2.6.6 (r266: ...
- Leetcode Lect7 哈希表
传统的哈希表 对于长度为n的哈希表,它的存储过程如下: 根据 key 计算出它的哈希值 h=hash(key) 假设箱子的个数为 n,那么这个键值对应该放在第 (h % n) 个箱子中 如果该箱子中已 ...
- asp.net中的<% %>,<%= %>,<%# %><%$ %>的使用
原文:https://www.cnblogs.com/Hackerman/p/3857630.html 首先我们来看一下<% %>的使用 在aspx的页面中只能使用服务器控件和一般的控件, ...
- document.body.scrollTop值为0的解决方法[转]
做页面的时候可能会用到位置固定的层,读取document.body.scrollTop来设置层的位置,像这样, window.onscroll=function () { ...
- 银联银行卡查询服务-dubbo实现
最近看到银联开放了一个银行卡查询的服务,具体内容见官网https://open.unionpay.com/tjweb/api/detail?apiSvcId=51 尝尝鲜 在文档下载目录下,下载upa ...
- etc/pass命令列表
用户 密码 用户UID 用户组GID 备注 home目录位置 默认shell root x 0 0 root /root /bin/bash daemon x 1 1 daemon /usr/sbin ...
- Taro -- 微信小程序登录
Taro微信小程序登录 1.调用Taro.login()获取登录凭证code: 2.调用Taro.request()将code传到服务器: 3.服务器端调用微信登录校验接口(appid+appsecr ...
- java通过图片URL下载图片
public InputStream getInputStream(String imgUrl) { InputStream inputStream = null; try{ HttpURLConne ...