关于label和input对齐的那些事

input文本和label对齐

默认状态下,也就是下面这样, 文字和input是居中的。

<div>
    <label>我是中国人</label>
    <input type="text"></div>

但是经常设计图中有label的行高,或者input的高度设计,默认状态下,依然是居中的。但是很多时候label和input要浮动,一旦浮动,后面的input标签就紧紧的贴住了label标签,也就造成了视觉上看到并没有居中。

比如下面:

<div>
    <label>我是中国人</label>
    <input type="text"></div>label {
    font-size: 12px;    float: left;
}input {    height: 20px;
}

渲染出来的效果是这样

但是这并不是我想要的结果,所以通常可以控制label的padding-top,视觉上让它看起来是居中的。就像下面一样:

input单选框和label对齐

默认状态下,label和radio是不对齐的,我们知道,input是内联元素,但是它依然是可以设置高度和宽度的,因为它是内联可替换元素。默认状态下,radio是有margin值的,但是这并不是它影响label和radio是不居中的。默认效果如下:

<div>
    <label>男x</label>
    <input type="radio"></div>

因为label对齐的是文字的基线,所谓基线,就是x的底端。

如果我们浮动的话,会发生什么事情呢?

<div>
    <label>男x</label>
    <input type="radio"></div>label {
    font-size: 30px;    float: left;
}


结果发现,浮动之后,radio紧紧的贴着label,并且位于顶端。

那么到底如何让它们对齐呢?

<div>
    <label>男x</label>
    <input type="radio"></div>label {
    font-size: 50px;
    vertical-align: middle;
}input {
    vertical-align: middle;
}

得出来的效果如下:

那么,我们再来测试一下,这种方法是否可以。设置label的高度。

<div>
    <label>男x</label>

    <input type="radio"></div>label {
    font-size: 50px;    display: inline-block;    height: 140px;
    vertical-align: middle;
}input {
    vertical-align: middle;
}

结果显示如下:

说明,这种方法可行。还可以设置padding测试,这里就不测试了。

总结:

同时设置label和input的vertical-align: middle就可以了。

时间: 2024-08-05 14:45:03

关于label和input对齐的那些事的相关文章

CSS深入之label与input对齐!

我想很多人都会碰到label与input 对齐的问题. 这个东西本身不难,但是要做到与IE这个东西兼容确实有点头疼. 参考各大门户网站的前端源码. 得一方法,以记录之: html确实很简单: 帐号 输入用户帐号. 密码 输入用户密码. CSS如下: label{ display: inline-block; padding: 0 10px; vertical-align: middle; } input{ outline: none; border: 1px solid rgb(216, 216

label、input、table标签

<label>标签 <form> <label for="male">Male</label> <input type="radio" name"sex" id="male"/> <br> <label for="femal">Female</label> <input type="radio&q

关于内存对齐的那些事

Wrote by mutouyun. (http://darkc.at/about-data-structure-alignment/) 1. 内存对齐(Data Structure Alignment)是什么 内存对齐,或者说字节对齐,是一个数据类型所能存放的内存地址的属性(Alignment is a property of a memory address). 这个属性是一个无符号整数,并且这个整数必须是2的N次方(1.2.4.8.--.1024.--). 当我们说,一个数据类型的内存对齐

input【type=&quot;checkbox&quot;】标签与字体对齐

今天分享一个比较实用的技巧,在实际项目中我们会经常遇到表单的input标签多选和单选的问题,但是往往由于标签自身的样式和我们项目的风格很不搭调,就不能实现了,今天就来告诉大家怎么去实现吧. 第一种:利用伪类:(开源中国) 需要注意的是:在页面布局中,还是有input[type=checkbox]的: 它的样式如下所示: 后面就是通过js脚本来控制它去实现了: 第二种:采用图片 这是一个树形控件zTree 注意事项:图片最好做好两种状态图,并且合并成精灵图,注意类名的应用,指引入一次,后面的修改b

checkbox/input文本框与文字对齐

3种方法都能实现checkbox文本框或radio文本框与文字对齐: <meta charset="utf-8"> <input style="vertical-align:top" type="checkbox" /><label style="vertical-align:top">使用css对齐</label><br /> <input type=&quo

label 对齐

1 <label for="username">用户名</label> 2 <input type="text" id="username" name="username"/> 3 </p> 4 <p> 5 <label for="password">密码</label> 6 <input type="pas

winform Label与DataGridView右对齐

实现Label与DataGridView对齐有两种方法,差别不大: 定义: Label名称:lblName DataGridView名称:dgvData 第一种: lblName.Location = new Point(dgvData.Location.X + dgvData.Width - lblName.Width, lblName.Location.Y); 第二种: lblName.Location = new System.Drawing.Point(dgvData.Location.

html5中的input和label写法与取值

demo 效果图如上 label是html5特有的,是定义 input 元素的标注.凡是input前面要有个label标识下,label和input真是一对好兄弟啊.<label> 标签的 for 属性应当与相关元素的 id 属性相同. <div class="blocks mgtop0 brdbtm0 clearFix"> <div class="addareaBox"> <label class="stateT

纯 CSS 利用 label + input 实现选项卡

clip 属性 用于剪裁绝对定位元素. .class { position:absolute; clip:rect(0px,60px,200px,0px); } scroll-behavior: smooth; 作用在容器元素上,可以让容器(非鼠标手势触发)的滚动变得平滑.利用这个css属性可以一步将原来纯css标签直接切换,变成平滑过渡切换效果. 代码: <!DOCTYPE html> <html lang="en"> <head> <met