css中的线及vertical-align实例详解
行内元素格式化顺序:font-size-->em框-->内容区-->行内框-->根据基线放置行内框-->确定行框高度
相关概念:
leading(行间距):指填充在两行文字间的铅条,等于line-height 和 font-size之差,其中一半leading加到文字上方,另一半leading加到文字下方,只用于非替换元素。
em框:em框指示没有行间距时基线之间的距离,不指定字符间的边界,实际的字形可能比其em框更高或更矮。
font-size :确定给定字体的em框(em box)的高度,但不能保证实际显示的字符就是这种大小。font-size属性和实际字体大小的具体对应关系由字体的设计者确定。
基线:the line upon which most letters "sit" and below which descenders extend,并不是汉字的下端沿,而是英文字母"x"的下端沿。
内容区(content area):非替换元素即em框串在一起组成的框,间接由font-size确定;替换元素:即元素固有的高度加可能的边距和框。
行内框(inline box):虚拟的矩形框,无法显示,大小为内容区加leading。对非替换元素,等于line-height值;对替换元素,等于内容区的高度。同一行内的若干元素可以有不同的行高和行内框高。
行框(line box):包含该行内所有行内框的最高点和最低点的最小框,行框的高度只同本行内元素的行高有关,而和line-height无直接关系,和父元素的高度(height)也无关。行内框在行中根据其vertical-align属性值垂直对齐。
匿名文本:指所有未包含在行内元素中的字符串。
line-height:指文本行基线之间的距离,确定了各个元素框增加或减少多少,默认为元素本身字体大小的1.2倍。
line-height值从父元素继承时,要继承在父元素上计算的值,而不是在子元素上计算的值(em等)。如果是缩放因子(没有单位的纯数字值),则继承的是缩放因子,不是计算的值,最终会计算缩放因子和子元素的font-size的乘积。
图1:
图2:css中的线
图3:确定行框高
替换元素
替换元素的边距和边框会影响该元素的行内框,继而影响行框的高度。
其内容不受CSS视觉格式化模型控制的元素,比如、、
非替换元素
替换元素之外的所有其他元素都是非替换元素,实际内容在文档流中,由CSS的视觉格式化模型负责非替换元素的渲染。
非替换元素的边距和边框不会影响行元素行内框的高度。
vertical-align:垂直对齐,只适用于行内元素、替换元素和表单元格,不能被继承。
默认值为baseline,将行内元素的基线和所在行的基线对齐;文本都是按基线对齐的。如果一个垂直对齐元素没有基线,比如图像、表单输入元素或其他替换元素,则把该元素的底端与其父元素的基线对齐。
There is space below that line for the descenders you find on
letters like f, j, p and q.修复方法:通过设置图片的vertical-align的属性值或改变dislay:block;或者修改父元素的font-size/line-height使行内框的高度小于图片。在父元素的font-size:0;的极端情况下,中线和基线会重合。
bottom:将元素行内框的底端和行框的底端对齐。
middle:把行内元素框的中线与基线上方0.25em处的一个点对其,也等于与基线的距离为小写字母x高度的一半(即0.5ex)。x字符的中点并不是内容区的绝对中线,因为x字符会有所下沉。
百分数:相对于元素的line-height计算。行内可替换元素的line-height的作用就是帮助计算vertical-align。
具体长度的值:把一个元素相对于父元素基线升高或降低指定的距离。垂直对其的文本并不会覆盖其他行的文本,只会影响当前行的行高,以使足以包含最高行内框的顶端和最低行内框的底端。
行内块:inline-block,行内块元素会作为替换元素放在行中,即行内块的底端默认放在文本行的基线上。ie6/ie7要使用{display:inline; zoom:1;...}才生效。通常用于横向菜单列表或不等高列表元素整齐排列。但是li标签之间的空格会当作inline元素在页面显示4px的空白,可以通过父元素font-size:0,子元素font-size:12px;消除空白。对于ie6/ie7/safari需要使用word-spacing和letter-spacing加以调整。
行内块默认是baseline对齐,但是baseline的确定有特殊规定。The baseline of an 'inline-block' is the baseline of its last line box in the normal flow, unless it has either no in-flow line boxes or if its 'overflow' property has a computed value other than 'visible', in which case the baseline is the bottom margin edge.所以会出现如下图显示的布局,可以通过改变vertical-align:top;修复。
以上是css中的线及vertical-align实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

如何使用 Bootstrap 按钮?引入 Bootstrap CSS创建按钮元素并添加 Bootstrap 按钮类添加按钮文本

要调整 Bootstrap 中元素大小,可以使用尺寸类,具体包括:调整宽度:.col-、.w-、.mw-调整高度:.h-、.min-h-、.max-h-

在 Bootstrap 中插入图片有以下几种方法:直接插入图片,使用 HTML 的 img 标签。使用 Bootstrap 图像组件,可以提供响应式图片和更多样式。设置图片大小,使用 img-fluid 类可以使图片自适应。设置边框,使用 img-bordered 类。设置圆角,使用 img-rounded 类。设置阴影,使用 shadow 类。调整图片大小和位置,使用 CSS 样式。使用背景图片,使用 background-image CSS 属性。

可以通过 Bootstrap 实现文件上传功能,步骤如下:引入 Bootstrap CSS 和 JavaScript 文件;创建文件输入字段;创建文件上传按钮;处理文件上传(使用 FormData 收集数据,然后发送到服务器);自定义样式(可选)。

在 Bootstrap 中验证日期,需遵循以下步骤:引入必需的脚本和样式;初始化日期选择器组件;设置 data-bv-date 属性以启用验证;配置验证规则(如日期格式、错误消息等);集成 Bootstrap 验证框架,并在表单提交时自动验证日期输入。

Bootstrap 列表的默认样式可以通过 CSS 覆盖来移除。使用更具体的 CSS 规则和选择器,遵循 "就近原则" 和 "权重原则",覆盖 Bootstrap 默认的样式。为避免样式冲突,可使用更具针对性的选择器。如果遇到覆盖不成功的情况,可调整自定义 CSS 的权重。同时注意性能优化,避免过度使用 !important,撰写简洁高效的 CSS 代码。

Bootstrap 提供了设置导航栏的简单指南:引入 Bootstrap 库创建导航栏容器添加品牌标识创建导航链接添加其他元素(可选)调整样式(可选)

答案:可以使用 Bootstrap 的日期选择器组件在页面中查看日期。步骤:引入 Bootstrap 框架。在 HTML 中创建日期选择器输入框。Bootstrap 将自动为选择器添加样式。使用 JavaScript 获取选定的日期。
