【问题标题】:Expanding width of form <label> issue扩展表单 <label> 的宽度问题
【发布时间】:2013-05-22 13:17:41
【问题描述】:

我正在尝试从右侧拉入文本,“我正在以个人身份填写此表格”,因此它适合一行。似乎有一个“障碍”阻止它伸展。这是一个 jsfiddle http://jsfiddle.net/9M8FQ/ 如果我调整标签的宽度,它会调整每个字段,但我真的希望它在左边很远。这是我如何尝试获取它的屏幕截图http://www.magnetikmedia.co.uk/images/screen.jpg

代码如下:

<div class="myclass active"  id="right_box">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
      <td height="0" colspan="2" valign="middle"><label class="desc" id="Name"  for="Name">Before filling out the form, please select an option below: <span id="req_2"  class="req" style="color:#82cff5;">*</span></label>
      </td>
    </tr>
    <tr height="0">
      <td width="30" height="0" align="left" valign="middle" style="padding-left:7px;"><input type="checkbox" id="individual" name="FilledInBy_Individual" value="Yes" onClick="unCheck(this.id);" <%=ind%> />
      </td>
      <td height="0" valign="middle" style="padding-left:7px;"><label for="option2">I am filling out this form as an Individual</label>
      </td>
      <tr height="0">
      <td width="30" height="0" align="left" valign="middle" style="padding-left:7px;">   <input type="checkbox" id="agencyconsultant" name="FilledInBy_Agency" value="Yes" onClick="unCheck(this.id);" <%=agent%>/>
      </td>
      <td height="0" valign="middle" style="padding-left:7px;"><label for="option2">I am filling out this form as an Agency Consultant</label>
      </td>
    </tr>
    <tr height="0">
      <td width="30" height="0" align="left" valign="middle" style="padding-left:7px;"> <input type="checkbox" id="friendrelative" name="FilledInBy_FriendRelative" value="Yes" onClick="unCheck(this.id);" <%=friend%>/>
      </td>
      <td height="0" valign="middle" style="padding-left:7px;"><label for="option3">I am filling out this form as a friend or relative</label>
      </td>
    </tr>
    <td height="0" colspan="2"><%   if request.cookies("Filled_error") <> "" then %>
          <div id="firstname_error" class="errorActive" style="position:relative;">Please select an appropriate option</div>
          <%    end if %>
    </td height="0">
      </table>
      </div>

CSS

label {
clear: both;
float: left;
padding-right: 10px;
width: 240px;
}

input{
float: left;
width: 425px;
}
.myclass {
border-width: 2px;
-moz-border-radius: 25px;
-webkit-border-radius: 25px;
border-radius: 25px;
color: #000000;
padding-left:10px;
padding-right:10px;
padding-top:10px;
padding-bottom:5px;
}
#right_box {
width: 700px;
float: left;
margin-left: 33px;
margin-bottom: 10px;
padding-top: 20px;
padding-right: 0px;
padding-left: 15px;
background-color:#eaeaea;
}   

编辑。即使调整标签宽度只是将文本推到右边的一行,它就不会再向左移动了,因为这个“墙”

【问题讨论】:

  • 好吧,您的复选框是 425 像素宽,而您的标签只有 240 像素。您可以先从 css 中删除所有这些宽度(以及从 HTML 中删除宽度属性),然后从那里获取它。
  • 哦,另一个问题。为什么复选框和复选框的标签必须在不同的表格单元格中?

标签: html css forms


【解决方案1】:

这是因为大的输入宽度将正确的文本推开..但似乎不是因为中心。

这是demo

【讨论】:

  • 这都是正确的,但是对于我想要的布局,它们必须是 425px 宽。如果我从 css 中删除所有宽度,则这些字段到处都是,没有对齐。我可以不为复选框创建一个新类吗?我愚蠢地假设输入区域和复选框会有 2 种不同的样式
  • 我能问一下你为什么要在桌子上工作吗?在 DIV 中更容易解决这个问题..
  • 长话短说,这种形式已经持续了一段时间,我根据需要让程序员参与了一些动态的东西添加到它。我只是想现在完成这件事,就像他们在桌子上做的那样,我就这样离开了。我尝试使用 div,但它弄乱了我已经拥有的 javascript 附加功能,所以觉得最好保持原样!
【解决方案2】:

input[type='checkbox'] {width:auto}

在 CSS 中。这将处理复选框。仍然存在标签宽度的问题...

【讨论】:

  • 这解决了这个特定问题,尽管没有与复选框对齐。这就是它现在的样子magnetikmedia.co.uk/images/screen2.jpg 标签宽度是正确的,它们是文本字段,所以想要这么宽。我需要解决的另一件事是如何调整这些标签的长度(我以个人身份填写此表格......)以便它们适合一行而不调整其余标签......跨度>
  • 针对李斯特先生的评论“为什么复选框和复选框的标签必须位于不同的表格单元格中?”对此没有明确的答案。就像我说的那样,我在表单上添加了一些 javascript,当我不使用表格时这些内容不起作用,当我尝试将复选框标签和复选框放在同一个表格单元格中时也不起作用。我对表格的了解还不够,无法对此进行修改
猜你喜欢
  • 2017-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-28
  • 2011-03-11
  • 2012-07-04
  • 1970-01-01
相关资源
最近更新 更多