教程集 www.jiaochengji.com
教程集 >  CSS教程  >  正文 解决表单元素的前后有一大块空白的问题

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

发布时间:2019-11-15   编辑:jiaochengji.com
教程集为您提供解决表单元素的前后有一大块空白的问题等资源,欢迎您收藏本站,我们将为您提供最新的解决表单元素的前后有一大块空白的问题资源

  为什么表单元素的前后有一大块空白?
  解决思路:
  因为表单元素form是默认外补白margin属性不为0的块元素,所以要解决问题有两个方法,定义块元素为行内元素,或者设置CSS对象的margin属性为0。
  具体步骤:
  方法一:设置CSS对象的margin属性为0: 
     
 

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy4970')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy4970>   <div style="border:1px solid #000">第一行<form style="margin:0px"></form>第二行</div>
  方法二:把块元素设置为行内元素:
    <div style="border:1px solid #000">第一行<form style="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属性,请参考第二部分。

您可能感兴趣的文章:
解决表单元素的前后有一大块空白的问题
CSS文档流与块级元素(block)内联元素(inline)
CSS浮动属性Float入门教程
block(块元素)、inline(内联元素)的差别是什么?
css中负Margin你不知道的秘密
css3中flexbox伸缩盒深入理解
jQuery学习笔记 获取jQuery对象
新手来简单学习CSS的display属性
PHP——命名空间(namespace)使用详细介绍
CSS3选择器之学习笔记

[关闭]
~ ~