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

解决|问题

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

  解决思路:

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

  具体步骤:

  方法一:设置CSS对象的margin属性为0:
    
    <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属性,请参考第二部分。

时间: 2024-08-22 14:57:20

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

解决HTML表单元素覆盖样式元素问题

解决|问题 在设计HTML页面的过程中经常会遇到表单元素覆盖样式元素引起的问题,图一就是一个典型的例子.不要小看这个貌似"低级"的问题,即使一些规模较大的网站上类似的问题也绝不鲜见.本文探讨了造成这一问题的根本原因,并提出一种补救办法--之所以说补救办法而不是一劳永逸的解决办法,是因为微软和NetScape这两个巨头也还没有对策. 一.HTML元素的显示优先级 HTML中常用的表单元素包括:文本区域(TEXTAREA),列表框(SELECT),文本输入框(INPUT type=text

解决文字和表单元素不能垂直对齐

解决办法: 1.文字大小必须是偶数,比如12PX. 2.将文字加上label标签并且也添加vertical-align:middle样式. 3.然后去除表单元素的边距. 案例: 效果图  代码如下 复制代码 <style> label{vertical-align:middle} .inputcheckbox{vertical-align:middle;} body{font-family:tahoma;font-size:12px;} </style> <input cla

jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题_jquery

HTML结构:很简单,就一个input,一个div,能说明问题就OK了: <input type="text" value="默认值"><br/><br/><div>搜索</div> 想要实现的结果: 1.input框获取焦点时value为"",失去焦点时value为"默认值":-----这个很好实现: 2.当在input框中输入要搜素的内容后,点击div搜索,要求控

HTML表单元素覆盖样式元素问题及其补救之道

问题 在设计HTML页面的过程中经常会遇到表单元素覆盖样式元素引起的问题,图一就是一个典型的例子.不要小看这个貌似"低级"的问题,即使一些规模较大的网站上类似的问题也绝不鲜见.本文探讨了造成这一问题的根本原因,并提出一种补救办法--之所以说补救办法而不是一劳永逸的解决办法,是因为微软和NetScape这两个巨头也还没有对策. 一.HTML元素的显示优先级 HTML中常用的表单元素包括:文本区域(TEXTAREA),列表框(SELECT),文本输入框(INPUT type=text),密

真正解决表单重复提交问题php代码

  以前用的js表单防止重复提交方法  代码如下   <script type="text/javascript"> var checkSubmitFlg = false; function checkSubmit() {  if (!checkSubmitFlg) { // 第一次提交   checkSubmitFlg = true;   return true;  } else { //重复提交   alert("Submit again!");  

iScroll4下表单元素聚焦及键盘的异常问题

 本文是zawa同事写的一篇博文,相信很多在webapp开发中的同学使用iscroll4会遇到的该问题,问过zawa兄的建议,在这里分享给大家,希望能帮助到各位~ 原文地址:http://www.zawaliang.com/2013/10/443.html   问题:在使用了iScroll4的容器内,当表单元素focus聚焦后键盘出现时,可能会存在iScroll区域高度不更新,滚动异常问题:而且当前聚焦的表单元素可能不出现在可视区域内,影响用户体验. iKeyboardScroll4就是这么一个

使用bootstrapValidator插件进行动态添加表单元素并校验_javascript技巧

一.前言 实际工作中,要实现表单元素的动态增加,并使用bootstrapValidator插件对动态添加的表单元素进行前台校验.在以前的工作中也使用过bootstrapValidator对表单元素进行校验,但涉及到的表单元素都是固定的,所以在页面载入时,对表单元素进行初始化就可以实现.虽然思路很明确,但由于对bootstrapValidator的用法不熟悉,在这个问题上还是浪费了很多时间,现在就把解决方法和功能效果图贴出来,希望对大家有所帮助. 思路:动态添加表单元素,并调用bootstrapV

HTML表单元素覆盖样式元素问题及其补救之道_CSS/HTML

在设计HTML页面的过程中经常会遇到表单元素覆盖样式元素引起的问题,图一就是一个典型的例子.不要小看这个貌似"低级"的问题,即使一些规模较大的网站上类似的问题也绝不鲜见.本文探讨了造成这一问题的根本原因,并提出一种补救办法--之所以说补救办法而不是一劳永逸的解决办法,是因为微软和NetScape这两个巨头也还没有对策. 一.HTML元素的显示优先级 HTML中常用的表单元素包括:文本区域(TEXTAREA),列表框(SELECT),文本输入框(INPUT type=text),密码输入

表单元素的submit()方法和onsubmit事件应用概述_基础知识

表单元素拥有submit方法,同时也具有onsubmit事件句柄,用于监听表单提交.可以使用elemForm.submit();方法触发表单提交.1.表单元素中出现了name="submit"的元素这种情况下elemForm.submit();将不会触发表单提交,因为表单原始的submit方法将会被覆盖(formElem.submit就是对该元素的引用).2.elemForm.submit();不会触发表单的onsubmit事件没有为什么,标准中就是这么规定的.与此有些类似的是onfo