【问题标题】:CSS Grid System for Forms (with Inline Labels)表单的 CSS 网格系统(带有内联标签)
【发布时间】:2009-12-22 21:30:27
【问题描述】:

这是follow up to this question,我正在尝试使用相同的多列格式,但使用内联标签而不是块标签,例如以下模型:

图像中不是很清楚,但 name (label) + name (input) 应该占据容器宽度的 50%(或接近),email label + input 也是如此,而 country (label) + @987654328 @ 应该占据 100% 的宽度。

我希望在上述问题中使用相同的 HTML / CSS,并通过使用 inlineLabelblockLabel 类对标签元素进行样式化来更改表单的外观。

这可能吗?

PS:很抱歉让我如此痛苦,但表单 UI 可能是 Web 应用程序中最复杂和最重要的方面,整个表单元素也是其中之一样式化最复杂,我想通过创建一个简单的 CSS“框架”来以简单的方式对表单进行样式化来结束这个头痛。

【问题讨论】:

  • inlineXblockX 等类名与使用内联样式一样(不)可维护。
  • 如果网格系统设计正确,您将定义允许您在网格内进行网格划分的网格,在您的情况下使用 50% 的父容器。
  • @chelmertz:我只是使用X 来表达我的观点。 =)
  • @Kevin:对不起,我没有听懂你的意思。 =\

标签: javascript css forms


【解决方案1】:

为什么不将您的列细分为名称和电子邮件两列,使用重置 div,然后使用 100% 的国家/地区选择(假设 Grid960):

<div class="grid_10">
  <div class="alpha grid_5">
    Name <input id="Name" type="text"/>
  </div>
  <div class="omega grid_5">
    Email<input id="Name" type="text"/>
  </div>
  <div class="clear"/>
</div>
<div class="clear"/>
<div class="grid_10">

</div>

【讨论】:

  • 使用 960,您需要在内部 div 上使用 alpha(在 div1 上)和 omega(在 div2 上)(或在包含的 div 上同时使用两者)。否则你的内部 div 会溢出
  • 谢谢,我稍后试试。顺便说一句,你的意思是 960.gs,但是流体还是固定的?
  • @Kevin:感谢您的意见,我认为它应该适用于流体网格。
  • 我还没有尝试过流体版本。他们可能已经修复了这些困扰固定版本的问题。
  • @Kevin Peno - 哎呀!!修好了。
【解决方案2】:

是的,这是可能的。您是在找人为您编写代码还是只是在寻找一些大方向?您可以做到的一种方法是将标签浮动到左侧并具有一定的宽度。然后您的输入框可以向右(或向左)浮动一些宽度(即 50%)。需要以这样一种方式定义宽度,即两者可以存在于同一级别而不重叠(即,加起来

姓名和电子邮件应该存在于两列中,但国家和消息行不应延伸到您定义的列中。

【讨论】:

  • 一个大方向可能就足够了,虽然我不是 CSS 大师。但是,如果我自己无法找到解决方案,我会尽快设置赏金。稍后我会尝试你的解决方案(我现在很着急),我会告诉你进展如何。感谢您的输入! +1
猜你喜欢
  • 2016-01-08
  • 1970-01-01
  • 2018-12-30
  • 2014-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多