网页布局的几种方式有哪些_做网页建议用哪种布局

网页布局的几种方式有哪些_做网页建议用哪种布局固定布局为网页设置一个固定的宽度,通常以px做为长度单位,常见于PC端网页。这种布局具有很强的稳定性与可控性,也没有兼容性问题,但不能根据用户的屏幕尺寸做出不同的表现。即如果用户的屏幕分辨率小于这

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

固定布局

  为网页设置一个固定的宽度,通常以px做为长度单位,常见于PC端网页。

  这种布局具有很强的稳定性与可控性,也没有兼容性问题,但不能根据用户的屏幕尺寸做出不同的表现。即如果用户的屏幕分辨率小于这个宽度就会出现滚动条,如果大于这个宽度则会留下空白。

 

流式布局(Liquid Layout

  为网页设置一个相对的宽度,页面元素的大小按照屏幕分辨率进行适配调整,但整体布局不变,通常以百分比做为长度单位(通常搭配 min-*、max-* 属性控制尺寸流动范围以免过大或者过小导致元素无法正常显示),高度大都是用px来固定住。流式布局的代表作栅格系统(网格系统)。

  例如设置网页主体的宽度为80%,min-width为960px。图片也作类似处理(width:100%, max-width一般设定为图片本身的尺寸,防止被拉伸而失真)。

  缺点:因为宽度使用%百分比定义,但是高度和文字大小等大都是用px来固定,所以在大屏幕下显示效果会变成有些页面元素宽度被拉的很长,但是高度、文字大小还是和原来一样,显示非常不协调

 

栅格化布局

  将网页宽度人为的划分成均等的长度,然后排版布局时则以这些均等的长度做为度量单位,通常利用百分比做为长度单位来划分成均等的长度。

  比如像 bootstrap,foundation 这些框架采用的就是栅格系统,只要给页面元素添加其栅格系统指定的类名,就能达到想要的响应式布局效果。

  bootstrap 的栅格系统是通过一系列的行和列的组合来创建页面布局,它的栅格系统最大分为12份:

网页布局的几种方式有哪些_做网页建议用哪种布局

不过 版本bootstrap3 与 bootstrap4 实现栅格系统方式不一样, bootstrap3 为了兼容 IE,采用的是浮动方式来实现栅格系统:

网页布局的几种方式有哪些_做网页建议用哪种布局

即每一个栅格都是用左浮动和百分比来进行排版,当窗口宽度改变,对应改变 container 容器的宽度,对应栅格宽度自然也跟着改变:

 网页布局的几种方式有哪些_做网页建议用哪种布局

bootstrap4 放弃了对IE的支持,采用的是最新的伸缩布局方式:

网页布局的几种方式有哪些_做网页建议用哪种布局

 

自适应布局(Adaptive Layout)

  自适应布局的特点是分别为不同的屏幕分辨率定义布局,即为不同类别的设备创建不同的静态布局,每个静态布局对应一个屏幕分辨率范围。改变屏幕分辨率可以切换调用相应的布局(页面元素位置发生改变而大小不变),但在每个静态布局中,页面元素不随窗口大小的调整发生变化。可以把自适应布局看作是静态布局的一个系列。

  在这种布局方式下,当视口大小低于设置的最小视口时,界面会出现显示不全,溢出,并出现滚动条。而且当需求改变时,可能会改动多套代码。

  使用自适应布局时,首先在网页代码的头部,加入一样 viewport 标签:

<meta name="viewport" content="width=device-width, initial-scale=1" />

设置网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。然后 CSS 代码不能使用绝对大小,即不能指定像素 px 宽度,而只能使用相对大小 em 或者 %百分比、rem等。

 

响应式布局

  响应式布局的目标是确保一个页面在所有终端上(各种尺寸的PC、手机、ipad等)都能显示出令人满意的效果。通过检测设备信息,决定网页布局方式,即用户如果采用不同的设备访问同一个网页,有可能会看到不一样的展示效果,一般情况下是检测设备屏幕的宽度来实现。可以把响应式布局看作是流式布局和自适应布局设计理念的融合。

  应用响应式布局,首先要使用视图的 meta 标签来进行重置:

 

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />

 

然后使用 @media 媒体查询给不同尺寸和介质的设备切换不同的样式。同自适应布局一样,在书写 CSS 样式时,元素宽度不能使用绝对宽度,而要使用相对大小。

  Media Queries 是响应式设计的核心,它根据条件告诉浏览器如何为指定视图宽度渲染页面。在优秀的响应范围设计下可以给适配范围内的设备最好的体验,在同一个设备下实际还是固定的布局。但媒体查询是有限的,也就是可以枚举出来的,只能适应主流的宽高。要匹配足够多的屏幕大小,工作量不小,而且页面中会出现隐藏元素的操作,这样代码就比较冗余,加载时间加长,此外设计也需要多个版本。

 

自适应布局和响应式布局对比:

  不同点:

    1.自适应需要开发多套界面;响应式只需开发一套界面。

    2. 自适应对页面的屏幕适配实在一定的范围,比如:pc 端 > 1024px; 平板 768 ~ 1024px; 手机端 < 768px; 响应式是一套页面同时兼容在 pc 端、平板和手机端的各个不同视口,而不是为每个终端做一个特定的版本,所以需要考虑的状态非常多。

  相同点: 

    都是通过检测视口分辨率,使页面适应不同分辨率的视口。

 

弹性布局(rem/em布局)

  弹性布局跟流布局很像,网页宽度不固定,使用 em 或 rem 单位进行相对布局,避免了使用像素 px 布局在高分辨率下几乎无法辨识的缺点,相对%百分比更加灵活,同时可以支持浏览器的字体大小调整和缩放等的正常显示。但弹性布局也有局限性,如果不对这种布局设置一个最小宽度,当用户缩小窗口到足够小时会造成布局严重错位。

  关于 em / rem / px / % … 的使用 戳这里

 

伸缩布局(Flex box)

  使用 css3 Flex 系列属性进行相对布局,用来为盒模型提供最大的灵活性。对于富媒体和复杂排版的支持非常大,但是存在兼容性问题。任何一个容器都可以指定为 flex 布局,行内元素也可以使用。

  注意:设为 flex 布局后,子元素的 float、clear、vertical-align 属性将失效。

 

注:以上几种布局方式并不是独立存在的,实际开发过程中往往是相互结合使用的,根据项目的需求,取各自之所长。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168207.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月3日 下午3:00
下一篇 2022年8月3日 下午3:00


相关推荐

  • PHP审计之class_exists与任意实例化漏洞

    PHP审计之class_exists与任意实例化漏洞前言发现PHP的一些漏洞函数挺有意思,跟着七月火师傅的文章来学习.class_exists函数函数说明class_exists:(PHP

    2021年12月13日
    43
  • navicat premium 连接sqlserver 端口号配置

    navicat premium 连接sqlserver 端口号配置转载自 https blog csdn net taotoxht article details nbsp navicatpremi nbsp nbsp 连接 sqlserver 端口号是加在 ip 地址后面的用逗号分开

    2026年3月26日
    2
  • cs模式与bs的区别_BS架构是CS架构的替代品

    cs模式与bs的区别_BS架构是CS架构的替代品C/S:又称Client/Server或客户/服务器模式。客户端需要安装专用的客户端软件。 能充分发挥客户端PC的处理能力,,很多工作可以在客户端处理后再提交给服务器。C/S的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。但是该结构的程序是针对性开发,变更不够灵活,维护和管理的难度较大。通常只局限于小型局域网,不利于扩展。B/S是Browe

    2025年10月11日
    8
  • 嵌入式软件工程师面试题及答案

    嵌入式软件工程师面试题及答案题目一上个星期 去深圳一家搞 ARM 开发的公司面试 HR 叫我做了一份卷子 里面都是 C 编程 心中暗喜 因为这些题基本上都在程序员面试宝典里见过 后来回到学校 在网上搜索 原来这些题都是嵌入式工程师的经典面试题目 很多网站上都可以找得到 现把他贴出来 附上网上的答案 跟大家分享 因为这些题实在太经典了 预处理器 Preprocessor 1 用预处理指令 define 声明一个常数 用以

    2026年3月18日
    1
  • Java审计之命令执行篇

    Java审计之命令执行篇0x00前言在Java中能执行命令的类其实并不多,不像php那样各种的命令执行函数。在Java中目前所知的能执行命令的类也就两种,分别是Runtime和ProcessB

    2021年12月12日
    46
  • yml文件解析

    yml文件解析yml 文件解析 YamlProperti 测试注意 YamlProperti 在开发过程中 遇到一个 yml 文件解析的功能 随手做个记录 具体要求是这样的 前段传递一个 key 后端通过这个 key 获取配置文件中的 key 对应着值 若是用 properties 文件的话 是比较好获取的 但是 yml 文件的话 通过我的各种尝试 最终用 org springframe

    2026年3月18日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号