首页 > 编程语言 >小程序开发WXSS语法:距离单位 vh 、px 、% 在各种组件属性设置中区别

小程序开发WXSS语法:距离单位 vh 、px 、% 在各种组件属性设置中区别

时间:2024-12-07 11:00:59浏览次数:5  
标签:vh px 程序开发 padding width 宽度 设置 组件 属性

一、引言

在小程序的WXSS样式设计中,有许多组件属性用于控制布局和间距。像 widthheightpaddingmargin 等属性在设置时可以使用不同的单位,如 vhpx%,它们各自具有独特的性质和应用场景。理解这些单位在不同组件属性中的区别对于创建精确且灵活的小程序界面布局至关重要。

二、vh(视口高度单位)

(一)含义

vh 代表“viewport height”,即视口高度。整个视口高度被划分为100份,1vh就等于视口高度的1%。例如,在一个视口高度为600px的浏览器窗口(小程序视图)中,1vh的实际高度为6px(600px÷100 = 6px)。

(二)示例

  1. height属性 - 全屏组件高度设置
    假设我们要设计一个小程序的首页轮播图组件,希望它占据屏幕高度的一半来展示精美的图片,此时可以这样设置轮播图组件的height属性:
.swiper {
  height: 50vh;
}

这样,无论用户在何种设备上打开小程序,轮播图的高度都会自动调整为视口高度的50%,确保图片能够以合适的比例展示,提供良好的视觉体验。

  1. padding属性 - 内容区域内边距与视口相关设置
    对于一个小程序的内容展示页面,如文章详情页,我们希望文章内容距离页面顶部和底部都有一定的空间,且这个空间与视口高度成比例。可以通过设置padding属性来实现:
.article-content {
  padding-top: 10vh;
  padding-bottom: 10vh;
}

这样,文章内容区域的上下内边距会根据视口高度自动调整,在不同设备上都能保持一种舒适的阅读空间布局。

三、px(像素单位)

(一)含义

px 代表“pixel”,是屏幕显示的最小物理单位。它是一个绝对单位,在同一设备上,1px的物理尺寸是固定的。例如,设置width: 200px,就是将元素的宽度固定为200像素,这个尺寸不会因为设备屏幕大小或分辨率的变化而改变(在同一设备上)。

(二)示例

  1. width属性 - 按钮组件精确宽度设置
    在设计小程序的表单提交按钮时,为了保证按钮在不同设备上的视觉效果一致,需要精确控制按钮的宽度。例如,希望按钮宽度为120px,就可以这样设置:
.submit-button {
  width: 120px;
}

这样,按钮的宽度就会固定为120像素,无论是在手机还是平板设备上,其大小都能保持一致,有助于提升用户对界面元素的熟悉感和操作的准确性。

  1. margin属性 - 组件间距精确控制
    假设小程序中有多个图标组件排列,每个图标之间的间距需要精确固定。比如,图标之间的水平间距要求为10像素,以保证布局的紧凑和整齐,可以这样设置margin属性:
.icon {
  margin-right: 10px;
}

这样,图标之间的水平间距就会被精确控制为10像素,使整个图标组看起来更加整齐有序。

四、%(百分比单位)

(一)含义

% 代表百分比,当用于组件属性时,它的计算方式因属性而异。对于像widthheight属性,通常是相对于父元素的宽度或高度的百分比;对于paddingmargin属性,在大多数情况下,垂直方向(如padding - topmargin - bottom等)是相对于父元素宽度,水平方向(如padding - leftmargin - right等)是相对于父元素宽度计算百分比。例如,如果一个元素的父元素宽度为800px,设置width: 25%,那么该元素的宽度实际为200px(800px×25% = 200px)。

(二)示例

  1. width属性 - 响应式容器宽度设置
    在小程序的一个自适应布局页面中,有一个侧边栏和一个内容区域。我们希望侧边栏的宽度随着屏幕宽度的变化而按比例变化,例如始终占据屏幕宽度的30%,可以这样设置侧边栏的width属性:
.sidebar {
  width: 30%;
}

当用户在不同宽度的设备上打开小程序时,侧边栏的宽度会自动根据屏幕宽度调整,保证整个页面布局的灵活性和协调性。

  1. padding属性 - 相对父元素宽度的内边距设置
    对于一个小程序中的卡片式组件,卡片内部的内容区域希望与卡片边缘有一个与卡片宽度成比例的内边距。例如,设置内容区域的padding - leftpadding - right为10%,可以这样设置:
.card-content {
  padding-left: 10%;
  padding-right: 10%;
}

这样,当卡片的宽度在不同设备或不同布局场景下发生变化时,内容区域的左右内边距会相应地按比例调整,确保内容始终在卡片内部有合适的留白空间。

五、总结

