Aparência
Criação de Layouts Responsivos com PrimeFlex
PrimeFlex é uma biblioteca de utilitários CSS leve e poderosa que simplifica a criação de layouts responsivos em aplicações web. Combinada com Vue.js, ela oferece uma solução robusta para desenvolver interfaces rápidas e eficientes. Vamos explorar as classes utilitárias do PrimeFlex e ver um exemplo prático de como criar um layout responsivo, usando a sintaxe <script setup> em TypeScript.
Classes Utilitárias do PrimeFlex
PrimeFlex oferece várias classes utilitárias que facilitam o desenvolvimento de layouts responsivos:
Grid System: Semelhante a outros frameworks CSS como Bootstrap, o PrimeFlex possui um sistema de grid baseado em flexbox que ajuda a estruturar layouts complexos com facilidade.
grid: Define um container de grid.col: Define uma coluna dentro de um grid.col-{1-12}: Especifica o tamanho da coluna em um sistema de 12 colunas, por exemplo,col-6.
Flexbox Utilities: Auxiliam no alinhamento e distribuição de espaço entre itens de um container flexível.
flex-row,flex-column: Define a direção dos itens flex.align-items-center,justify-content-between: Alinha itens verticalmente e distribui espaço horizontalmente.
Spacing Utilities: Facilitam o ajuste de margens e paddings sem a necessidade de CSS adicional.
m-2,p-3: Aplica margens e paddings. Os números variam de 0 a 8, indicando o tamanho do espaço.
Visibility Utilities: Controla a visibilidade de elementos em diferentes tamanhos de tela.
hidden-sm: Oculta um elemento em telas pequenas.visible-md: Torna um elemento visível em telas médias.
Exemplo Prático de Layout Responsivo
Vamos criar um exemplo prático de um layout responsivo utilizando PrimeFlex em uma aplicação Vue 3 com <script setup> e TypeScript.
Passo 1: Instalação e Configuração
Primeiro, instale o PrimeFlex em seu projeto Vue:
bash
npm install primeflexInclua o PrimeFlex em seu arquivo principal CSS ou diretamente em seu componente Vue:
css
@import "primeflex/primeflex.css";Passo 2: Componente Vue com Layout Responsivo
vue
<script setup lang="ts">
// TypeScript script setup
</script>
<template>
<div class="grid">
<div class="col-12 md:col-6 lg:col-4 p-3">
<div class="box">Item 1</div>
</div>
<div class="col-12 md:col-6 lg:col-4 p-3">
<div class="box">Item 2</div>
</div>
<div class="col-12 md:col-6 lg:col-4 p-3">
<div class="box">Item 3</div>
</div>
</div>
</template>
<style scoped>
.box {
background-color: #f4f4f4;
text-align: center;
padding: 2rem;
border-radius: 4px;
}
</style>Explicação:
- O layout utiliza o sistema de grid do PrimeFlex para criar três colunas que se ajustam dependendo do tamanho da tela (
col-12em dispositivos móveis,md:col-6em tablets,lg:col-4em desktops). - A classe
p-3é usada para adicionar padding uniforme em todas as direções dos elementos internos.
Essa abordagem simplifica a criação de layouts responsivos e dinâmicos, aproveitando as classes utilitárias do PrimeFlex. A integração com Vue.js permite ainda uma interatividade avançada e dinâmica nos componentes, facilitando o desenvolvimento de aplicações modernas e responsivas.