页面布局的方式——前端

文章目录

  • 页面布局的方式——前端
    • 页面布局的方式
    • 双飞翼布局
    • 多栏布局
    • 弹性布局(Flexbox)
    • 瀑布流布局
    • 流式布局(Fluid)
    • 响应式布局

页面布局的方式

页面布局的方式主要有:双飞翼、多栏、弹性、流式、瀑布流、响应式布局。

双飞翼布局

经典三列布局,也叫做圣杯布局【Holy Grail of Layouts】是Kevin Cornell在2006年提出的一个布局模型概念,在国内最早是由淘宝UED的工程师传播开来,在中国也有叫法是双飞翼布局,它的布局要求有几点:
a、三列布局,中间宽度自适应,两边定宽;
b、中间栏要在浏览器中优先展示渲染;
c、允许任意列的高度最高;
d、要求只用一个额外的DIV标签;
e、要求用最简单的CSS、最少的HACK语句;
在不增加额外标签的情况下,圣杯布局已经非常完美,圣杯布局使用了相对定位,以后布局是有局限性的,而且宽度控制要改的地方也多。在淘宝UED(User Experience Design)探讨下,增加多一个div就可以不用相对布局了,只用到了浮动和负边距,这就是我们所说的双飞翼布局。

多栏布局

a、栏栅格系统:就是利用浮动实现的多栏布局,在bootstrap中用的非常多。
b、多列布局:栅格系统并没有真正实现分栏效果(如word中的分栏),CSS3为了满足这个要求增加了多列布局模块。

弹性布局(Flexbox)

CSS3引入了一种新的布局模式——Flexbox布局,即伸缩布局盒模型(Flexible Box),用来提供一个更加有效的方式制定、调整和分布一个容器里项目布局,即使它们的大小是未知或者动态的,这里简称为Flex。
Flexbox布局常用于设计比较复杂的页面,可以轻松的实现屏幕和浏览器窗口大小发生变化时保持元素的相对位置和大小不变,同时减少了依赖于浮动布局实现元素位置的定义以及重置元素的大小。

Flexbox布局在定义伸缩项目大小时伸缩容器会预留一些可用空间,让你可以调节伸缩项目的相对大小和位置。例如,你可以确保伸缩容器中的多余空间平均分配多个伸缩项目,当然,如果你的伸缩容器没有足够大的空间放置伸缩项目时,浏览器会根据一定的比例减少伸缩项目的大小,使其不溢出伸缩容器。

综合而言,Flexbox布局功能主要具有以下几点:
a、屏幕和浏览器窗口大小发生改变也可以灵活调整布局;
b、可以指定伸缩项目沿着主轴或侧轴按比例分配额外空间(伸缩容器额外空间),从而调整伸缩项目的大小;
c、可以指定伸缩项目沿着主轴或侧轴将伸缩容器额外空间,分配到伸缩项目之前、之后或之间;
d、可以指定如何将垂直于元素布局轴的额外空间分布到该元素的周围;
e、可以控制元素在页面上的布局方向;
f、可以按照不同于文档对象模型(DOM)所指定排序方式对屏幕上的元素重新排序。也就是说可以在浏览器渲染中不按照文档流先后顺序重排伸缩项目顺序。

瀑布流布局

瀑布流布局是流式布局的一种。是当下比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。最早采用此布局的网站是Pinterest,逐渐在国内流行开来。
优点
a、有效的降低了界面复杂度,节省了空间:我们不再需要臃肿复杂的页码导航链接或按钮了。
b、对触屏设备来说,交互方式更符合直觉:在移动应用的交互环境当中,通过向上滑动进行滚屏的操作已经成为最基本的用户习惯,而且所需要的操作精准程度远远低于点击链接或按钮。
c、更高的参与度:以上两点所带来的交互便捷性可以使用户将注意力更多的集中在内容而不是操作上,从而让他们更乐于沉浸在探索与浏览当中。
缺点
a、有限的用例:
无限滚动的方式只适用于某些特定类型产品当中一部分特定类型的内容。
例如,在电商网站当中,用户时常需要在商品列表与详情页面之间切换,这种情况下,传统的、带有页码导航的方式可以帮助用户更稳妥和准确的回到某个特定的列表页面当中。
b、额外的复杂度:
那些用来打造无限滚动的JS库虽然都自称很容易使用,但你总会需要在自己的产品中进行不同程度的定制化处理,以满足你们自己的需求;另外这些JS库在浏览器和设备兼容性等方面的表现也参差不齐,你必须做好充分的测试与调整工作。
c、再见了,页脚:
如果使用了比较典型的无限滚动加载模式,这就意味着你可以和页脚说拜拜了。
最好考虑一下页脚对于你的网站,特别是用户的重要性;如果其中确实有比较重要的内容或链接,那么最好换一种更传统和稳妥的方式。
千万不要耍弄你的用户,当他们一次次的浏览到页面底部,看到页脚,却因为自动加载的内容突然出现而无论如何都无法点击页脚中的链接时,他们会变的越发愤怒。
d、集中在一页当中动态加载数据,与一页一页的输出相比,究竟那种方式更利于SEO,这是你必须考虑的问题。对于某些以类型网站来说,在这方面进行冒险是很不划算的。
e、关于页面数量的印象:
其实站在用户的角度来看,这一点并非负面;不过,如果对于你的网站来说,通过更多的内容页面展示更多的相关信息(包括广告)是很重要的策略,那么单页无限滚动的方式对你并不适用。

流式布局(Fluid)

固定布局和流式布局在网页设计中最常用的两种布局方式。固定布局能呈现网页的原始设计效果,流式布局则不受窗口宽度影响,流式布局使用百分比宽度来限定布局元素,这样可以根据客户端分辨率的大小来进行合理的显示。

