我正在尝试创建一个包含输入字段的导航栏.我希望输入字段占用导航栏中的所有可用空间.
在这个答案之后,我成功地创建了一个类似于我想要的布局,其中包含输入字段左侧的"插件"图标(参见此处的代码).
但是:我不希望输入字段附近的图标.
以下代码控制输入字段:
问题是删除去除...
图标,使输入字段缩小到较小的尺寸并松散圆边(这不太重要.请参见此处的代码).
当然,在"输入组"中包装单个输入字段是没有意义的.但是删除"input-group"包装会导致输入字段扩展并进入一个新行(请参阅此处的代码).
在查看Bootstrap.css之后,我尝试创建一个新的css类,它模仿了类的相关代码input-group
.这会在导航栏中将输入字段带回内联,但仍然不会使其扩展以占用所有可用空间(请参阅此处的代码).
我的问题是:如何在没有图标的情况下获得我想要的布局?
额外奖励:为什么"输入组"和输入字段的图标会扩展?
所需的浏览器兼容性:Chrome,Firefox,IE8 +
好吧,大多数人没有使用必须设计表,但在99年我开始时,表创建了布局,我们使用spacer .gifs和各种垃圾进行设计.当你有一个display:table表上的容器和一个display:table-cell放在它里面的内容上,因为.form-control是空的,所以必须有别的东西来强制元素的宽度占用空间,或者它会像一个空单元格.所以你必须有一个空的跨度,上面有一些填充来强迫它.
.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>