我的web-app框架为无序列表中的每个字段呈现表单错误 <UL>
紧跟在无效字段之后。我的问题是我无法设置样式,以便错误与表单字段列在同一行。换行之前会换行 <UL>
。
这是我要设置样式的html,显示服务器确定的无效字段:
<p>
<label for="id_email">Email</label>
<input id="id_email" type="text" name="email" />
<span class='field_required'> *</span>
<ul class="errorlist"><li>This field is required.</li></ul>
</p>
如何防止'field_required'之间的换行符 span
为每个必填字段显示一个星号,如果表单未验证(在服务器上),则呈现'错误列表'?
目前我正在造型:
span.field_required {color:red; display:inline;}
ul.errorlist {list-style-type: none; display:inline;}
ul.errorlist li {display: inline; color:red; }
更新: 感谢大家的帮助!
虽然我的框架(django)默认提供错误,但我已经控制了HTML <UL>
。根据伟大的建议,我尝试将列表包装在自己的风格中 <p>
和 <span>
。将列表包装成一个 <span>
现在适用于Firefox 3.0,但不适用于Safari 4.0。
当我在Safari中检查元素时,似乎该段落正在关闭之前 <UL>
,即便如此 不 HTML源代码的外观。
我偶然发现了跨浏览器的错误吗? (不,见下文!)
最终解决方案: 谢谢你的帮助。以下是我最终解决问题的方法:
- 取代了
<p>
标签字段错误组合周围的标签<div>
用的clear:both;
。感谢jennyfofenny指出W3C规范禁止在一个块内(在我的情况下是列表)<p>
- 从而赢得答案。这就是为什么Safari会在列表前自动关闭我的段落,尽管Firefox会让它滑动。
然后,我将我的列表设置为:
ul.errorlist {list-style-type: none; display:inline; margin-left: 0; padding-left: 0;}
ul.errorlist li {display: inline; color:red; font-size: 0.8em; margin-left: 0px; padding-left: 10px;}