你瞅啥呢

2024-07-22 如何让宽度和高度一致(flex布局)

复制代码
<template>
    <div class="demo-container">
        <div class="demo-item">
            <div class="demo-title">方向指示类图标</div>
            <div class="demo-content">
                <div class="demo-box" v-for="(item, index) in data" :key="index">
                    <div class="demo-name">{{ item.icon }}</div>
                    <t-icon :value="item.icon" />
                </div>
            </div>
        </div>
    </div>
</template>
<script setup>
import { ref, reactive } from "vue";
const data = reactive([
    {
        name: 'icon-arrow-down',
        icon: 'icon-arrow-down'
    },
    {
        name: 'icon-arrow-down',
        icon: 'icon-arrow-down'
    },
    {
        name: 'icon-arrow-down',
        icon: 'icon-arrow-down'
    },
    {
        name: 'icon-arrow-down',
        icon: 'icon-arrow-down'
    }
])
</script>

<style lang="less" scoped>
.demo-container {
    border: 1px solid green;

    .demo-item {
        .demo-title {
            padding: 10px;
            border: 1px solid #ccc;
        }

        .demo-content {
            display: flex;
            align-items: center;
            flex-direction: row;
            flex-wrap: wrap;

            .demo-box {
                border: 1px solid red;
                flex-basis: 25%;
                aspect-ratio: 1 / 1;
                box-sizing: border-box;
                padding: 10px;
            }
        }

    }
}
</style>
复制代码

效果图:

 关键在于:

flex-basis: 25%;
aspect-ratio: 1 / 1;
box-sizing: border-box;

flex-basis:控制Flex项目的初始大小

aspect-ratio:元素宽高比

box-sizing:改变盒模型,避免元素尺寸意外扩大(边框或内边距不会超出设定的宽高)

 

posted @   叶乘风  阅读(126)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
历史上的今天:
2022-07-22 2022-07-22 pc端调起qq聊天
点击右上角即可分享
微信分享提示