`
齐晓威_518
  • 浏览: 618022 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

表单元素和文字垂直居中对齐问题解决整理

 
阅读更多
表单页面,为了使表单元素和文字都垂直居中对齐,加个样式input,select{vertical-align:middle},文本框和下拉框都没问题,但是单选框和复选框就杯具了。
大多表现:单选,复选和文字无间距,单选文字偏上,复选偏上。

关于这些问题网上有人发表了看法,用table搞定一切。这个也是一种方法,哥也不BS。
对于ie6,7下的文字间距问题,网上看到有人说设置width:14px就好了,我试了下发现width:13px更佳。这个问题解决。

对于文字偏上的问题,试了vertical-align下的所有属性都不行。后来发现vertical-align是可以设置数值的,真是白混了这么久。
单选设置了vertical-align:-2px;复选设置vertical-align:-3px;就ok了。拿到ie6,7下测试,发现差了1px,使用了hack搞定。(ie6,7就是神奇)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>表单页面</title>
<style type="text/css">
<!--
body,ul,input,select{margin:0px;padding:0px;}
body{font-size:12px;}
ul{list-style:none;margin:20px auto;width:500px;}
ul li{height:30px;}
ul li input,ul li select{vertical-align:middle;}
.input{height:18px;line-height:18px;border:1px #999999 solid;}
.checkbox,.radio{*width:13px;}
.radio{vertical-align:-2px;*vertical-align:-1px;}
.checkbox{vertical-align:-3px;*vertical-align:-2px;}
-->
</style>
</head>
<body>
<ul>
<li>姓名:<input type="text" class="input" /></li>
<li>性别:<input type="radio" name="sex" class="radio" value="1" />男 <input type="radio" name="sex" class="radio" value="2" />女</li>
<li>年龄:<select name="age" class="select">
<option value="">请选择</option>
<option>20以下</option>
<option>20-30</option>
<option>30-40</option>
<option>40以上</option>
</select></li>
<li>兴趣:<input type="checkbox" class="checkbox" name="interest" />上网 <input type="checkbox" class="checkbox" name="interest" />音乐 <input type="checkbox" class="checkbox" name="interest" />游戏 <input type="checkbox" class="checkbox" name="interest" />电影 <input type="checkbox" class="checkbox" name="interest" />其他</li>
<li></li>
</ul>
</body>
</html>


第二种方案:
1.input 文本框 文字垂直居中对齐
表单默认input文本框文字并不垂直居中而在顶端,如何调整呢,可以通过css来调整垂直高度,代码演示如下
<input type="text" style="font-size:12px;line-height:45px; height:50px;" value="www.itstudy.cn"/>

height: 设置input样式的高度,line-height:设置input里文字的行高度

heigth和line-height两项必需同时设置,才能生效!
一般来说height和line-height的值 height的值要稍稍大一些。

但是上述方法在firefox中无效,如何实现在ie和firefox下文字都垂直居中呢?可以不用line-height,代码演示如下:
<input type="text" style="font-size:12px;padding-top:15px; height:50px;" value="www.itstudy.cn"/>

2.input 文本框 文字垂直居中对齐
在ie中文字垂直居中对齐的话:
在css中把line-height的属性设置成height的高度即可。

可能有的浏览器如此设置依然不居中,此时可以使用padding属性。
如果文本框有背景图片的话就会向下凸出一块,此时可以把max-height值设为height的值。

3.input文本框、文字、按钮、图片 垂直居中对齐的解决办法
      当我们在做用户注册、登陆及搜索表单时,经常碰到文字、文本框、图片、按钮在一行时不能垂直居中对齐,本人今天遇到类似的问题,解决办法是把form里面的表单元素设置vertical-align:middle;属性就OK,实例如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>input 垂直居中对齐</title>
<style type="text/css">
*{ padding:0; margin:0; }
/* =search */
.search{ position:absolute; top:46px; right:49px; text-align:right; }
.search input{ vertical-align:middle; }
.searchkey{ width:248px; height:14px; *height:20px; _height:20px; line-height:20px; padding:6px 4px;*padding:3px 4px;_padding:3px 4px; background:#fdfdfd; border:1px solid #d4d6cb; }
</style>
</head>
<div class="search">
<form action="#" method="get" name="g3unionform">
    <img src="http://hiphotos.baidu.com/wely_ton/abpic/item/5cbdee023bc133523912bbc4.jpg" width="35" height="28" />
    <input name="searchkey" type="text" class="searchkey" />
    <input name="subm" type="image" src="images/g3union_07.gif" />
</form>
</div>
<body>
</body>
</html>




UL中的LI

<li style="margin:0 auto;line-height:30px">
<label style="vertical-align:button;">标鉴</label>
<label>
<input type="checkbox"  style="vertical-align:middle;" name="auditStatus" id="auditStatus"   />创ABD
</label>


分享到:
评论

相关推荐

    表单元素与提示文字无法对齐的解决方法(input,checkbox文字对齐)

    `将其垂直居中对齐,同时添加`padding: 2px;`为元素留出适当的内边距,提高可读性。 3. `label`: 选择所有的`label`元素,同样设置`vertical-align: middle;`使其与`checkbox`元素对齐。 接下来是使用示例: ```...

    margin-top负值解决label 文字与input 垂直居中对齐问题

    总的来说,`margin-top`负值是一种实用的解决垂直居中对齐问题的方法,但随着CSS技术的发展,我们有更多的工具如Flexbox和Grid可以用来创建更稳定、更适应各种情况的布局。在选择解决方案时,应根据项目需求和浏览器...

    表单元素垂直居中完美解决方案

    `被应用到`&lt;label&gt;`和`&lt;input&gt;`元素上,使得它们在行内元素中实现垂直居中对齐。 此外,为了确保文本与输入框保持一致的垂直居中,`&lt;input&gt;`元素设置了`margin`属性。例如,`margin: 5px;`在各个方向上提供了5像素...

    表单checkbox和radio文字对齐的代码

    今天,我们将讨论如何使用 CSS 来实现表单checkbox和radio文字的垂直居中对齐。 为什么需要对齐 在网页设计中,表单元素的对齐非常重要。良好的对齐可以提高用户体验,提高网站的可读性和美观性。而在使用checkbox...

    表单元素对齐

    在网页设计中,表单元素对齐是一项至关重要的任务,它直接影响到用户的交互体验和页面的整体视觉效果。本文将深入探讨“表单元素对齐”的相关知识点,包括基本概念、常见方法以及源码实现。 一、基本概念 表单元素...

    使用bootstrap的H5页面登录框自适应水平居中、垂直居中

    在创建H5页面时,我们常常需要实现登录框等组件在不同屏幕尺寸下的自适应水平居中和垂直居中。在标题和描述中提到的问题,即在使用Bootstrap时,登录框无法自动在视觉中心对齐,这通常是因为Bootstrap的栅格系统和...

    vertical-align 表单元素垂直对齐的解决方法

    在很多网站涉及到表单的页面中,都存在这种表单元素与提示文字无法对齐的问题。于是打算研究一下这个问题。首先,搜索到了wheatlee前辈的文章《大家都对vertical-align的各说各话》。wheatlee在他的文章中关于垂直...

    CSS实现让同一行文字和输入框对齐的方法

    通过比较这两行代码的显示结果,我们可以明显看到设置了`vertical-align`属性的输入框和文本能够实现垂直居中对齐。 具体的CSS代码如下: ```css #a input { width: 200px; height: 30px; border: 1px solid red...

    CSS 文本域和按钮对齐不一致解决方案

    我们可以通过设置`label`标签的`line-height`属性来确保文字与文本域内部文本垂直居中对齐。在设置`line-height`时,应确保其值与文本域的高度相匹配,这样文字就会垂直居中显示。 接着,对于文本域本身,可以通过...

    解决Layui数据表格中checkbox位置不居中的方法

    为了解决这个问题,我们可以采用CSS样式调整的方法来实现checkbox在单元格内的垂直居中对齐。 首先需要了解的是,Layui是一个基于jQuery的前端UI框架,它提供了丰富的界面组件,如表格、弹窗、按钮等,这些组件通过...

    表单元素radio select对齐与IE6下双边距问题解决方案

    正确的做法是,在样式表中定义`input`、`select`和`label`元素的`vertical-align`属性为`middle`,这样可以确保它们在同一行内居中对齐。例如: ```css input, select, label { vertical-align: middle; } ``` ...

    弹出层居中问题版1

    本篇将探讨如何解决弹出层的居中问题,特别是针对宽度和高度的居中调整。 首先,我们要理解“弹出层居中问题版1”所提及的挑战。在网页设计中,实现弹出层的居中并不总是直截了当的,这可能涉及到CSS布局、窗口大小...

    input文本框和img验证码对齐问题(img总比input高出一个头)

    使用Flexbox,可以通过设置`align-items: center`来轻松实现子元素的垂直居中对齐: ```css .container { display: flex; align-items: center; } .input-and-img-container { display: flex; align-items: ...

    漂亮的css表单样式

    此外,合理的对齐方式(左对齐、居中或右对齐)可以使表单看起来更加整洁。 3. **布局**:表单元素的排列方式很重要。常见的有水平排列(输入框和标签并列)和垂直排列(输入框和标签上下堆叠)。使用CSS,我们可以...

Global site tag (gtag.js) - Google Analytics