当前位置:首页 > 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等于屏幕宽度。

媒体查询示例

@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;
}

定位布局

.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变量管理主题色等公共样式

    uniapp布局样式

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

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

相关文章

修改elementui的样式

修改elementui的样式

修改 ElementUI 样式的方法 通过全局样式覆盖 在项目的全局样式文件(如 App.vue 或 main.css)中直接覆盖 ElementUI 的默认样式。需确保选择器优先级高于默认样式,可通…

Vue实现拖拽布局

Vue实现拖拽布局

Vue 实现拖拽布局的方法 使用 HTML5 原生拖拽 API HTML5 提供了原生的拖拽 API,可以通过 draggable 属性、dragstart、dragend、dragover 和 dr…

vue 实现拖拽布局

vue 实现拖拽布局

Vue 实现拖拽布局的方法 使用原生HTML5拖拽API 通过HTML5的draggable属性和Vue的事件绑定实现基础拖拽功能。在元素上添加draggable="true",并通过@dragsta…

vue布局组件实现

vue布局组件实现

Vue 布局组件实现方法 基础布局组件设计 使用 Vue 的单文件组件(SFC)创建一个基础的布局组件框架,通常包含<header>、<main>、<footer>…

vue动态布局怎么实现

vue动态布局怎么实现

Vue动态布局的实现方法 Vue中实现动态布局通常涉及响应式设计、组件化开发和状态管理。以下是几种常见方法: 使用CSS Grid或Flexbox结合响应式设计 通过CSS Grid或Flexbo…

vue响应式布局实现

vue响应式布局实现

Vue响应式布局实现方法 Vue.js结合CSS框架或原生CSS技术可以实现响应式布局,以下是几种常见方法: 使用CSS媒体查询 通过原生CSS媒体查询适配不同屏幕尺寸,在Vue组件的<sty…