CSS Alignment:元素对齐问题
2015-08-16 21:24
645 查看
text-align
text-align指定了行内内容(例如文字)如何相对它的块父元素对齐。作用于当前元素的子元素,且子元素需是inline的。例如:
常用的取值有:
left,
right,
center。
<style> .right{ text-align: right; } </style> <div class="right"> <span>Gesetz zur Änderung des Fernstra</span> </div>
vertical-align
vertical-align指定行内(inline)元素或表格单元格(table-cell)元素的垂直对齐方式。与
text-align不同,
vertical-align作用于当前元素。
为什么要是行内元素呢?因为如果是块元素的话,它总是会占据整行,就无所谓谁和谁垂直对齐了。
常用的取值有:
top,
bottom,
middle,默认值为
baseline。
<style> .block1 { display: inline-block; height: 150px; background: gold; } .block2 { display: inline-block; vertical-align: bottom; } </style> <div class="block1">Be holographic for whoever lures</div> <div class="block2">Eheu, rector!</div>
让
.block2对齐整行的底部:
注意:
vertical-align指定的对齐顶部、底部或中间是相对于当前行而不是父元素。例如:
<style> .block { height: 150px; background: gold; } .block span{ vertical-align: bottom; } </style> <div class="block"> <span>Be holographic for whoever lures</span> </div>
上面的CSS不会将
span对齐到父元素的底部,因为
span单独构成了一行。效果如下:
实例:表单元素对齐
输入控件(input)和标签(
label)之间的对齐是Web开发中最常见的问题之一。来个例子:
<form> <input placeholder="Input your username..."> <button>Submit</button> </form>
上述的表单中,有一个输入空间和一个按钮。因为
vertical-align的默认值为
baseline,所以它们的文字基线是对齐的:
假设由于种种原因,我们给
button添加了上下不对称的
padding:
form button{ padding-bottom: 20px; }
可以看到它仍然是按照
baseline对齐的:
然而,我们希望的是整个
button和
input的中线对齐,此时便可以重设它的
vertical-align属性:
form button{ padding-bottom: 20px; vertical-align: middle; }
现在它们终于居中对齐啦!
除非注明,本博客文章均为原创,转载请以链接形式标明本文地址: http://harttle.com/2015/06/17/css-alignment.html
相关文章推荐
- 使用css保持一定宽高比例
- CSS布局--transform应用(矩形旋转、缩放、倾斜、滚动、3D转换)代码
- 通用 CSS 笔记、建议与指导
- Html样式表
- CSS Line Box:溢出与折行
- css滤镜实现页面灰色黑白色效果代码
- CSS中背景图像
- CSS3 timing-function: steps()介绍
- 02---CSS整理
- CSS 3基础(二)——边框
- css table自动布局下<td>宽度计算
- Boostrap入门+样式学习--肆--
- css3,可以为一个元素添加多个动画
- 纯CSS3动画实现小黄人
- CSS布局之品字布局
- 在css样式表里面引用background-image没有出现图片原因与解决方法
- css 可继承属性
- VS2010 调试CSS路径不允许多斜杠
- css样式简介
- CSS3设置多个背景图片