在小程序WXSS组件属性设置中,vh单位基于视口高度,适用于创建与屏幕高度成比例的布局组件,如轮播图高度、内容区域与屏幕边缘的间距等;px单位是绝对的像素尺寸,用于需要精确固定尺寸或间距且不受设备屏幕变化影响的场景,像按钮宽度、图标间距等;%单位相对于父元素的相关尺寸(宽度或高度,具体因属性而异),有助于构建与父元素大小成比例变化的布局,在响应式容器宽度设置、相对父元素宽度的内边距设置等场景中发挥重要作用。在实际的小程序界面设计中,根据不同的设计需求和布局场景,合理选择这三种单位来设置各种组件属性,可以打造出美观、实用且适应性强的小程序界面。

标签:vh,px,程序开发,padding,width,宽度,设置,组件,属性
From: https://blog.csdn.net/JiexianYao/article/details/144306671

相关文章

  • 网页打印与标准纸张换算时,cm和px是如何换算的?
    网页打印的cm和px换算并非直接的等价关系,它涉及到DPI(DotsPerInch,每英寸点数)的概念。简单来说,DPI决定了在物理尺寸(例如cm)中,可以容纳多少个像素点。核心公式:物理尺寸(cm)=像素(px)/DPI*2.54解释:DPI:打印机或屏幕的分辨率,表示每英寸有多少个点。常见的......
  • 上门服务小程序开发,打造便捷生活新体验
    随着互联网的快速发展,各种上门服务成为了市场的发展趋势,不管是各种外卖、家政、美甲、维修、按摩等等,都可以提供上门服务,人们足不出户就可以满足各种需求,商家也能够获得新的拓展业务渠道,提高整体收益。本文将围绕上门服务小程序的开发特点介绍。上门服务小程序特点上门服务......
  • AGM AG32VH407RCT6 (内置PSRAM)的参考设计
        AGM更新发布了最新的AG32VH407RCT6,数据手册也做了相应的更新。有项目设计需求,可以申请样品。    以下是AG32的选型与资源列表。    AG32VH407RCT6一个芯片,内置了AG32MCU+FPGA+PSRAM,可以应用在需求大容量RAM的场合。     以下是......
  • [C#] 对24位图像进行水平翻转(FlipX)的跨平台SIMD硬件加速向量算法(使用YShuffleX3Kern
    在上一篇文章里,给大家讲解了32位图像水平翻转(FlipX)算法,于是本文来探讨更加复杂的24位图像水平翻转算法。本文除了会给出标量算法外,还会给出向量算法。且这些算法是跨平台的,同一份源代码,能在X86(Sse、Avx等指令集)及Arm(AdvSimd等指令集)等架构上运行,且均享有SIMD硬件加速。一、标......
  • [C#] 对24位图像进行水平翻转(FlipX)的跨平台SIMD硬件加速向量算法(使用YShuffleX3Kern
    在上一篇文章里,给大家讲解了32位图像水平翻转(FlipX)算法,于是本文来探讨更加复杂的24位图像水平翻转算法。本文除了会给出标量算法外,还会给出向量算法。且这些算法是跨平台的,同一份源代码,能在X86(Sse、Avx等指令集)及Arm(AdvSimd等指令集)等架构上运行,且均享有SIMD硬件加速。一、标......
  • [C#] 对24位图像进行水平翻转(FlipX)的跨平台SIMD硬件加速向量算法(使用YShuffleX3Kern
    在上一篇文章里,给大家讲解了32位图像水平翻转(FlipX)算法,于是本文来探讨更加复杂的24位图像水平翻转算法。本文除了会给出标量算法外,还会给出向量算法。且这些算法是跨平台的,同一份源代码,能在X86(Sse、Avx等指令集)及Arm(AdvSimd等指令集)等架构上运行,且均享有SIMD硬件加速。一、标......
  • linux下使用Devhelp添加c++帮助手册
    首先需要两个资源:devhelp和https://zh.cppreference.com/的帮助文档一、准备1.安装devhelpsudoaptinstalldevhelp2.下载https://zh.cppreference.com/的html版本的帮助文档下载以html开头的压缩包 二、将帮助文档解压并将文件放入devhelp目录下1.帮助文档解压后目......
  • HS6621Cx/OM6621Px国产低功耗蓝牙芯片支持Find My寻物
    什么是“FindMy“?“FindMy”是苹果公司于19年前推出的针对失物追踪,FindMyiPhone(查找我的iPhone)和FindMyFriends(查找朋友)的结合体应用。为第三方配件制造商设计的FindMy网络配件计划,允许设备制造商将FindMyright集成到他们的产品中。该应用基于低功耗蓝牙技术,利用苹......
  • netboot ipxe 源码
     来自:https://www.egg0.com/show/19831.html    最近,正在学习iPXE源码,于是开始各种Google查找iPXE的资料进行学习。以下就是学习过程中一些感觉比较重要的点,特此记录,以备后续查阅。起源  上世纪90年代初,网卡开始在其扩展卡上包含启动ROM,每个扩展卡都遵循......
  • ui设计中px、pt、ppi、dpi、dp、sp之间的关系?
    Let'sbreakdowntherelationshipsbetweentheseunitsinUIdesign,specificallyforfront-enddevelopment:Pixels(px):Definition:Apixelisthesmallestaddressableelementonadisplay.It'saphysicalunit,representingasinglepoint......