element踩坑小记一(el-row宽度溢出)

本文探讨了在使用珊格系统时,如何解决因gutter设置导致的页面宽度溢出问题,介绍了两种有效的方法:一是通过隐藏父容器的横向滚动条,二是调整父容器的padding并设置box-sizing属性。
  • 在使用珊格系统时,如果使用了有分隔的布局也就是将gutter设置为非零时,会使页面宽度溢出出现滚动条破坏了布局美观性
<el-row :gutter="20">
    <el-col :span="12"><div class="grid-content bg-purple"></div></el-col>
    <el-col :span="12"><div class="grid-content bg-purple"></div></el-col>
</el-row>
  • 原因是因为父容器没有设置足够的padding,所以会造成el-row宽度变长从而出现滚动条
  • 方法一:为父容器设置隐藏横向滚动条的样式
overflow-x: hidden
  • 方法二:为父容器设置一定的padding,并且将box-sizing设置为border-box,padding的设置根据你需要设置的间隔来定
padding: 0 10px;
box-sizing: border-box;
### 解决Element UI `el-tree` 嵌套 `el-row` 导致的内容溢出问题 在处理 Element UI 的 `el-tree` 组件时,如果遇到嵌套 `el-row` 后出现内容溢出的情况,通常是因为样式冲突或者容器宽度设置不当造成的。为了有效解决问题并提供完整的解决方案: #### 1. 调整 CSS 样式 可以通过自定义 CSS 来调整 `el-tree` 和 `el-row` 中的元素样式,确保它们能够适应父级容器的尺寸。 ```css /* 自定义CSS*/ .el-tree-node__content { white-space: normal; /* 允许多行显示 */ } .el-row { width: 100%; /* 设置行宽为100% */ } ``` 对于更复杂的场景,可以考虑使用媒体查询来针对不同屏幕大小应用不同的样式规则[^1]。 #### 2. 使用 scoped 样式作用域 为了避免全局样式的污染,在 Vue 单文件组件中推荐使用 `<style scoped>` 属性,这样可以使样式仅应用于当前组件内的 HTML 结构。 ```html <template> <!-- template code --> </template> <style lang="scss" scoped> @import "~element-ui/packages/theme-chalk/src/tree"; // 定义局部样式... </style> ``` #### 3. 动态计算宽度 有时静态设定宽度并不能满足需求,此时可以根据实际业务逻辑动态调整每层节点及其内部组件(如 `el-row`)的宽度。这可能涉及到 JavaScript 或者通过监听窗口变化事件实现响应式设计。 #### 4. 检查 Tree 配置项 确认是否正确配置了 `el-tree` 的参数选项,特别是关于节点展开行为以及渲染方式的部分。适当修改这些配置也可能有助于改善布局效果。 ```javascript data() { return { defaultProps: { children: 'children', label: 'label' } }; }, methods: { handleNodeClick(data) { console.log(data); } } ``` 以上方法可以帮助解决由于 `el-tree` 内部嵌入其他组件而导致的视觉异常现象。需要注意的是具体实施过程中还需结合项目实际情况灵活运用上述建议。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值