Visual Web Developer 中的 HTML 表编辑提示
更新:2007 年 11 月
Visual Studio HTML 表编辑器是一个功能强大的工具,用于操作 HTML 表以定义网页布局和以列格式显示内容。下列提示将帮助您充分利用 HTML 表编辑器。
编辑 HTML 表
下列几点介绍常规的表编辑行为:
HTML 表编辑器是一种编辑 HTML 表元素(例如 table、tr 和 td 元素)的可视化方法。HTML 表编辑器提供一种很方便的方法来编辑这些元素,但是使用它无法编辑任何 HTML 表不支持的功能。
表编辑器处理 HTML 表(table 元素及其子元素),但是它不处理 ASP.NET Table 控件(asp:table 元素)。ASP.NET Table 控件主要通过编程方式来使用,而不用于静态布局,而 HTML 表常用于静态布局。
“设计”视图呈现表的方式与表在浏览器中的显示方式相似。之所以如此是因为“设计”视图解释表的 HTML 元素的方法与浏览器使用的方法极为相似。有关更多信息,请参见本主题中后面的“确定大小和调整大小行为”一节。
编辑范围
了解在“设计”视图中所做的编辑是如何应用于表元素的,对于您的操作将很有帮助。注意下列事项:
表中的每个单元格都被认为是其所始于的行或列的一个成员,如“设计”视图所显示。对行或列的操作会影响该行或该列的所有成员。如果单元格包含 colspan 或 rowspan 属性,则在将“设计”视图中的单元格映射到“源”视图中的相应 td 元素时,可能不会始终得到预期结果。
行操作影响该行中的每个 td 元素。但这些操作不影响 tr 元素。
选择和修改列将影响该列中的所有 th 元素。
确定大小和调整大小行为
在最初指定表、行或列尺寸时,或者在调整这些元素的大小时,表编辑器的行为有时可能会出人意料。表元素尺寸的行为反映表在浏览器中具有的行为。例如,没有特定宽度设置的列将根据一些因素变大或缩小,这些因素包括:表的总体宽度、表中其他列的宽度以及所有列包含的内容。
内容优先
通常情况下,单元格中的内容的大小优先于单元格或行的宽度设置或高度设置。例如,如果表单元格包含一个图形,或者一个 img 元素,则该图形的大小优先于该单元格的宽度,甚至优先于表的宽度。对于表单元格中的控件来说也是如此。
如果单元格包含文本,并且该单元格的 nowrap 属性没有设置,则会按照该单元格的宽度将文本换行。但是,如果文本不含空白(例如空格和标点),则该文本没有可换行的地方,这时会重新调整该单元格的宽度以容纳该文本。
对于行高度来说,仍是内容优先。如果文本在单元格中换行,则可能导致行的高度大于为该行的 tr 元素指定的 height 设置。
确定表的大小和调整表的大小的指导方针
由于 HTML 的设计方式,可以会将互相冲突的尺寸设置分配给表和它所包含的元素。例如,一个只有两列的表可能被分配了一个 100% 的宽度,但是其中每一列又可能被分配了 100 像素宽度。
下表总结了在表编辑器中如何处理确定大小的操作。在所有情况中,都是内容的宽度优先。
指定的尺寸 |
行为 |
---|---|
为表和表的所有列指定了宽度,或者为表和表的所有行指定了高度。 |
表尺寸优先;表按比例计算列或行的大小。 |
为表和表的一些列指定了宽度,或者为表和表的一些行指定了高度。 |
以精确尺寸呈现指定了大小的元素,调整剩余元素的大小以填满表的整个尺寸。
说明:
表编辑器将没有指定大小的表元素的宽度按“自动”显示。
|
为表的每一列指定了宽度,但没有为表本身指定宽度,或者为表的每一行指定了高度,但没有为表本身指定高度。 |
将表的所有列的宽度加在一起来计算表的宽度,或将表的所有行的高度加在一起来计算表的高度。 |
没有为表或表的任何元素指定宽度或高度。 |
仅根据单元格内容和边框所需的间隔来计算宽度或高度。 |
说明: |
---|
如果要调整行或列的大小,并且 td 元素使用不同的高度单位或宽度单位,则表编辑器会将这些单位标准化为像素。 |