CSS深入理解学习笔记之vertical-align

1、vertical-align基本认识

  支持的属性值:

    ①线类:baseline(默认),top,middle,bottom

    ②文本类:text-top,text-bottom

    ③上标下标类:sub,super

    ④数值百分比类:

      数值和百分比的共性:ⅰ都带数字;ⅱ都支持负值;ⅲ行为表现一致(都是在baseline基础上上下偏移数值大小,百分比类以line-height计算,IE6/IE7下vertical-align百分比值不支持小数line-height)。

2、vertical-align起作用的前提

  应用于inline水平以及“table-cell“元素。

  默认状态下支持vertical-align的元素:图片、按钮、文字和单元格。

  table-cell的vertical-align只会作用在自身,对子元素设置vertical-align是没有意义的:

3、vertical-align与line-height

  流式布局多余的空白处理:

 4、vertical-align底线、顶线、中线的行为表现

  vertical-align:bottom

    定义:①inline/inline-block元素:元素底部和整行的底部对齐;②table-cell元素:单元格padding边缘和表格行的底部对齐

  vertical-align:top

    定义:①inline/inline-block元素:元素顶部和整行的顶部对齐;②table-cell元素:单元格顶padding边缘和表格行的顶部对齐。

  vertical-align:middle

    定义:①inline/inline-block元素:元素的垂直中心点和父元素基线往上1/2x-height处对齐;②table-cell元素:单元格填充盒子相对于外面的表格行居中对齐。

    inline/inline-block元素如果单纯的设置middle,由于文字的下沉特性,图片只能够近似垂直居中,如果想要完全垂直居中,font-size需要设置为0。

5、说说vertical-align:text-top/text-bottom

   定义:盒子的顶部/底部和父级content area的顶部/底部对齐。 

  注:vertical-align仅与父级的font-size有关。

应用环境:

6、深入理解vertical-align:sub/super

  html中<sup>和<sub>功效相同,同时字体也会略微缩小,是原字号的75%大小。

  定义:提高/降低盒子的基线到父级合适的上/下标基线位置。

7、vertical-align前后不一的行为机制

  应用:

  注:关注当前元素和父级,前后并没有直接影响。

8、vertical-align糟糕的兼容性

  chrome和IE7下就有明显的不同。

  原因:①IE7下图文一体;②middle的解释有问题

  解决方案:

  使用inline-block破坏图文一体;

9、vertical-align的实际应用

  ⑴小图标和文字的对齐

  使用vertical-align负值没有兼容性差异。

  ⑵不定尺寸图片或多行文字的垂直居中:①主体元素inline-block化;②0宽度100%高度辅助元素;③vertical-align:middle

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏十月梦想

背景属性

583
来自专栏前端知识分享

第96天:CSS3 背景详解

482
来自专栏IMWeb前端团队

HTML整站结构设计

最近在做整站方面的优化,所以借此机会把一些经验思想记录汇总成文,总览如下图: ? 整体结构 整体分为header,section-main和footer三大核心...

1915
来自专栏贾鹏辉的技术专栏@CrazyCodeBoy

React Native布局详细指南

本文出自《React Native学习笔记》系列文章。 一款好的APP离不了一个漂亮的布局,本文章将向大家分享React Native中的布局方式FlexBox...

3244
来自专栏大数据钻研

CSS基础知识

1.认识CSS样式 CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小、...

3203
来自专栏HTML5学堂

CSS3渐变,就是这么玩

HTML5学堂(码匠):渐变背景是一直在页面中常见的元素之一,但是在之前所有的渐变背景都是通过设计师通过图形软件设计出来的背景图。其实这种方法比较麻烦,需要设计...

3065
来自专栏DeveWork

解决Chrome或其它WebKit浏览器input和textarea的黄色/蓝色边框问题

之前在折腾主题的时候发现一个很怪的现象,在Chrome浏览器下,输入框有一个黄色的边框;而在其它WebKit浏览器(如Jeff使用的傲游浏览器)下,输入框的颜色...

2006
来自专栏前端知识分享

第124天:移动web端-Bootstrap轮播图插件使用

> 对于Bootstrap的JS插件,我们只需要将文档实例中的代码粘到我们自己的代码中 > 然后作出相应的样式调整

694
来自专栏Nian糕的私人厨房

CSS 基础

层叠样式表 (Cascading Style Sheets),一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语...

654
来自专栏分享达人秀

最简单最常用的LinearLayout线性布局

良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认为RelativeLayout相对布局,...

2348

扫描关注云+社区