element ui响应式布局登录页
时间: 2023-09-01 16:07:16 浏览: 107
要实现 Element UI 的响应式布局,可以使用栅格系统。以下是一个简单的登录页的示例代码:
```html
<template>
<div class="login-page">
<el-row>
<el-col :xs="24" :sm="12" :md="8" :lg="6" class="login-form">
<h1 class="title">登录</h1>
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" label-width="0">
<el-form-item prop="username">
<el-input v-model="loginForm.username" placeholder="用户名"></el-input>
</el-form-item>
<el-form-item prop="password">
<el-input type="password" v-model="loginForm.password" placeholder="密码"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitLoginForm">登录</el-button>
</el-form-item>
</el-form>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
data() {
return {
loginForm: {
username: '',
password: ''
},
loginRules: {
username: [
{ required: true, message: '请输入用户名', trigger: 'blur' }
],
password: [
{ required: true, message: '请输入密码', trigger: 'blur' }
]
}
}
},
methods: {
submitLoginForm() {
this.$refs.loginForm.validate(valid => {
if (valid) {
// 登录逻辑
}
})
}
}
}
</script>
<style scoped>
.login-page {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.login-form {
background-color: #fff;
padding: 20px;
box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.1);
}
.title {
font-size: 24px;
font-weight: bold;
margin-bottom: 20px;
}
@media (max-width: 600px) {
.login-form {
width: 100%;
}
}
</style>
```
在这个示例中,我们使用了 `el-row` 和 `el-col` 标签来创建栅格布局。`el-col` 标签上的属性 `:xs`、`:sm`、`:md`、`:lg` 分别表示在不同的屏幕尺寸下栅格的宽度。例如,`:xs="24"` 表示在超小屏幕下(小于 600px),栅格占据整个屏幕的宽度。
我们还使用了 CSS 的媒体查询来设置在小屏幕下登录表单的宽度为 100%。
最后,我们可以将整个页面的高度设置为 100vh,使其充满整个屏幕。
阅读全文