html - CSS 表单布局问题

标签 html css forms

我的表单上有以下元素:

<li>
    <label class="fixed" for="Interests">Program genre interests:</label>
    <label for="Sports"><%=Html.CheckBox("Sports")%>Sports</label>
    <label for="Comedy"><%=Html.CheckBox("Comedy")%>Comedy</label>
    <label for="News"><%=Html.CheckBox("News")%>News</label>
    <label for="Drama"><%=Html.CheckBox("Drama")%>Drama</label>
    <label for="Reality"><%=Html.CheckBox("Reality")%>Reality</label>
    <label for="Kids"><%=Html.CheckBox("Kids")%>Kids'</label>
</li>

“固定”类只是使标签成为具有固定宽度的内联 block (以正确对齐字段)。如果复选框出于某种原因被迫换行,问题就会出现,因为第二行复选框从标签下方开始,而不是与第一行复选框左对齐。

我真的很努力地在这里尽量减少必要的标记/样式,但我不确定实现我正在寻找的对齐方式的最有效方法。我得到的是:

label text here:    cb1, cb2, cb3, cb4
cb5, cb6, cb7, etc...

而我想要的是

label text here:    cb1, cb2, cb3, cb4
                    cb5, cb6, cb7, etc...

实现此目的的最短/最简单的 html/css 是什么?

编辑:我应该注意,我试图避免使用 float ,因为页面的其余部分将包含一些 float 元素,而我之前遇到过嵌套 float 的问题。

最佳答案

我担心实现此目的的唯一方法是将所有复选框包装到一个 div 元素中:

<li>
    <label class="fixed" for="Interests">Program genre interests:</label>
    <div class="checkboxes-wrapper">
      <label for="Sports"><%=Html.CheckBox("Sports")%>Sports</label>
      <label for="Comedy"><%=Html.CheckBox("Comedy")%>Comedy</label>
      <label for="News"><%=Html.CheckBox("News")%>News</label>
      <label for="Drama"><%=Html.CheckBox("Drama")%>Drama</label>
      <label for="Reality"><%=Html.CheckBox("Reality")%>Reality</label>
      <label for="Kids"><%=Html.CheckBox("Kids")%>Kids'</label>
    </div>
</li>

并使用以下 CSS:

.fixed, .checkboxes-wrapper { float:left }
.checkboxes-wrapper { width: 200px; } /* 200px should be replaced by whatever size you want it to be */

关于html - CSS 表单布局问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1765359/

相关文章:

php - php提交多个数组到mysql数据库

php - 腾出空间

javascript - Foundation 5.0.3 刚刚下载,顶栏粘滞不工作

html - 为什么此页面上的布局 div 关闭得这么早,为什么布局如此损坏?

css - 自定义 selectInput 的背景颜色为 Shiny

html - 带有嵌套内容区域的粘性页脚

php - Html 自动刷新表格

javascript - JS给类添加一个数字(类名+数字)

css - 用django引用css文件

JQuery 序列化所有表单字段