首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于 vertical-align 你应该知道一切

MDN 对它定义如下: 一种简单 CSS 属性,用来指定行内元素(inline)或表格单元格(table-cell)元素垂直对齐方式。...首先我们先讲一下,要实现垂直居中,我们为什么选择 vertical-align 这样一个不起眼 CSS 属性。...在实际应用我们经常会遇到下图这种情况,你可能容易解决这种无法对齐问题,但是你知道是什么原因导致他们这个样子吗?...为什么产生这种现象呢?主要原因在于文字具有下沉特性,从而导致蓝线无法绝对与红线对齐。当文字大小足够小时,我们可以忽略。从而近似的实现居中效果。但是文字越大,影响就越明显。 ?...以下提供几种思路: 1、设置后面的 “空白节点 X ” 垂直对齐方式也是 vertical-align:middle,然而,既然称之为 “空白节点” 就表示不会受非继承特性属性影响,所以,根本没法设置

2.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

div内图片和文字水平垂直居中「建议收藏」

本文将提供两种更为新颖方法,代码简洁,原理简单,上手容易,兼容性强,出错率低方法。inline-block裸标签对齐法,以及透明图片拉伸对齐法。...实现关键是把文字当图片处理。用一个span标签将所有的文字封装起来,设置文字与图片相同display属性(inline-block属性),然后用处理图片垂直居中方式处理文字垂直居中即可。...hack都是多余,而*display:block更是多余,因为IE6,IE7根本就不认识display:table-cell是谁!...gif图片,高度可以轻松设置为外部标签高度,宽度压缩至最小,然后通过vertical-align:middle对齐,就实现效果了,由于影响布局差不多就vertical-align:middle这一个属性...:middle;} 相比图片而言,多了个display:inline-block; 但是少一次链接请求。

3.4K21

高度不固定图片、多行文字水平垂直居中

② 多行文字 如何实现父容器高度固定,文字可能一行,两行或更多行垂直居中对齐呢? 实现关键是把文字当图片处理。...用一个标签将所有的文字封装起来,设置文字与图片相同display属性值(inline-block属性),然后用处理图片垂直居中方式处理文字垂直居中即可。...hack都是多余,而*display:block更是多余,因为IE6,IE7根本就不认识display:table-cell是谁!...gif图片,高度可以轻松设置为外部标签高度,宽度压缩至最小,然后通过vertical-align:middle对齐,就实现效果了,由于影响布局差不多就vertical-align:middle这一个属性...:middle;} 相比图片而言,多了个display:inline-block,但是少一次链接请求。

2.9K20

CSS布局(二) 盒子模型属性

padding显得中规中矩了很多,没有什么兼容性,也没有一些特殊问题   对于行内元素,左内边距应用到元素开始处,右内边距应用到元素结尾处,垂直内边距不影响行高,但会影响自身尺寸,加背景颜色可以看出...【为什么margin:auto无法实现垂直居中】   水平方向可以居中是因为块级元素宽度默认是撑满父级元素,如果给宽度设置一个固定值,而左右margin设置为auto,则可以平分剩余空间   垂直方向不可以居中是因为块级元素高度默认是内容高度...左右margin设置为auto,会被重置为0   所以,图片要水平居中,需要设置为display:block元素 3.无效情形   1、行内元素垂直margin无效   因为行内元素垂直布局主要是通过行高...line-height和垂直对齐vertical-align来影响垂直margin并不会影响它们,所以不会影响垂直布局。...而在显示方式,margin区域不会显示元素背景,所以也不会影响自身元素显示,所以行内元素垂直margin无效。

1.9K70

css必知几个底层知识和技巧

.box{     display: inline-block;     white-space: nowrap; }     .text{     display: inline-block;     ...,如果父元素设置overflow:auto,则内联子元素垂直padding可能会使父元素出现滚动条,否则如果父元素不设置设置overflow,只会在垂直方向上发生重叠,不会影响布局: /* 父元素设置...padding让幽灵空白节点显现,此时可考虑设置font-size:0 5.padding与图形绘制  /* 菜单 */  .icon-menu{     display: inline-block;...,而IE和Firefox浏览器是超过padding box尺寸时触发滚动条显示 2.margin合并条件 块级元素,但不包含浮动和绝对定位元素 在默认文档流下只出现在垂直方向 margin合并三种场景...来调整对齐 七.BFC–块级格式化上下文 表现: 元素内部布局变化不会影响外部元素.所以不会出现margin合并,可用来清除浮动影响.

2.1K20

css多浏览常见问题

"; display:block; height:0; clear:both; visibility:hidden; } .clearfix { display:inline-block...float:left; width:100px; margin:0 0 0 100px; //这种情况之下IE产生200px距离 display:inline; //使浮动忽略} 这里细说一下block...display:block; //可以为内嵌元素模拟为块元素 display:inline; //实现同一行排列效果 diplay:table; IE不认得min-这个定义,但实际上它把正常width...缺点是要控制内容不要换行 cursor: pointer 可以同时在 IE FF 显示游标手指状, hand 仅 IE 可以 FF: 链接加边框和背景色,需设置 display: block, 同时设置...8、用CSS来处理垂直对齐 垂直对齐用表格可以很方便地实现,设定表格单元 vertical-align: middle 就可以了。但对CSS来说这没用。

1K30

金三银四,那浏览器兼容你知多少?

为什么会存在浏览器兼容问题? 首先要了解兼容,我们先得了解一下为什么会存在浏览器兼容问题。在各大浏览器厂商发展过程,它们对web标准各有不同实现,标准不同存在差异所以产生兼容性问题。..._下划线过滤器 当一个属性前面增加一个下划线后,由于符合标准浏览器不能识别带有下划线属性而忽略了这个声明。但是ie6及更低版本浏览器继续解析。...添加声明displayblock; 3)双倍浮向(双倍边距)(只有ie6出现) 描素: 当ie6及更低版本浏览器在解析浮动元素时会错误把浮动边边距(margin)加倍显示。...(也会受系统影响) hack:给右边浮动元素添加声明 8)li列表bug (1)当父元素li有float:left;子元素a没设置浮动情况下会出现垂直bug; hack:给父元素li和子元素a都设置浮动...(2)当lia转成block;并且有height 并有floatli没设置浮动会出现阶梯显示 hack:同时给li加float 9)当前元素(父元素里面的第一个子元素)与父元素没有设置任何浮动情况下

