最近在重构web导航的时候就发现一个问题,如何实现顶部固定,中部自适应的布局。

很多人会认为这很简单啊,顶部使用position: fixed;就可以实现。

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><title>顶部固定,中部自适应</title><style type="text/css">* {margin: 0;padding: 0;}.hd {position: fixed;z-index: 99;top: 0;width: 100%;height: 20px;padding: 15px 0;text-align: center;color: #fff;background: #f00;}.bd {width: 100%;margin-top: 50px;padding: 15px 0;text-align: center;color: #fff;background: #00f;}</style>
</head><body><header class="hd">我是固定头部</header><div class="bd">我是中部部分<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>超出的部分滚动</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><p>超出的部分滚动</p></div>
</body></html>

这种做法确实简单,但是,请看清题目,顶部固定,中部自适应。(顶部不包括滚动条)

花了一点时间的思考,终于想出来了,中部使用position:absolute;就可以实现。

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><title>顶部固定,中部自适应</title><style type="text/css">* {margin: 0;padding: 0;}.hd {width: 100%;height: 50px;padding: 15px 0;text-align: center;color: #fff;background: #f00;}.bd {position: absolute;top: 50px;/* 往下移顶部的距离 */bottom: 0;/* 底部贴边 */overflow: auto;/* 溢出的部分自适应 *//* 不设置高度 */width: 100%;padding: 15px 0;text-align: center;color: #fff;background: #00f;}</style>
</head><body><header class="hd">我是固定头部</header><div class="bd">我是中部部分<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>超出的部分滚动</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><p>超出的部分滚动</p></div>
</body></html>

PS:这种做法的好处是不占顶部宽度,顶部100%显示全部区域,特别适用于针对右上角有菜单导航的页面。

转载于:https://www.cnblogs.com/Sroot/p/7636851.html

简单实现顶部固定,中部自适应布局相关推荐

  1. 三列布局-中间固定俩边自适应-和两边固定中间自适应布局

    中间固定俩边自适应 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8" ...

  2. vue css页面滚动,无滚动条, 实现顶部导航固定,自适应布局 main标签+calc()

    前言: 在写app的时候我们经常使用的是导航固定,内容滚动,以前经常使用的是better-scroll插件,后来碰到了点bug,现在改使用main标签了 效果图: (顶部导航固定,内容页滚动) 页面布 ...

  3. div css左边固定右边自适应布局

    web前端开发之布局:先看效果图,最简单的左右布局.有可能还会被面试问道哈哈哈.一看也没什么特别之处,就是左边固定,右边自适应,就这么简单. 原理:通过设置一个margin-left;或者margin ...

  4. 上下定高 中间自适应_上下固定中间自适应布局

    1. 使用绝对定位 对这三栏都实现绝对定位,其中中间绝对定位的位置是上下两栏的高度,内容超出则中间部分出现流动条: 代码实现: 绝对定位实现 html,body,div{ padding:0; mar ...

  5. html固定中心,css 两边固定中间自适应布局的实现

    解析四种常用方法以及原理:浮动.浮动内嵌 div.定位.flex. 浮动 .wrap {background: #eee; padding: 20px; } p {margin: 0; } .left ...

  6. flex 实现左边固定右边自适应布局

  7. div固定在浏览器顶部_手写几种常见的css布局,1垂直两栏左边固定右边自适应,垂直3栏左右固定中间自适应...

    1垂直两栏右边固定左边自适应的四种写法 <!DOCTYPE html> <html lang="en"><head><meta chars ...

  8. 谈谈利用JavaScript结合相对单位rem实现自适应布局的简单而实用的方法

    谈谈利用JavaScript结合相对单位rem实现自适应布局的简单而实用的方法 rem是css3新增的一个相对单位,相对的只是HTML根元素,可以只修改根元素字体大小就可以成比例地调整所有字体大小.我 ...

  9. 使用移动自适应布局+easy mock实现移动界面的简单实现

    一.使用easy mock模拟数据 easy mock链接地址 二.自己写移动自适应布局 自己编写主要是利用rem进行宽度栅格布局: html {/* 相当于一个界面适配器,pc以及移动端都可以进行设 ...

最新文章

  1. python模块手册_python模块说明
  2. default argument given of parameter 的问题
  3. 【已解决】虚拟机提示VMware Workstation cannot connect to the virtual machine的问题
  4. 关于Darwin接入私有协议、私有SDK码流的讨论
  5. .netframewor划时代的系统:纪念Vista发布5周年
  6. redis 异常解决办法
  7. 在多媒体计算机中静态媒体是指,《多媒体技术及应用》按章复习题
  8. 实现内外网互通-概述
  9. 软件工程课程课后大作业
  10. pr剪辑打开多个项目_写给后期剪辑新手的PR软件基础操作全流程指南
  11. java中 字符串的补位
  12. python下载西瓜视频2020最新思路
  13. IDEA配置及常用设置
  14. 对于干涉仪二维测向的一些要点
  15. vue 数组中不满足条件跳出循环
  16. CG基础教程-陈惟老师十二讲笔记
  17. 功能最全的浏览器是什么
  18. linux卸载clamav,CentOS下ClamAV反病毒软件包更新
  19. 树莓派魔镜MagicMirror —— 2 烧写系统卡
  20. 对设备的控制和远程控制方式

热门文章

  1. Google Mesa概览
  2. ad network
  3. javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver错误解决办法...
  4. JavaScript URL参数读取
  5. 把ASP应用中的Session传递给asp.net应用
  6. 安装上 Octotree 插件让你更加方便的阅读 gitHub 中的代码
  7. es6 --- 使用yield*命令遍历完全二叉树
  8. ES6-2 块级作用域与嵌套、let、暂行性死区
  9. 第二十二章:动画(六)
  10. Retrofit2源码解析——网络调用流程(下)