ElementUI响应式布局bug、其中中el-col-sm-0会导致响应式布局失效的解决方法

ElementUI响应式布局bug、其中中el-col-sm-0会导致响应式布局失效的解决方法如下布局,如果将:sm=”0″则会导致456始终不显示下面得响应式布局目的就是希望在sm也就是屏幕宽度在小于992px时将456隐藏,不显示,但是如果这样做就会出现bug<el-col:xs=”24″:sm=”24″:md=”17″:lg=”19″:xl=”20″>123</el-col><el-col:xs=”0″:sm=”0″:md=”7″:lg=”5″:xl=”4″>456</el-col>完整得例子新建一个demo

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

如下布局,如果将:sm="0"则会导致456始终不显示
下面得响应式布局目的就是希望在sm也就是屏幕宽度在小于992px时将456隐藏,不显示,但是如果这样做就会出现bug

<el-col :xs="24" :sm="24" :md="17" :lg="19" :xl="20">123</el-col>
<el-col :xs="0" :sm="0" :md="7" :lg="5" :xl="4" >456</el-col>

完整得例子

新建一个demo.html文件内容如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试页面</title>
    <!-- cdn引入ElementUI样式 -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <style> * { 
     margin: 0; padding: 0; } .myclass1 { 
     height: 200px; background-color: slategray; } .myclass2 { 
     height: 200px; background-color: #867090; } </style>

</head>
<body>
<div id="app">
    <el-row>
        <el-col :xs="24" :sm="24" :md="17" :lg="19" :xl="20" class="myclass1">123</el-col>
        <el-col :xs="0" :sm="1" :md="7" :lg="5" :xl="4" class="myclass2" >456</el-col>
    </el-row>

</div>

<!--cdn引入ElementUI组件必须先引入Vue-->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!-- cdn引入ElementUI组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script type="text/javascript"> const vm = new Vue({ 
     // 配置对象 options // 配置选项(option) el: '#app', // element: 指定用vue来管理页面中的哪个标签区域 data: { 
     screenWidth: 992 }, }) </script>
</body>
</html>

会发现456不会显示,虽然宽度有了但是内容456却不显示
在这里插入图片描述

将sm得值设置非0则正常,但是屏幕宽度为sm时会导致456被挤下去如下在这里插入图片描述

解决方法,通过vue得v-if或者v-show

首先、将sm不要设置为0,例如设置为1
其次、为了解决这个sm=1的问题,通过js获取屏幕宽度,当屏幕<992时就不显示即可

当屏幕小于992px时将其隐藏掉

<el-row>
    <el-col :xs="24" :sm="24" :md="17" :lg="19" :xl="20" class="myclass1">123</el-col>
    <el-col :xs="0" :sm="1" :md="7" :lg="5" :xl="4" class="myclass2" v-show="screenWidth >= 992">456</el-col>
</el-row>

以及通过vue获取屏幕宽度

const vm = new Vue({ 
    // 配置对象 options
    // 配置选项(option)
    el: '#app',  // element: 指定用vue来管理页面中的哪个标签区域
    data: { 
   
        screenWidth: 992
    },
    mounted(){ 
   
        const that = this
        window.onresize = () => { 
   
            return (() => { 
   
                window.screenWidth = document.body.clientWidth
                that.screenWidth = window.screenWidth
            })()
        }
    }
})

效果
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190289.html原文链接:https://javaforall.net

(0)
上一篇 2026年2月23日 下午7:22
下一篇 2026年2月23日 下午8:01


相关推荐

  • 使用Python暴力激活成功教程密码

    使用Python暴力激活成功教程密码由于业务需求,今天项目对接了百度云智能的风控系统,注册和登陆保护,想来测试一下性能,用python写了一个脚本,暴力激活成功教程密码,看看会不会触发风控一、首先在本地新建了一个数据库,保存已经试错过的密码CREATETABLE`test`.`pwd`(`id`int(10)NOTNULLAUTO_INCREMENT,`passwod`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLDEFAULT’…

    2022年8月22日
    12
  • 利用cmd命令进入mysql数据库

    利用cmd命令进入mysql数据库1.打开cmd。2.输入电脑上mysql安装的盘路径:之后回车3.输入完整的mysql.exe安装路径:cdD:\mysql\bin 之后回车4.输入mysal-hlocalhost-uroot(数据库名称)-p*****(数据库的密码)之后回车注:每个-前都有空格5.此时已进入mysql数据库,可以根据showdatabases;语句显示现有的数据库6.也可以对数据库进行操作,例如

    2022年5月31日
    39
  • SSTI详解 一文了解SSTI和所有常见payload 以flask模板为例

    SSTI详解 一文了解SSTI和所有常见payload 以flask模板为例做的 ctf 题里有好几道跟 SSTI 有关 故对 SSTI 进行学习 在此做个小结与记录

    2026年3月26日
    2
  • Conda 创建和删除虚拟环境

    Conda 创建和删除虚拟环境conda 可以理解为一个工具 也是一个可执行命令 其核心功能是包管理和环境管理 包管理与 pip 的使用方法类似 环境管理则是允许用户方便滴安装不同版本的 python 环境并在不同环境之间快速地切换 conda 的设计理念 conda 将几乎所有的工具 第三方包都当作 package 进行管理 甚至包括 python 和 conda 自身 Anaconda 是一个打包的集合 里面预装好了 conda 某个版本的 python 各种 packages 等 1 安装 Anaconda 打开命令行输入 conda V 检验是否安装及当前 co

    2026年3月17日
    3
  • jQuery遮罩层登录对话框

    用户登录是许多网站必备的功能。有一种方式就是不管在网站的哪个页面,点击登录按钮就会弹出一个遮罩层,显示用户登录的对话框。这用方式比较灵活方便。而现在扫描二维码登录的方式也是很常见,例如QQ、微信、百度

    2021年12月28日
    38
  • Jmeter正则表达式提取器-一些常用技巧

    Jmeter正则表达式提取器-一些常用技巧以下为网上转载:1、提取全部:^(.*)$2、提取中间某一段:(.*?)或(.+?)3、从中间某处提取到末尾:([^”]+)4、转义:\5、换行:\n6、\d+是来匹配1个或更多连续的数字ps:(.+?)和(.*?)的区别:(.+?)提取1个字符串及以上,不要太贪婪,在找到第一个匹配项后停止;(.*?)提取0个字符串及以上,要取的值是空值的时候可以取得到。例如:“test”:””,如果要取test的值,使用(.+?)匹配不…

    2025年10月20日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号