利用overflow:hidden属性自动充满父级剩余宽度实现自适应

前段时间需要做一系列移动站的水平布局表单,即 <label> 和 <input> 在同一行内, 并且要做到自适应占满全屏,第一次使用 overflow:hidden 属性来实现在 <label> 标签定宽的情况下,右部输入框部分自适应铺满剩余空间。HTML代码如下:


<div class="clearfix input-row">
  <label>企业名称:</label>
  <div class="input_wrapper">
    <input type="text" required />
  </div>
</div>

CSS:


.input-row{
  background:lightskyblue;
}
.input-row label{
    float: left;
    display: inline-block;
    width: 66px;
    line-height: 30px;
    text-align: right;
    margin-right: 5px;
}
.input_wrapper{
  overflow: hidden;
  margin-bottom: 8px;
}
.input_wrapper input{
  box-sizing: border-box;
  border: 1px solid #dfdfdf;
  width: 100%;
  height: 30px;
  outline: medium;
}

效果如下:
pic_01

为了方便看效果,我给最外层DIV加了背景色,然后给内部包裹input元素的div加了margin-bottom:8px 来看出父级div的宽度。label是定宽,

在左边label元素设置了左浮动的前提下,右部包裹input的div设置了overflow:hidden属性,自适应填充剩余宽度,input设置宽度100%填满此div。

另一种情况是input框左右两边都有字的情况下:
这里写图片描述

只是多了一个包含右部文字行内元素右浮动,注意此行内元素代码必须在input_wrapper div元素之前。


<div class="clearfix input-row">
  <label>注册资金:</label>
  <span>万元</span>
  <div class="input_wrapper">
    <input type="text" required />
  </div>
</div>

css:

 
span{
float:left;
line-height: 30px;
margin-left: 5px;
}

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值