前端单元 px、vw、vh 等的区别与利用场景

打印 上一主题 下一主题

主题 837|帖子 837|积分 2526

前端单元 px、vw、vh 等的区别与利用场景

在前端开辟中,CSS中的长度单元至关紧张,差别单元适用于差别的布局场景。以下是对常见单元的详细剖析和利用发起。

1. px(像素)



  • 概念:
    px是绝对单元,表现屏幕上的物理像素点,精确且固定。无论屏幕分辨率或设备尺寸如何,px值不会自动变革。
  • 特点:

    • 不随屏幕大小变革,布局稳定。
    • 控制精确,得当需要严酷定义尺寸的场景。

  • 利用场景:

    • 细节精确控制,如边框、图标尺寸等。
    • 小组件或固定元素,如按钮、图标或笔墨间距。
    • 适配单一设备,如PC端固定宽度的网站。
    示例:
    1. .container {
    2.   width: 300px;
    3.   height: 200px;
    4. }
    复制代码


2. vw(视口宽度,Viewport Width)



  • 概念:
    vw是相对单元,基于视口(viewport)的宽度。1vw 即是视口宽度的 1%。
  • 特点:

    • 相应式计划核心单元之一。
    • 视口尺寸变革时元素随之调整,适应差别屏幕宽度。

  • 利用场景:

    • 全屏布局,如横幅、背景图片或流式布局。
    • 相应式笔墨,让笔墨随着屏幕尺寸自动调整大小。
    • 移动端开辟,适配各种设备分辨率和尺寸。
    示例:
    1. .banner {
    2.   width: 100vw;  /* 占满整个视口宽度 */
    3.   height: 50vw;  /* 高度为视口宽度的一半 */
    4. }
    复制代码


3. vh(视口高度,Viewport Height)



  • 概念:
    vh基于视口的高度。1vh 即是视口高度的 1%。
  • 特点:

    • 垂直方向自适应,适配全屏或差别屏幕高度的布局。

  • 利用场景:

    • 全屏内容区或弹窗布局。
    • 流式全屏计划,如登录页面或启动页。
    • 垂直居中布局,让元素占满视口高度。
    示例:
    1. .fullscreen {
    2.   height: 100vh;  /* 占满整个视口高度 */
    3.   width: 100vw;
    4. }
    复制代码


4. %(百分比)



  • 概念:
    百分比是相对单元,根据父元素的尺寸进行盘算。
  • 特点:

    • 灵活,能根据父元素的尺寸自动调整。
    • 继续父容器大小,适配性较强。

  • 利用场景:

    • 流式布局,让元素跟随父容器自动调整宽高。
    • 网格布局或弹性布局中的子元素。
    • 自适应容器内的子元素
    示例:
    1. .box {
    2.   width: 50%;  /* 父容器宽度的50% */
    3.   height: 100%;
    4. }
    复制代码


5. em(相对当前元素字体大小)



  • 概念:
    em是相对单元,根据当前元素或父元素的字体大小进行盘算。
  • 特点:

    • 继续性强,嵌套时尺寸可能叠加。
    • 可用于笔墨及间距控制,适配性好。

  • 利用场景:

    • 笔墨排版,如行高、内外边距。
    • 组件间距调整,更具弹性。
    示例:
    1. .text {
    2.   font-size: 1.5em;  /* 当前字体大小的1.5倍 */
    3. }
    复制代码


6. rem(相对根元素字体大小)



  • 概念:
    rem基于根元素(html)的字体大小盘算,1rem 即是根元素字体大小的 1 倍。
  • 特点:

    • 不受嵌套影响,避免em嵌套放大题目。
    • 可全局控制,通过修改根元素字体大小实现整体调整。

  • 利用场景:

    • 相应式布局,适配差别屏幕字体大小。
    • 全局字体缩放或动态调整,如暗黑模式下字体放大。
    示例:
    1. html {
    2.   font-size: 16px;
    3. }
    4. .content {
    5.   font-size: 2rem;  /* 16px * 2 = 32px */
    6. }
    复制代码


7. vmin 和 vmax



  • **vmin:**视口宽度和高度中较小的那个值的 1%。
  • **vmax:**视口宽度和高度中较大的那个值的 1%。
  • 特点:

    • vmin得当根据最窄方向自适应,vmax根据最宽方向调整。

  • 利用场景:

    • 保持元素比例,在差别屏幕下维持一致的视觉体验。
    • 弹窗或容器自适应,根据视口大小调整布局。
    示例:
    1. .square {
    2.   width: 50vmin;  /* 视口最小方向的50% */
    3.   height: 50vmin;
    4. }
    复制代码


利用场景总结与选择指南

单元利用场景优点缺点px精确定位、固定尺寸、边框、图标等精确且不受外界影响不相应视口变革vw全屏布局、横幅、背景图自适应视口宽度,得当相应式布局低精度,小屏下可能过小vh全屏内容、垂直居中、启动页自适应视口高度,布局灵活过高可能导致滚动条%父元素内自适应子元素灵活继续父容器尺寸父容器尺寸变革时可能溢出em按字体大小缩放间距或尺寸适配性强嵌套容易尺寸叠加,难以控制rem全局字体缩放、相应式字体不受嵌套影响,统一控制需定义根元素字体,额外设置vmin宽高自适应,按视口最小方向缩放自适应性强小屏下可能尺寸过小vmax宽高自适应,按视口最大方向缩放确保大屏下元素尺寸适配大屏下可能元素过大
最佳实践:



  • **固定布局:**利用px或%。
  • **相应式布局:**利用vw、vh、rem或vmin。
  • **笔墨与间距:**利用em或rem确保精良的自适应性。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连全瓷种植牙齿制作中心

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表