【Vue】自定义elementUI表单的样式,表单输入框换行效果

本文探讨了在使用Element UI行内表单时遇到的空白问题,通过删除`inline=true`并定制CSS解决。作者分享了如何将表单项宽度设为50%,并采用flex布局以适应窗口变化,但可能导致单行显示多个输入框。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

elementUI的组件样式:表单

原来的效果
在这里插入图片描述
会发现,我的弹出框有多长,这个输入框就多长。


问题描述

当我用了elementUI的行内表单,就会达到这样的效果
在这里插入图片描述
这样的话就是两个输入框摆在一起,如果弹出框够长,那么也可以三个甚至四个摆在一行。


原因分析:

但是当我用上了elementUI的【行内表单】时,我的浏览器窗口变化,等等,会导致,一大片空白
在这里插入图片描述


解决方案:

不使用【行内表单】效果,改写原有的样式效果

删除:inline="true" ,采取自己写样式效果。

给弹出框加一个class类名,防止污染样式在这里插入图片描述
css样式

.form {
	.el-form-item{
		width: 50%;
	}
	.el-form{
		display: flex;
		flex-wrap: wrap;
	}
}

效果图
在这里插入图片描述
弊端就是平分了它的50%,只能显示一条两个

### 使用 ElementUI 设计美观登录页面 #### 一、项目简介 一个基于 VueElementUI 的简单登录界面,适合用于快速搭建登录页面[^1]。此项目不仅提供了完整的前端代码结构,还包含了详细的文档说明。 #### 二、环境准备 为了能够顺利运行该项目并学习其设计思路,请先确保本地开发环境中已安装 Node.js 及 npm 或 yarn 工具。接着按照如下命令克隆仓库并启动应用: ```bash # 克隆远程仓库到本地 git clone https://gitcode.com/open-source-toolkit/cebf5.git cd cebf5 # 安装依赖包 npm install # 启动服务,默认访问 http://localhost:8080/ npm run serve ``` #### 三、核心代码解析 ##### 3.1 登录表单样式设置 通过自定义 CSS 类名来调整输入框间距以及按钮位置等细节部分,使整个页面看起来更加整洁有序。 ```html <el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <!-- 用户名校验 --> <el-form-item label="用户名" prop="username"> <el-input v-model.number="ruleForm.username"></el-input> </el-form-item> <!-- 密码校验 --> <el-form-item label="密码" prop="password"> <el-input type="password" v-model="ruleForm.password" autocomplete="off"></el-input> </el-form-item> <!-- 提交按钮 --> <el-form-item> <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button> <el-button @click="resetForm('ruleForm')">重置</el-button> </el-form-item> </el-form> ``` ##### 3.2 表单验证逻辑编写 利用 `v-model` 绑定数据模型与视图层之间的双向绑定关系,在用户交互过程中实时获取最新状态;并通过配置项中的 rules 属性指定各字段的具体检验规则。 ```javascript data() { var checkUsername = (rule, value, callback) => { if (!value) { return callback(new Error('请输入用户名')); } setTimeout(() => { if (!Number.isInteger(value)) { callback(); } else { callback(); } }, 1000); }; var validatePass = (rule, value, callback) => { if (value === '') { callback(new Error('请输入密码')); } else { if (this.ruleForm.checkPass !== '') { this.$refs.ruleForm.validateField('checkPass'); } callback(); } }; return { ruleForm: { username: '', password: '' }, rules: { username: [ { validator: checkUsername, trigger: 'blur' } ], password: [ { validator: validatePass, trigger: 'blur' } ] } }; }, ``` #### 四、美化建议 除了上述基础功能外,还可以考虑加入更多视觉效果提升用户体验感,比如背景图片轮播展示、动画过渡效果处理等等。同时也可以参考官方提供的其他案例进一步优化现有设计方案[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿民不加班

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值