flex上下固定中间滚动条

<!DOCTYPE html>

<html>

<head lang="en">

<meta charset="UTF-8">

<title>flex上下固定中间滚动布局</title>

<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">

<style type="text/css">

*{padding: 0;margin: 0;}

html,body{height: 100%}

.wrap{width: 100%;height: 100%;}

.header,.footer{height:40px;line-height:40px;}

.main{overflow:auto;-webkit-overflow-scrolling: touch;}

/* ============================================================

flex:定义布局为盒模型

flex-v:盒模型垂直布局

flex-1:子元素占据剩余的空间

flex-align-center:子元素垂直居中

flex-pack-center:子元素水平居中

flex-pack-justify:子元素两端对齐

兼容性:ios 4+、android 2.3+、winphone8+

============================================================ */

.flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}

.flex-v{-webkit-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}

.flex-1{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}

.flex-align-center{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;}

.flex-pack-center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}

.flex-pack-justify{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}

</style>

</head>

<body>

<div class="wrap flex flex-v">

<div class="header">我想要它固定顶部部</div>

<div class="main flex-1">

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p><input value="54545455654"/></p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

<p>高度自动适应</p>

</div>

<div class="footer">我想要它固定底部<input value="54545455654"/></div>

</div>

</body>

</html>

时间: 2024-08-03 23:31:09

flex上下固定中间滚动条的相关文章

菜单固定随滚动条滑动

//菜单固定随滚动条滑动 function navscroll(id){ var $sidebar = $(id), $window = $(window), offset = $sidebar.offset(), topPadding = 0; $window.scroll(function() { if ($window.scrollTop() > offset.top) { $sidebar.stop().animate({ marginTop: $window.scrollTop() -

flex上下固定中间滚动布局

传统 pc 端中,子容器高度超出父容器高度,通常使用 overflow:auto 可出现滚动条拖动显示溢出的内容,而移动web开发中,由于浏览器厂商的系统不同.版本不同,导致有部分机型不支持对弹性滚动,从而在开发中制造了所谓的 BUG. 上图如果在PC端中,我们可以利用 position:fixed 和 overflow:auto 进行简单的布局实现我们需要的效果,而在手机端遇到的问题如下: ios4 和 android2.2 以下不支持 position:fixed ios 和 android

常见页面布局-头部固定+自定义滚动条

做了一个小demo,属于常见的页面布局应用,适用于IE7+,Chrome,safari,Firefox,Opera,其他浏览器没有测试.应该还有很多小问题,不过这里仅仅是一个小demo,如果有发现一些小问题,可以和我交流,互相学习学习.以下是所有代码: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title&g

阻止嵌套div上滚动条的相互影响

//利用jquery中hover事件,判定是否在DIV上,进而处理整个页面滚动事件 $('.gwcHidden').hover( function(){ var top=$('body').scrollTop(); $(window).scroll(function(){ //滚动时,固定页面滚动条到页顶的高度,使其不滚动 $('body').scrollTop(top); }); },function(){ $(window).off('scroll'); //鼠标移开后,解除固定 });

敏捷测试和瀑布测试的关联

什么是敏捷? 在敏捷开发在软件和互联网产品开发领域日渐普及的情况下,我们从敏捷开发认识敏捷,继而接触到周金根老师的敏捷人生,<managemeng 3.0>又将敏捷的概念带到管理层面,但到目前为止我们谈敏捷都基于一个特定背景,如开发.管理,所以如果脱离背景,敏捷究竟具有哪些特质?和塔勒布先生提出的Anti-fragile有何相同和不同之处? 被浏览 10391 4 个回答 Waterwalker 「敏捷销售」教练,公众号ID: agilesales2015 终于在提出问题一年后可以亲自谈谈对&

溢出处理

什么是溢出? 如果在样式中指定了盒子的宽度与高度,就有可能出现某些内容在盒中容纳不下的情况 针对这种情况,我们可以用overflow属性来指定如何显示盒中容纳不下的内容 同时与overflow相关的属性还有overflow-x,overflow-y,text-overflow属性,这几个属性原本是Internet Explorer 浏览器独自发展出来的属性,由于在css3中被采用,因而得到了其他浏览器的支持 这个属性是在css2中定义的,目前得到了Firefox,Safari,Opera,Int

css样式,边界和边框,格式和布局

1.大小:width:宽:heigh:高 2.背景:1)background-color:背景颜色 2)background-image:背景图片url路径 3)background-repeat:图片的平铺方式.no-repeat:不平铺,repeat:平铺,repeat-x:水平平铺,repeat-y:垂直平铺 4)background-position:图片位置.center,left,right,top,bottom:eg:左上:left 20px top 20px 5)backgrou

什么是敏捷

什么是敏捷? 1 年前 一.从"敏捷开发"说起 "敏捷"概念的引入最先是从软件开发领域引入的.传统的软件开发采用的是瀑布式开发的流程,把整个开发过程分成了收集需求.定义.设计.编码.测试.发布等阶段,每个阶段设定明确的目标和标准,达成后再进入下一个阶段,整个过程沿着可预测性逐步增加的方向前进,可以避免资源的无效投入,并有效地保证开发质量. 但问题在于瀑布式开发这种预定义过程的方法,每个阶段之间都有强烈的依赖关系,前一个阶段被视为后一个阶段的输入,如果输入质量不高,便

敏捷(Agile)——“说三道四”

可以这么理解:一种以人为本.团队合作.快速响应变化和可工作的软件作为宗旨的开发方法.亦可理解为在一个高度协作的环境中,不断地使用反馈进行自我调整和完善,持续交付用户想要的软件的过程.敏捷开发提倡通过多种工程实践来提高交付质量,如自动化测试.持续集成.重构.结对编程.代码的集体所有权等,比传统的设计-开发-测试-修改流程有更高的成效. 前辈们"筚路蓝缕"无私付出造就了敏捷开发,使软件界不能承受之"重"变得轻盈,让我们能够站在巨人的肩膀上展望软件界.现在我们就开始敏捷之