垂直对齐:vertical-align属性(2)
作者:ddcatlee 来源:豆豆猫的窝 发布时间:2008-07-11 20:55:00
7.4.2 属性值详解
在[7.3 行高 line-height]一节中,曾经介绍了文本的基线、顶线、中线和底线,还有内容区域、行内框和行框,而本节的垂直对齐和这几个概念密切相关。
垂直对齐主要属性值的表现形式如图7-36所示。
图7-36 垂直对齐的主要属性值示意
1. 基线对齐(vertical-align : baseline)
基线对齐(vertical-align : baseline)使元素的基线同父元素的基线对齐,例如有如下代码:
p strong {
line-height : 7em;
font-size : 2em;
vertical-align : baseline;
}
<p>基线对齐<strong>vertical-align:baseline;</strong></p>
则其显示如图7-37所示。
图7-37 基线对齐
而像图片或者输入框这样的元素,本身没有基线,则将其底端同父元素的基线对齐,如图7-34所示。
2. 顶端对齐(vertical-align : top)
顶端对齐(vertical-align : top)是将元素的行内框的顶端与行框的顶端对齐,例如有如下代码:
p {
line-height : 7em;
}
p strong {
vertical-align:top;
line-height:2em;
}
p img {
vertical-align : top;
}
<p>顶端对齐:<strong>vertical-align:top;</strong><img src="img/ddcat_anim.gif" alt="图片" width="88" height="31" /></p>
则其显示如图7-38所示。
图7-38 顶端对齐
对于<strong>元素,不仅设定了vertical-align,还设定了line-height,这是因为在本章[7.3.2 内容区域、行内框和行框]一节中关于行内框的说明中介绍过,行高可以改变行内框的高度,如果不重新设定行高,则<strong>元素继承了父元素<p>的行高,因此行内框高和行框的高度是一样的,则顶端对齐将看不出效果。
3. 文本顶端对齐(vertical-align : text-top)
文本顶端对齐(vertical-align : text-top)是将元素行内框的顶端同文本行的顶线对齐,例如有如下代码,其显示如图7-39所示。
p {
line-height : 7em;
}
p strong {
vertical-align : text-top;
line-height : 2em;
}
p img {
vertical-align : text-top;
}
<p>文本顶端对齐:<strong> vertical-align:top;</strong><img src="img/ddcat_anim.gif" alt="图片" width="88" height="31" /></p>
图7-39 文本顶端对齐
4. 底端对齐(vertical-align : bottom)
底端对齐(vertical-align : bottom)与顶端对齐(vertical-align : top)相反,如图7-40所示。
图7-40 底端对齐
5. 文本底端对齐(vertical-align : text-bottom)
文本底端对齐(vertical-align : text-bottom)与文本顶端对齐(vertical-align : text-top)相反,如图7-41所示。
图7-41 文本底端对齐
6. 中间对齐(vertical-align : middle)
中间对齐(vertical-align : middle)通常使用在图片上,将图片的垂直方向的中线与文本行的中线对齐,例如有XHTML代码如下,其显示如图7-42所示。
p img { vertical-align : middle; }
<p>中间对齐为基线上方0.5ex处<img src="img/ddcat_ad.gif" alt="图片" width="180" height="60" /></p>
图7-42 中间对齐
中线的定义为:中线位于基线的上方,与基线的距离为小写字母x高度(即ex)的一半,如图7-36所示。而ex同字体尺寸相关,大部分浏览器认为1ex = 0.5em,因此会将基线以上四分之一em处作为中线来对齐。
注意:同在行高显示上的差别一样,在中间对齐上,各浏览器之间也稍有些差异。


猜你喜欢
- 本文实例为大家分享了javascript自定义加载loading效果的具体代码,供大家参考,具体内容如下加载中图片,底色为白色(看不到)效果
- 关于argmax、argmin函数的使用1、在matlab的现有函数中,并没有argmax,argmin函数可以直接调用,要根据这两个函数的
- 介绍Addit 是一个Python模块,除了提供标准的字典语法外,Addit 生成的字典的值既可以使用属性来获取,也可以使用属性进行设置。这
- asp日期转换星座函数,参数是日期型function astro(birth)astro=""if
- 先给大家介绍下Python 字符串前面加u,r,b,f的含义(字符串前缀)1、字符串前加 u例:u"我是含有中文字符组成的字符串。
- 表一、运算符与特殊字符 运算符描述/选择子元素,返回左侧元素的直接子元素;如果"/"位于最左侧表示选择根结点的直接子元素
- 在我们平时使用PyCharm的过程中,一般都是连接本地的Python环境进行开发,但是如果是离线的环境呢?这样就不好搭建Python开发环境
- 什么是触发器?触发器是在对表进行插入、更新或删除操作时自动执行的存储过程。 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触
- 前言django,web开发中,用django-debug-toolbar来调试请求的接口,无疑是完美至极。 可能本人,见识博浅,才说完美至
- 由于javascript是一种无类型语言,所以一个数组的元素可以具有任意的数据类型,同一个数组的不同元素可以具有不同的类型,数组的元素设置可
- 可以把本功能写成一个函数,函数的处理过程描述如下:首先调用adodb.connection对象中的openSchema函数,这样会得到一个R
- 使用Python可视化Pygal包来生成可缩放的矢量图形文件!对于在尺寸不同的屏幕上显示图标,它们将自动缩放以适合观看者的屏幕,如果以在线的
- 说明C# 调用 Python 程序有多种方式,本篇用的是第 4 种:nuget的ironPython;用 c/c++ 调用python,再封
- 调试程序的过程中,发现通过os.path.join拼接的路径出现了反斜杠directory1='/opt/apps/upgradeP
- 前言先介绍下问题:组内有十来台机器,上面用 cron 分别定时执行着一些脚本和 shell 命令,一开始任务少的时候,大家都记得哪台机器执行
- 1.使用npm进行初始化在本地创建项目的文件夹名称,如 node_test,并在该文件夹下进行黑窗口执行初始化命令 2. 安装 e
- 现在的高手真是越来越多,我刚发现一个版主兄竟然在不支持数据库的ISP免费主页上使用数据库,套用QQ聊天的一句话就是:Faint!明明人家IS
- 实例如下:# -*- coding: utf-8 -*-"""Spyder EditorThis tempor
- 目录环境介绍原理介绍环境介绍Python 3.6 + OpenCV 3.4.1.15原理介绍首先,提取出模板中每一个数字的轮廓,再对信用卡图
- Docker用于开发Docker不仅用于部署,它还可以用于开发。1、为什么要在开发中使用Docker主要有以下几个原因。 1)一致的开发环境