html - 使用显示 :inline 未将 Div 对齐成一行

标签 html css

我得到了使用 Cobalt 8 Joomla 插件生成的提交表单。它有 4 个字段:2 个文本框和 2 个选择,每个字段都存储在单独的 div 中,所以在下一行。但我需要以某种方式将它们放在同一条线上。

我已经尝试为这些 div 设置 display:inline 但这并没有解决问题。看起来其他一些样式正在破坏我的显示。

就 Joomla 中的许多其他 css 文件而言,我无法创建 JSFiddle,但这里是有问题的表单的链接:Form with divs

我希望从 Test 1 标签开始的 4 个元素显示在一行中:文本框、选择、文本框、选择。

如果有人可以查看此表单并向我解释为什么在使用 display:inline 时失败,我将不胜感激

最佳答案

它仍然存在一些布局问题(由于您的测试,我假设),但这两条规则至关重要:

.control-group {
    display: inline-block;
    vertical-align: top;
}

Inline-block 确保那些 div 仍然有它们的填充和边距而不是完整的 block (不占用 100% 的宽度,从而迫使下一个非 block 元素进入新行)。

Vertical-align,顾名思义,强制所有这些内联 block 粘在其父元素的顶部。当你删除你的测试对象时,你可能不需要它(比如那个标签,一两个添加了样式的元素)。但基本上,它可以让你避免这种情况:

---   -----    
| |   |   |  ----
| |   |   |  |  |
| |   |   |  ----
---   -----

取而代之:

---   -----  ----    
| |   |   |  |  |
| |   |   |  ----
| |   |   |  
---   -----

注意:那些逼真的图形代表 div 框。

关于html - 使用显示 :inline 未将 Div 对齐成一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26468623/

相关文章:

html - 两个背景水平在 div 一个圆形 div

javascript - 反转页面上除图像之外的所有内容

javascript - 检查子元素,如果子元素存在则隐藏父元素

css - 图像作为带有标题叠加的 Shiny 头部背景

html - CSS :hover and transform

html - 是什么导致我的 Bootstrap col 在中间断点处有大顶部 'margin'?

javascript - 元素的直接子元素的 Element.querySelector

html - 侧边栏高度不随内容高度一起变化

html - IE8 中的旋转图像打印

html - 调整 div 中文本的 CSS 问题