【问题标题】:align checkboxes without css or a table?对齐没有css或表格的复选框?
【发布时间】:2010-10-28 02:32:36
【问题描述】:

如果我有如下的 html 表单:

<form name="statusForm" action="post.php" method="post" enctype="multipart/form-data">
Test:
<input name="checkboxes[]" value="Test" type="checkbox">
<br>
TestTestTest:
<input name="checkboxes[]" value="Test" type="checkbox">
<br>
TestTestTestTestTestTest:
<input name="checkboxes[]" value="Test" type="checkbox">
<br>
TestTestTestTestTestTestTestTestTestTestTest:       
<input name="checkboxes[]" value="Test" type="checkbox">
<br>
<input name="Submit" value="submit" type="submit">
</form>

是否可以在不使用表格或 css 而是使用纯 html 的情况下对齐复选框以使它们结合在一起?否则,应该使用哪个 css?

【问题讨论】:

    标签: html css


    【解决方案1】:

    是的。用&lt;label&gt; 标签包围每个标签:

    <label for="checkboxes1">Test:</label>
    <input id="checkboxes1" name="checkboxes[]" value="Test" type="checkbox">
    

    然后给标签一个宽度:

    label {
        display: inline-block; /* try "block" instead if this fails in IE */
        min-width: 5em;
    }
    

    这应该很好地填充文本框。作为一个额外的好处,点击标签现在应该将浏览器焦点放在文本框中。

    【讨论】:

    • 这确实使用了最少量的 CSS(或任何其他形式的标记)。它也具有语义意义。 ++萨米尔
    • 标签元素是内联的,因此 width 属性不适用于它们(除非你让它们显示:块、浮动或类似)
    • 是的,严格来说,这种方法需要 display: inline-block。
    • 在没有 CSS 的情况下做这种事情是愚蠢的。你为什么想要? CSS 的重点是设置网页样式。 HTML 的重点是标记内容。不要用一个代替另一个。
    • 将其添加到 CSS 中。谢谢,简。
    【解决方案2】:

    文章Applying CSS to forms 提供了一些样式标签示例,以使右侧的输入沿垂直边缘排列。

    也就是说,将标签放置在右侧或单选按钮和复选框是用户界面设计的惯例。如果您遵循该约定,那么它们将自行排列(因为所有复选框将共享一个宽度)。

    【讨论】:

      【解决方案3】:

      你可以把你的标签和输入放在一个无序列表中。为了得到对齐,文本必须在输入的右边/

      <ul>
          <li>
              <label><input /> Some Text</label>
          </li>
      </ul>
      

      <ul>
          <li>
              <input /><label for="">Some Text</label>
          </li>
      </ul>
      

      丰富

      【讨论】:

        【解决方案4】:

        最简单的方法就是将它们全部向右对齐。我不确定“align”属性是否适用于表单元素,但您可以尝试一下,或者使用 align="right" 将代码包装在 div 或 p 元素中。

        CSS 是一个更好的解决方案。在表单上放置一个类,然后使用 CSS 规则 text-align: right; 或直接将 style="text-align: right" 添加到表单元素。

        【讨论】:

          【解决方案5】:

          我不明白你为什么要这样做。

          它不符合您的 no css 指令,但如果您真的不想要 external css,您可以使用内联样式。

          也许你可以使用&amp;nbsp;

          CSS(以及较小程度上的表格)是您正在寻找的工具。

          编辑:另一种方法是使用鬼像素图像。图像是 1x1 alpha 透明 png 并且您使用 height 和 width 属性来告诉它您想要多少空间。您可能需要一些内联 css 来确保事情正确清晰。

          【讨论】:

          • 不间断空格(与非间隔断点相反)不适用于布局。虽然理论上可以以一种 hacky 的方式使用它们进行布局(假设您可以保证正在使用的字体,但您不能)。
          • 我想知道为什么它没有渲染 :) 你是对的,这不是一个好方法,当然也不是它们的设计目的,但是问题是“我如何进行布局不使用布局工具”。打败我为什么,但这就是他所要求的,我认为你可以通过正确的字体集和 nbsp's 走得很远。
          猜你喜欢
          • 1970-01-01
          • 2019-11-16
          • 2010-09-28
          • 1970-01-01
          • 1970-01-01
          • 2012-06-04
          • 1970-01-01
          • 2012-10-30
          • 1970-01-01
          相关资源
          最近更新 更多