Bootstrap 3 Navbar中的灵活宽度输入字段

 书友58737112 发布于 2023-02-07 01:01

我正在尝试创建一个包含输入字段的导航栏.我希望输入字段占用导航栏中的所有可用空间.

在这个答案之后,我成功地创建了一个类似于我想要的布局,其中包含输入字段左侧的"插件"图标(参见此处的代码).

带有插件图标的输入字段

但是:我不希望输入字段附近的图标.

以下代码控制输入字段:


问题是删除去除...图标,使输入字段缩小到较小的尺寸并松散圆边(这不太重要.请参见此处的代码).

边缘较小的较小的场

当然,在"输入组"中包装单个输入字段是没有意义的.但是删除"input-group"包装会导致输入字段扩展并进入一个新行(请参阅此处的代码).

输入字段分为新行

在查看Bootstrap.css之后,我尝试创建一个新的css类,它模仿了类的相关代码input-group.这会在导航栏中将输入字段带回内联,但仍然不会使其扩展以占用所有可用空间(请参阅此处的代码).

带输入组模拟的输入字段

我的问题是:如何在没有图标的情况下获得我想要的布局?
额外奖励:为什么"输入组"和输入字段的图标会扩展?

所需的浏览器兼容性:Chrome,Firefox,IE8 +

1 个回答
  • 好吧,大多数人没有使用必须设计表,但在99年我开始时,表创建了布局,我们使用spacer .gifs和各种垃圾进行设计.当你有一个display:table表上的容器和一个display:table-cell放在它里面的内容上,因为.form-control是空的,所以必须有别的东西来强制元素的宽度占用空间,或者它会像一个空单元格.所以你必须有一个空的跨度,上面有一些填充来强迫它.

    http://jsbin.com/aXOZEXi/1 - Bootstrap 3.0 - 3.1

    http://jsbin.com/aXOZEXi/2/edit - Bootstrap 3.2

    .test {
      display:table;
    }
    
    .test > .form-control {
      display: table-cell;
      margin-left:-3px;
    }
    
    .test > span {
      display: table-cell;
      width:1%;
      padding:0 3px;
    }
    

    HTML

    <form class="navbar-form">
      <div class="form-group" >
        <div class="test">
          <span><!--shim--></span>
          <input type="text" class="form-control">
        </div>
      </div>
    </form>
    

    2023-02-07 01:37 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有