当前位置:首页 > uni-app

uniapp布局样式

2026-02-05 20:02:25uni-app

uniapp布局样式基础

uniapp支持使用Flex布局和Grid布局,默认采用Flex布局方式。在uni.css中已内置Flex相关样式类,可直接使用。

Flex布局常用样式类:

  • flex:启用Flex布局
  • flex-row:横向排列(默认)
  • flex-column:纵向排列
  • justify-start/center/end/between/around:主轴对齐方式
  • items-start/center/end/stretch:交叉轴对齐方式

页面布局实现方式

视图容器组件

  • <view>:基础视图容器,类似HTML的<div>
  • <scroll-view>:可滚动视图区域
  • <swiper>:滑块视图容器

示例代码

<template>
  <view class="container">
    <view class="header">头部</view>
    <view class="content">
      <view v-for="i in 5" :key="i" class="item">项目{{i}}</view>
    </view>
    <view class="footer">底部</view>
  </view>
</template>

<style>
.container {
  display: flex;
  flex-direction: column;
  height: 100vh;
}
.header, .footer {
  height: 80rpx;
  background-color: #007AFF;
  color: white;
}
.content {
  flex: 1;
  overflow: auto;
}
.item {
  height: 120rpx;
  margin: 20rpx;
  background-color: #f0f0f0;
}
</style>

响应式布局处理

uniapp支持使用rpx单位实现响应式布局,750rpx等于屏幕宽度。

媒体查询示例

uniapp布局样式

@media screen and (min-width: 768px) {
  .item {
    width: 50%;
    float: left;
  }
}

条件编译实现多端适配

<!-- #ifdef H5 -->
<view class="pc-style">PC端样式</view>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<view class="wechat-style">微信小程序样式</view>
<!-- #endif -->

常见布局模式

两栏布局

.two-column {
  display: flex;
}
.sidebar {
  width: 200rpx;
}
.main-content {
  flex: 1;
}

等分布局

.equal-distribution {
  display: flex;
}
.equal-distribution view {
  flex: 1;
  text-align: center;
}

定位布局

uniapp布局样式

.position-container {
  position: relative;
  height: 300rpx;
}
.position-item {
  position: absolute;
  top: 20rpx;
  right: 20rpx;
  width: 100rpx;
  height: 100rpx;
}

样式编写规范

  • 使用scoped样式避免污染全局样式

    <style scoped>
    /* 这里的样式只作用于当前组件 */
    </style>
  • 全局样式写在App.vue或单独样式文件中

  • 避免直接使用平台特有样式,如-webkit-box

  • 推荐使用CSS变量管理主题色等公共样式

    :root {
    --primary-color: #007AFF;
    }
    .button {
    background-color: var(--primary-color);
    }

标签: 样式布局
分享给朋友:

相关文章

vue中样式的实现原理

vue中样式的实现原理

Vue 中样式的实现原理 Vue 的样式处理机制基于 Web 标准(如 CSS 作用域、预处理器集成等),同时通过编译和运行时逻辑实现隔离与动态性。以下是核心实现原理: 作用域样式(Scoped C…

vue实现适老化样式

vue实现适老化样式

Vue 实现适老化样式的关键方法 使用大字体和高对比度 在全局 CSS 或组件样式中设置基础字号为 16px 以上,推荐 18-20px。通过 CSS 变量控制字体大小,便于全局调整: :root…

jquery 样式

jquery 样式

jQuery 样式操作 jQuery 提供了多种方法来操作 HTML 元素的样式,包括直接修改 CSS 属性、添加或移除类、获取样式值等。 修改 CSS 属性 使用 css() 方法可以直接修改元素…

uniapp样式库

uniapp样式库

uniapp 常用样式库推荐 uView UI uView 是专为 uniapp 设计的多端兼容 UI 框架,提供丰富的组件和工具类。支持 Vue3 组合式 API,内置主题定制功能,常用于快速构建企…

h5实现表格样式

h5实现表格样式

实现H5表格样式的方法 使用HTML和CSS创建基础表格 在HTML中,表格通过<table>标签定义,配合<tr>(行)、<td>(单元格)和<th&g…

vue实现样式隔离

vue实现样式隔离

Vue 实现样式隔离的方法 Vue 提供了多种方式实现组件级别的样式隔离,避免全局样式污染。以下是常见的解决方案: Scoped CSS 在单文件组件(SFC)的 <style> 标签…