block - 如何使文本输入框占据父 block 内的所有剩余宽度?

标签 block css

如何实现以下目标:

┌────────────────────parent────────────────────┐
│ label [text-box                   ] [button] │
│ paragraph                                    │
└──────────────────────────────────────────────┘
  • label 左对齐
  • button 右对齐
  • text-box 占据父级的所有剩余宽度
  • paragraph 左对齐,也必须与 label 左对齐

labelbutton 都应尽可能遵守别处定义的字体属性。 parent 在窗口内居中对齐,自然可以具有任意宽度。

请指教。

最佳答案

更新 [2016 年 10 月]:Flexbox 版本...

form {
  display: flex;
}
form input[type="text"] {
  flex: 1;
}
<form>
  <label>Name</label>
  <input type="text" />
  <button>Submit</button>
</form>
<p>Lorem ipsum...</p>

原始答案 [2011 年 4 月]:无表 CSS 版本(表行为)...

<div id="parent">
    <div id="inner">
        <label>Name</label>
        <span><input id="text" type="text" /></span>
        <input id="submit" type="button" value="Submit" />
    </div>
    <p>some paragraph text</p>
</div>

CSS...

#inner {
    display: table;
    width: 100%;
}
label {
    display: table-cell;
}
span {
    display: table-cell;
    width: 100%;
    padding: 0px 10px;
}
#text {
    width: 100%;
}
#submit {
    display: table-cell;
}

演示:http://jsfiddle.net/wdm954/626B2/4/

关于block - 如何使文本输入框占据父 block 内的所有剩余宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5825861/

相关文章:

ruby-on-rails - Ruby on Rails 将引用传递给 yield(模板)

html - 如何使用 wrap 和 inline-block 使 javascript 卡溢出

javascript - 无法识别 meteor 自定义 HTML 标签

jQueryUI 按钮上切换缩放效果

Ruby 链表实现 #remove!阻止无效

ruby - 有没有办法将正则表达式捕获传递给 Ruby 中的 block ?

javascript - 单击按钮时如何更改按钮中的类

javascript - Chrome 对待 CSS 非常特别

css - 将 div 显示为没有 100% 宽度的居中 block

android - Apache Cordova : how to block network access in config. xml