58230

CSS——可视化格式模型

,盒子相互作用等等; CSS可视化格式模型就是规定了浏览器在页面如何处理文档树 1、关键字: 包含块(Containing Block)、 控制框(Controlling Box)、 BFC(Block.../div> div元素生成一个块框,其中有几个行内框(如em)以及文本some和text,此时会专门为这些文本生成匿名行内框; display属性影响 display几个属性也可以影响不同框生成...(这也是为什么产生BFC); none,不生成框,不再格式化结构,而另一个visibility:hidden则会产生一个不可见框 总结: 如果一个框里,有一个块级元素,那么这个框里内容都会被当作块框来进行格式化...水平方向上margin,border和padding在框之间得到保留,框在垂直方向上可以以不同方式对齐; 它们顶部或底部对齐,或根据其中文字基线对齐 行框: 包含那些框长方形区域,形成一行...行框在堆叠是没有垂直方向上分割且永远不重叠; 行框高度总是足够容纳所包含所有框,不过他可能高于他包含最高框(例如,框对齐会引起基线对齐) 行框左边接触到其包含块左边,右边接触到其包含块右边

93920

【云+社区年度征文】2020一网打尽CSS世界

30px(由于inline-block 形成了一个行框盒子,从而出现了幽灵空白节点,其受到字体行高属性影响),第二、三个div高度为0;内联元素遇到很多奇怪问题都是由“struct”引起 内联元素与流...内联元素padding只会影响水平方向,不会影响垂直方向。...内联元素垂直padding让“幽灵空白节点”显现,内联元素默认高度受font-size控制,可以通过font-size: 0;来解决。...CSS默认流方向为水平方向,margin只能改变元素水平方向(内部)尺寸;但对于绝对定位元素,则水平和垂直都可以! margin 为块级元素左对齐而设计!...text-align 为内联元素左对齐而设计!!! margin与元素外部尺寸 只要元素具有块状特性,margin就可以影响其外部尺寸(无论是水平还是垂直方向,不受默认流影响)。

5K11

css笔记 - 张鑫旭css课程笔记之 vertical-align 篇

二、vertical-align起作用前提(display值对垂直对齐影响) 有时候设置vertical-align会发现根本不起作用, 第一个原因:是因为vertical-align只能应用于inline...inline-block input(ie8+)、button(ie8+)(这俩元素在ie67会被认为是inline水平) 3. table-cell td ?...display设置时:更改元素显示水平也让其支持vertical-align 三、更改元素显示水平 1. display属性设置:非inline、inline-block、table-cell等...2. css声明 float让元素变成block水平 position:absolute让元素变成block水平,且脱离文档流 四、vertical-align和line-height关系...元素顶部和整行顶部对齐 middle:中线 inline/inline-block元素,元素垂直中心点和父元素基线(基线是x底部)上1/2 x-height处对齐

1.9K20

前端面试题归类-css

float属性不为none 【影响上级元素】position为absolute或fixed 【影响上机元素】display为inline-block, table-cell, table-caption...display:inline-block 什么时候显示间隙?...浮动带来问题:父元素高度无法被撑开,影响与父元素同级元素与浮动元素同级非浮动元素(内联元素)跟随其后若非第一个元素浮动,则该元素之前元素也需要浮动,否则会影响页面显示结构。...该布局模型目的是提供一种更加高效方式来对容器条目进行布局、对齐和分配空间。在传统布局方式block 布局是把块在垂直方向从上到下依次排列;而 inline 布局则是在水平方向来排列。...多行文本垂直居中:需要设置display属性为inline-block。让页面里字体变清晰,变细用CSS怎么做?

1.6K40

前端基础篇之CSS世界

实际开发,我们经常把display计算值为inline inline-block inline-table table-cell元素叫做内联元素,而把display计算值为block元素叫做块级元素...下图中和上图唯一不同之处就是多了个display: inline-blockspan元素,但是此处span元素并没有影响div元素高度,而只是靠着vertical-align: middle属性将自身中心点对齐了字母...块状是指元素设置float: left之后,其display计算值就成了block。格式化上下文是指创建一个BFC,这个后面会讲。...: none,是因为display: none影响css3transition过渡效果。...: none`与`visibility: hidden`区别 display: none元素不占据任何空间,visibility: hidden元素空间保留; display: none影响css3

2K50
领券