在 HTML/CSS 中组织列表
我有一个列表,每个项目都需要两个部分。 我还需要第一部分具有固定宽度。 我应该如何编码?
我尝试过使用定义列表:
<dl>
<dt style="width: 2em;">foo</dt><dd>bar</dd>
...
</dl>
... 和带有跨度的用户列表:
<ul>
<li><span style="width: 2em;">foo<span>bar</li>
...
</ul>
两者都不起作用。 有没有规范的方法可以做到这一点?
I have a list and I need two sections in each item. I also need the first section to be of fixed width. How should I code it?
I've tried using definition lists:
<dl>
<dt style="width: 2em;">foo</dt><dd>bar</dd>
...
</dl>
... and user lists with span:
<ul>
<li><span style="width: 2em;">foo<span>bar</li>
...
</ul>
Neither worked. Are there any canonical ways to do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
就像艾伦说的,但如果你只放一个 div ,它不会按你想要的方式工作,试试这个:(
也许你想使用一个类,而不是重复每个列表项的样式属性)
Like Alan said but if you just put a div it won't work the way you want, try this:
(maybe you'd like to use a class instead of repeating the style attribute each list item)
我想出的方法也许不是规范的(但只是因为我不相信有一个“规范”的实现方法),但它确实有效:
有一个工作演示:http://www.davidrhysthomas.co.uk/so/lists.html。
The way I came up with is, perhaps, not canonical (but only because I'm not convinced that there is a 'canonical' means of implementing it), but it does work:
There's a working demo over at: http://www.davidrhysthomas.co.uk/so/lists.html.
宽度不适用于
标记,因为它们是内联的。 尝试用
或
或任何其他块元素替换标签。
Width does not apply to
<span>
tags as they are inline. Try replacing the tag with a<div>
or<p>
or any other block element.使用 dl 并将 dt 向左浮动。
Use a dl and float the dt to the left.
尝试为第一部分使用标签或内联 div
try either a label for the first portion or an inline div
我想问:这是为了表示表格数据吗? 我们一直被灌输这样的观念:HTML 表格是邪恶的,但对于显示数据表格来说,它们是完美的。 我见过不止一位编码人员尝试使用
和 CSS 复制
标记的功能。
当然,如果不是,那么请继续。 :-)
I'd like to ask: is this for representing tabular data? We've been indoctrinated into thinking that HTML tables are evil, but for showing, well, a table of data, they're perfect. I've seen more than one coder try and duplicate the functionality of the
<table>
tag using<div>
s and CSS.Of course, if it's not, then please, carry on. :-)