:span、diaplay:inline-flex的动态布局

CSS实现下面样式
ps:导入、导出按钮会根据角色显隐(!!!)
要求:当按钮隐藏时,整体偏右移动
在这里插入图片描述
思路1:使用element-ui的Layout 布局
给每个 el-col动态绑定span
<el-col :span="5"> 这个“5”可以改变
在这里插入图片描述
2.给这个el-col一个样式,width为auto它好像就会被根据整个大的div去缩放这个el-col大小。

.el-col-5{
  display: flex;
  width: auto;
}

3.由于input框前面的文字长短不一样,如果不设置,一旦文字太长就会input压住,所以要给el-col中class名为txt的div加上相应的宽度,以及padding。(具体情况具体分析)

.el-col-5 .txt{
  width: 50px;
  padding-top: 12px;
  padding-left: 10px;
}

难点:三个按钮要紧随在el-row后面
要学习到一个知识点display:flex和display: inline-flex区别
转载:display:flex和display: inline-flex区别

flex

.main{
      background-color: #0f0;
      display: flex;/*父div设置该属性*/
    }               
    .main>div{
      width: 50px;
      height: 50px;
      border: 1px solid black;
    }

在这里插入图片描述
此时没有为父元素main设置宽度,默认为100%;
即使用display:flex,父元素会独占一行,那么它的宽度就很大很大,没有办法紧随在el-row后面

**

inline-flex

**

.main{
      background-color: #0f0;
      display: inline-flex;/*父div设置该属性*/
    }
    .main>div{
      width: 50px;
      height: 50px;
      border: 1px solid black;
    }
    .main div:nth-child(2){
            height:60px;
    }
//DOM
<div class="main">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
  </div>

**加粗样式**
此处虽然没有有给父元素设置宽度,但是父元素默认会根据子元素的宽高去自适应。
即使用display:inline-flex,父元素自适应,那么它的宽度是根据所有子元素宽度而设定,就有办法紧随在el-row后面

!!!回到原来主题
设置按钮父元素的样式:

.txt_bent1But{
  display: inline-flex;
  width: 100%;
  float: right;
  margin: 0 10px 0 10px;
}

三个按钮就会紧随在el-row后面了,且因为设置了float:right,当元素被隐藏的时候,整体也会向右靠啦!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
display: inline-flex;是CSS中的一个属性,用于设置元素的显示方式为内联弹性盒模型。内联弹性盒模型与弹性盒模型类似,但元素会以行内元素的方式呈现。 使用display: inline-flex;可以实现文本和行内块元素的对齐,并且可以保持多行文本的垂直居中。当容器的宽度不足以容纳元素时,元素会自动换行,并仍然保持垂直居中。 当父容器设置了宽度,并且使用了flex-wrap: nowrap;属性时,子元素的宽度会被压缩。可以通过flex-shrink属性来设置子元素的压缩系数,控制子元素的宽度压缩程度。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [详解CSS中的display:flex||inline-flex属性](https://download.csdn.net/download/weixin_38501751/12891643)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [display:inline-flex使用](https://blog.csdn.net/qq_16992475/article/details/129394012)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值