知道为什么HTML页面在电脑上和手机上的布局不同吗?这篇文章带你走进Element UI的简单适配

引言

之前的文章介绍过bootstrap的响应式布局,帮助我们在手机上适配电脑上的页面,
当然媒体查询也是一个很不错的适配方法
今天带你们了解Element UI的适配方法

Element的栅格系统

bootstrap的栅格系统为12栏,而Element UI划分的更细一点,它拥有24栏
那么怎么划分栏呢,方法非常简单,

<el-row></el-row>标签定义一行,也就是24栏在这一行中进行划分,
<el-col></el-col>定义换分出来的份数,我们的响应式布局就以它两为基础

代码初体验:(我们使用的是Vue哦,别忘了)

<template>
    <div>
        <el-row :gutter="10">
            <el-col :span="12"><div class="grid-content bg-purple"></div></el-col>
            <el-col :span="12"><div class="grid-content bg-purple-light"></div></el-col>
        </el-row>
        <el-row :gutter="10">
            <el-col :span="8"><div class="grid-content bg-purple"></div></el-col>
            <el-col :span="8"><div class="grid-content bg-purple-light"></div></el-col>
            <el-col :span="8"><div class="grid-content bg-purple"></div></el-col>
        </el-row>
        <el-row :gutter="10">
            <el-col :span="6"><div class="grid-content bg-purple"></div></el-col>
            <el-col :span="6"><div class="grid-content bg-purple-light"></div></el-col>
            <el-col :span="6"><div class="grid-content bg-purple"></div></el-col>
            <el-col :span="6"><div class="grid-content bg-purple-light"></div></el-col>
        </el-row>
        <el-row :gutter="10">
         <el-col :span="4"><div class="grid-content bg-purple"></div></el-col>
         <el-col :span="4"><div class="grid-content bg-purple-light"></div></el-col>
         <el-col :span="4"><div class="grid-content bg-purple"></div></el-col>
         <el-col :span="4"><div class="grid-content bg-purple-light"></div></el-col>
         <el-col :span="4"><div class="grid-content bg-purple"></div></el-col>
         <el-col :span="4"><div class="grid-content bg-purple-light"></div></el-col>
        </el-row>
    </div>
</template>

<script>
  export default {
    name: "Layout"
  }
</script>

<style scoped>
    .el-row{
        margin-bottom: 20px;
    &:last-child{
         margin-bottom: 0;
     }
    }
    .el-col{
        border-radius: 4px;
    }
    .bg-purple-dark{
        background-color: #99a9bf;
    }
    .bg-purple{
        background-color: #d3dce6;
    }
    .bg-purple-light{
        background-color: #e5e9f2;
    }
    .grid-content{
        border-radius: 4px;
        min-height: 36px;
    }
    .row-bg{
        padding: 10px 0;
        background-color: #f9fafc;
    }
</style>

运行效果图:(当然我们也可以通过 :offset="n"来设置偏移份数(24>=n>=0))
在这里插入图片描述
这是响应式吗?不是!,接下来我们根据屏幕的不同来分配大小:

<el-row :gutter="10">
  <el-col :xs="8" :sm="6" :md="2" :lg="3" :xl="1"><div class="grid-content bg-purple"></div></el-col>
  <el-col :xs="4" :sm="6" :md="8" :lg="7" :xl="11"><div class="grid-content bg-purple-light"></div></el-col>
  <el-col :xs="4" :sm="6" :md="8" :lg="7" :xl="11"><div class="grid-content bg-purple"></div></el-col>
  <el-col :xs="8" :sm="6" :md="6" :lg="7" :xl="1"><div class="grid-content bg-purple-light"></div></el-col>
</el-row>

各位可以运行一下感受哦,浏览器怎么看响应式布局呢?图解:
在这里插入图片描述
找一找这个小手机图标,不同的浏览器它的位置不同哦

然后顶栏可以调分辨率或者点击调
在这里插入图片描述
左右也是可以拉动的哦
在这里插入图片描述
再点击一下小手机就可以退出响应式查看了

下面是对应的尺寸表
在这里插入图片描述
通过设置以上的尺寸对应的名称值来动态的改变我们的布局就可以达到响应式的效果了

有时候我们不知道如何调整布局怎么办,比如搜索框太大我们缩小不了,这时候我们可以动态的将一些组件进行隐藏或者显示,相应的表奉上:

使用之前在main.js中引入:

import 'element-ui/lib/theme-chalk/display.css';

完整配置:

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import 'element-ui/lib/theme-chalk/display.css';

Vue.use(ElementUI);

在这里插入图片描述
这些都是给el-col的类添加哦!

如果以上还不好使,那就采用媒体查询吧!

例:如果文档宽度小于 300 像素则修改背景颜色(background-color):

@media screen and (max-width: 300px) {
    body {
        background-color:lightblue;
    }
}

使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。

@media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,
@media 是非常有用的。

当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。

以下信息来自于菜鸟教程:

在这里插入图片描述
mediatype的类型:
在这里插入图片描述
媒体的功能:
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

CharmDeer

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

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

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

打赏作者

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

抵扣说明:

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

余额充值