如何让你的设计适应不同的身体类型

阅读时长 5 分钟读完

你是否经常遇到这样的情况:不同体型的用户使用同一个界面,看起来效果却不相同,甚至出现超出屏幕或者错位等问题?那么这篇文章将会为你提供一个前端设计的解决方案,让你的界面能够适应不同的身体类型,让用户们都能够得到良好的使用体验。

CSS3 Viewport Units

Viewport Units 是 CSS3 中的新特性,它能够让你的设计具有响应式的能力,根据设备的不同,自适应调整设计的尺寸和布局。这里介绍一下常用的单位:

  • vw: viewport width,视口宽度,1vw 等于视口宽度的 1%
  • vh: viewport height,视口高度,1vh 等于视口高度的 1%
  • vmin: viewport min,视口宽高中的最小值
  • vmax: viewport max,视口宽高中的最大值

使用这些单位可以让你的设计具有非常好的可扩展性,能够适配不同屏幕尺寸的设备,达到一致的效果。

Media Queries

Media Queries 可以让你在不同的设备上应用不同的 CSS 样式,从而满足不同的设备需求。使用 media queries 可以根据不同设备的屏幕尺寸来调整样式表,因此可以很好的在不同的设备上展示网页。

举个例子,你可以在样式表中写入以下代码:

以上代码表示,当屏幕宽度小于或等于 800px 时,.container 元素的宽度是 100% ,并设置了居中和内边距。要注意,Media Queries 通常要写在样式表的最后,以确保其优先级最高。

Fluid Grids

Fluid Grids 是一种响应式设计中的一种技术,它可以让网页元素的布局可以随着屏幕尺寸而自适应。Fluid Grids 可以通过将网页元素的 CSS 宽度设为百分比或 em 等相对长度单位,从而使网页元素的布局具有灵活性。

使用 Fluid Grids 可以将页面结构分成多列,并使用百分比或 em 等相对长度单位定义列宽。这样即使屏幕大小变化,页面结构也能够保持一致。例如,下面的示例代码将 content 元素分成三列,并使用百分比定义每一列的宽度:

-- -------------------- ---- -------
---------- -
  -------- -----
  ---------- -----
-
---- -
  ----------- -----------
  -------- -----
  ---------- --
  ----------- --
-
------ -
  ----- - - -----
  ---------- -----
-
------ -
  ----- - - ----
  ---------- ----
-
------ -
  ----- - - -------
  ---------- -------
-

以上代码表示将 .container 容器设置为 Flex 布局,使其拥有流式布局的能力,.col 元素可以保证子元素自适应的同时兼容不同的浏览器。.col 元素的 flex-grow 属性定义了每个元素所占空间的可扩展性,而 flex-basis 属性则定义了每个元素的基础尺寸。

总结

以上三种前端设计技术,分别是 Viewport Units、Media Queries 和 Fluid Grids。它们能够让你的设计适应不同的身体类型、不同的设备尺寸、不同的屏幕分辨率,为你的设计增加了响应性和适应性。在你开始设计的时候,你需要考虑到不同的身体类型,采用上述技术,根据不同类型设定不同的样式,便能够提供更好的用户体验。

示例代码

-- -------------------- ---- -------
--------- -----
------
------
----- ----------------
------------ ----- --------------
-------
---------- -
  -------- -----
  ---------- -----
-
---- -
  ----------- -----------
  -------- -----
  ---------- --
  ----------- --
-
------ -
  ----- - - -----
  ---------- -----
  ----------------- --------
-
------ -
  ----- - - ----
  ---------- ----
  ----------------- --------
-
------ -
  ----- - - -------
  ---------- -------
  ----------------- --------
-
--------
-------
------
---- ------------------
  ---- ---------- ------------- -------
  ---- ---------- ------------- -------
  ---- ---------- ------------- -------
  ---- ---------- ------------- -------
  ---- ---------- ------------- -------
  ---- ---------- ------------- -------
------
-------
-------

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/646c82fe968c7c53b0b78fd8

纠错
反馈