解决表单元素的前后有一大块空白的问题

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

为什么表单元素的前后有一大块空白?

解决思路:

因为表单元素form是默认外补白margin属性不为0的块元素,所以要解决问题有两个方法,定义块元素为行内元素,或者设置CSS对象的margin属性为0。

具体步骤:

方法一:设置CSS对象的margin属性为0:

<divstyle="border:1pxsolid#000">第一行<formstyle="margin:0px"></form>第二行</div>

方法二:把块元素设置为行内元素:

<divstyle="border:1pxsolid#000">第一行<formstyle="display:inline"></form>第一行</div>

虽然还有一种是把<form>标签跟<tr>或者<td>嵌套的写法,但不推荐使用:

<table><form><tr><td>单元格</td></tr></form></table>

<table><tr><form><td>单元格</td></form></tr></table>

注意:第一种方法在表单前后的文字不在同一行,而第二种方法同行。

提示:如果想改变所有表单的这个效果,可以直接在CSS里定义:

<style>

form{margin:0px}

</style>

<style>

form{display:inline}

</style>

特别提示

本例中加的DIV元素并设置边框,目的是为了让读者能更清楚的看出效果。图1.4.9、图1.4.10和图1.4.11分别为按本例设置前后的效果对比。

图1.4.9未设置前时的表单

图1.4.10按方法一设置的表单

图1.4.11按方法二设置的表单

特别说明

问题的解决主要是利用块元素和行内元素的特点,进行互相转化,另外还有CSS对象的margin属性。本例主要是解决表单相关的问题,要了解更详细的CSS对象的display和margin属性,请参考第二部分。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航