可以使用表格来实现这种行为,像这样的代码:制作宽度为基于最广泛的一个
这<style>
table {
table-layout:fixed;
width:100%;
}
td {border:1px solid red;}
</style>
<table>
<tr>
<td>Hello</td>
<td>WWWWWWWWWWWWWWWWWWWWWW</td>
</tr>
</table>
输出会像我想:
|Hello |WWWWWWWWWWWWWWWWWWWWWW|
但如果它不适合屏幕宽度,此解决方案不会将内部元素(在本例中为tds)包装到新行中! 所以我想用div和css来做这个。如果我使用:
<style>
#eq > div {
width: 400px;
float: left;
}
</style>
<div id="eq">
<div>Hello</div>
<div>WWWWWWWWWWWWWWWWWWWWWW</div>
</div>
当然,它的工作原理和输出相同,但当然文本和#eq中的元素数量是可变的!因此,如果文本“WWWWWWWWWWWWWWWWWWWWWW”将改为“哈哈”,元素将会非常荒谬。另一方面,如果我将其更改为更长的文本,然后定义宽度,则所有其他较小元素的宽度将变小。 因此,最后一个问题是: 如何使所有元素的宽度与最宽元素一样宽,并且使用纯html包装并且无需手动指定宽度的css &?
我会很惊讶,如果只有一个CSS的解决方案,我敢肯定,你需要JavaScript或类似的计算,这是很容易实现使用jQuery。 – Blowsie 2011-06-13 12:04:39
是的,我认为是相同的,但这只是说明css在某些方面与表格等古老的解决方案相比仍然很差。多可惜。通用设计的Javascript是邪恶的。 – gadelat 2011-06-13 12:16:01
设计中的JavaScript非常常见,现代浏览器专注于JavaScript性能,而JavaScript库就像Jquery一样,使编写有效的JavaScript变得非常简单。在浏览器中禁用JavaScript的任何人都将成为少数。大多数现代网站依赖并需要JavaScript才能正常工作。 – Blowsie 2011-06-13 12:21:35