响应式布局

响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动互联网浏览而诞生的。
响应式布局可以为不同终端的用户提供更加舒适的界面和更好的用户体验,而且随着目前大屏幕移动设备的普及,用“大势所趋”来形容也不为过。随着越来越多的设计师采用这个技术,我们不仅看到很多的创新,还看到了一些成形的模式。
优点
a、面对不同分辨率设备灵活性强
b、能够快捷解决多设备显示适应问题
缺点
a、兼容各种设备工作量大,效率低下
b、代码累赘,会出现隐藏无用的元素,加载时间加长
c、其实这是一种折中性质的设计解决方案,多方面因素影响而达不到最佳效果
d、一定程度上改变了网站原有的布局结构,会出现用户混淆的情况

本文来自牛客网,学习过程中看到的,记录下来。 链接——牛客网.

页面布局的方式——前端相关推荐

  1. 页面布局的方式有哪些?

    常见的页面布局方式有六种:双飞翼.多栏.弹性.流式.瀑布流.响应式布局 (1).双飞翼布局 经典三列布局,也叫做圣杯布局[Holy Grail of Layouts]是Kevin Cornell在20 ...

  2. 因分辨率变化html页面布局跳动_Web前端页面设计流程及注意事项,谨记!

    每天我们打开电脑,看到各种各样的web前端页面.你知道他们是如何制作的吗?为了让页面更具有规范性,让使用者更加方便,在制作页面过程中必须遵循一定的设计流程.在这里就为大家详细介绍一下制作一个Web前端 ...

  3. 前端必经之路:CSS页面布局(深入理解浮动布局、定位布局、圣杯布局和双飞翼布局等重要布局方案)

    建筑师在对一栋建筑物进行施工之前,首先会根据建筑图纸上的平面图.立体图.剖面图和构造详图等对建筑物进行整体布局后再从局部施工(当然不排除有先装修完厕所再砌卧室围墙的奇葩).在一个网页页面的搭建过程中, ...

  4. 常见的CSS页面布局方式

    详情:CSS页面结构是我们日常生活中最常使用到的,当然目前可能大家用的最多的是elementUI实现布局,简单方柏霓,下面介绍几种常见的原生页面布局的方式 公共的样式部分 <style>* ...

  5. 页面布局(1):淘宝首页

    大家好,我是梅巴哥er. 入职前端后,我相信有很多小伙伴都是从写简单页面或者简单的功能开始入手的.比如活动页面,活动详情页,活动某项交互等. 为了快速适应开发需求,在较短时间内完成手头工作,以便挤出更 ...

  6. 页面布局孰优孰劣:基于REM的EMs弹性布局——可用性的胜利

    http://blog.dimpurr.com/ems-layout/ 页面布局的方式总是随着技术的更新和创意的涌现不断的更新换代.从最开始的 Fixed 固定布局,到因为宽屏设备和移动互联网的普及产 ...

  7. 太原理工web课程答案——web程序设计课程答案 (第八章 CSS3页面布局)持续发布中——

    8.1.2 1[单选题] 在CSS中,为页面中的某个DIV标签设置样式div{width:200px;padding:0  20px;border:5px:},则该标签的实际宽度为( ) A. 200 ...

  8. 2.18 前端页面布局方式的演变

    第一阶段 现在已经很少有人提及,其实最早的页面布局是使用table布局的,那时候的网页设计师基本不会担心跑位的问题,但是随着网页的功能越来越复杂,CSS的表现力越来越强,对HTML文档的语义化要求和页 ...

  9. CSS3与页面布局学习总结(八)——浏览器兼容与前端性能优化

    一.浏览器兼容 1.1.概要 世界上没有任何一个浏览器是一样的,同样的代码在不一样的浏览器上运行就存在兼容性问题.不同浏览器其内核亦不尽相同,相同内核的版本不同,相同版本的内核浏览器品牌不一样,各种运 ...

最新文章

  1. Spring @Bean and @Configuration
  2. 【初学者必读】:前端工程师的知识体系
  3. 个人笔记 vue npm redis
  4. oracle的ora01504,Oracle中的ORA-01548: active rollback segment '_SYSSMU1$' found
  5. 使用jave进行视频转码
  6. 主流代码扫描静态分析工具
  7. pm2.5计算和单位换算
  8. python中平方_python里平方
  9. 南非世界杯-我在南非(二)
  10. CSS实用技巧第一讲:文字处理
  11. HIVE常用命令之MSCK REPAIR TABLE命令简述
  12. Qt入门教程【STL篇】QStack栈
  13. Apache Tomcat 7 HTTP连接器
  14. 400计算机毕业设计
  15. Windows 2000系统编程 (1)
  16. C语言int search类型,C语言的一些高级议题
  17. 如何打开docx文件
  18. 教你如何快速安装Pycharm2018——Pycharm2018安装详细教程(附激活软甲+永久破解)
  19. hint java_关于java:TypeHint,用于在Enunciate中进行收集
  20. JAVA项目实现离线授权日期授权解决方案 代码混淆 字符串加密 支持JDK16

热门文章

  1. R与神经网络之Neuralnet包
  2. 专业主干课程,核心课程
  3. P1422 小玉家的电费
  4. 7-3 马会飞 (15分)
  5. 记在银联电子支付的上线感想
  6. 河北省廊坊市谷歌卫星地图下载
  7. 基于ESP8266的智能跟随行李箱
  8. 自学的程序员一点竞争力都没有么?投简历都没有回应?
  9. 【动态壁纸】海贼王桌面宠物:路飞【升级3.1】
  10. 整理了35个快速开发平台,前后端都有 ,接私活拿来即用,非常方便!