`
yiminghe
  • 浏览: 1466396 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

垂直居中问题解释整理

阅读更多

垂直居中曾经很热的话题,也转过网络一些好的解决方案:

 

 

有关css有趣布局的解答


元素容器内垂直居中问题

 


这次整理一下,并补充解释一下原理


以下内容经过 ie6,7 ,firefox3.5 测试通过


1.定位居中


定位时 left,top百分比相对于包含块的宽度与高度,relative或static的包含块为block或者td的祖先结点absolute的包含块为position不是static的任何祖先结点。

 

标准浏览器用 display:table ,原理同传统的表格布局居中,ie 6,7利用定位来实现,注意

ie 6,7 定位时 top,left 的百分比属性表现并不完全相同,同firefox3.5表现也不相同,体现在父元素没有设置height属性时,三个浏览器布局差异:


postion 差异演示 @ googlecode ,ie6,7不相同

 

 

postion 差异演示2 @ googlecode ,ie6,7相同

 

 

postion 差异演示3 @ googlecode ,ie6,7相同

 

具体为:ie6 一直向上找到有 height 的祖先或者绝对定位祖先 并必要时动态计算高度 ,ie7 一直向上找到 overflow!=visible 的祖先或者有 height 的祖先 或者绝对定位祖先 并必要时动态计算高度 ,如果父亲没有height属性则firefox忽略百分比top。


国外高人 利用这点(差异演示3)实现了下列方法 :


定位居中 演示 @ googlecode



2. inline-block 居中


inline-block 是一个灰暗的领域,但是经过 css geeks 孜孜不倦的研究 ,利用 inline-block hack for ie 以及 vertical-align 属性,达到了各个浏览器上通用的居中效果。



inline-block 居中演示 @ googlecode


3.image 居中


曾经的 taobao ued 考题 ,其实taobao 给出的解法非常不好 ( font-size都用上了 ....),有兴趣可以看看前面转的文章,img 其实就是一个 display :inline-block 的元素,同 2 的思想,可以达到这个效果,其实就是 inline-block 居中的一个特例



image 居中演示 @ googlecode

 

0
0
分享到:
评论

相关推荐

    JQUERY图片自动垂直居中水平居中-支持IE678910/chrome/firefox/opera

    明锋工作室整理常用资料。本次资料是一个自动居中插件,只要设定div长度和高度,其中的图片会自动铺满容器并且自动居中。很简单好用。并且该自动居中插件支持IE6、IE7、IE8、IE9、IE10、CHROME、FIREFOX、OPERA。

    表单元素和文字垂直居中对齐问题解决整理

    总的来说,解决表单元素和文字垂直居中对齐问题需要对CSS的`vertical-align`属性有深入理解,并且要考虑到不同浏览器之间的兼容性问题。通过精确调整`vertical-align`的数值和运用特定浏览器的hack,可以确保在各种...

    CSS图片垂直居中方法整理集合 !(常见问题解答)

    本文主要针对这一问题,总结了多种实现CSS图片垂直居中的方法,并通过实例代码进行详细解析。 1. **利用绝对定位和负margin** 在第一段代码中,使用了绝对定位和负margin的方法来实现图片垂直居中。首先,外层`div...

    css 垂直居中的几种实现方法

    今天重新整理一下思路,说说前端在实现页面元素垂直居中的几种思路: 一、利用 position 和负边距 利用绝对定位,让元素的顶部与居中线对齐,再让元素上移 50% 的高度。这个应该不难理解。原理可以用下图来做一个...

    大小不固定的图片、多行文字的水平垂直居中实现方法

    以上两种方法都有各自的优缺点,但都能有效地解决图片和文字的水平垂直居中问题。实际应用中,应根据项目需求和浏览器兼容性考虑选择合适的方法。随着CSS技术的发展,未来可能还会出现更简便、更高效的方法。

    居中,自定义布局小点整理

    一、居中整理 居中是指元素在水平或垂直方向上居中对齐的方式,下面是常见的居中方法: 1. 文本水平居中:使用 `text-align` 属性可以实现文本水平居中,对行内块元素、行内元素、文本起作用。 例如:`;">居中...

    前端导出excel,可以控制样式,单元格合并居中等

    例如,要使单元格内容水平和垂直居中,可以这样设置: ```javascript cell['!align'] = { "horizontal": "center", "vertical": "center" }; ``` 五、其他高级功能 除了基本的样式控制,"xlsx.full.min.js"还支持...

    《简历模板》--(CSS)水平垂直居中(flex布局、table-cell、float)的应用:简陋的简历模板.zip

    个人花大量时间整理出的简历模板,内容丰富,无论是应届生,还是职场老手,都有相应的模板,节约自身时间,提升效率。 亲们下载我任何一个付费资源后,即可私信联系我免费下载其他相关资源,包含简历模板、PPT模板、...

    web前端开发基本问题解决

    如何垂直居中文本 如何对齐文本与文本输入筐 为什么FF下面不能水平居中呢 为什么FF下文本无法撑开容器的高度 为什么IE6下容器的宽度和FF解释不同呢 为什么web标准中IE无法设置滚动条颜色了 为什么我定义的样式没有...

    CSS浏览器兼容问题整理

    1. **垂直居中问题**:例如,尝试使一个元素在其父容器中垂直居中时,在不同浏览器中可能会有不同的表现。 2. **外边距(Margin)双倍计算**:这是IE6中的一个典型问题,即当元素设置了`float`属性后,其相邻元素的`...

    CSS浏览器兼容问题整理(IE6.0、IE7.0_与_FireFox)

    为了克服这个问题,可以使用Flexbox或Grid布局,它们提供了更现代且灵活的垂直居中解决方案,同时适用于所有现代浏览器。 ### 2. Margin加倍问题 在IE6.0和IE7.0中,设置了`float`属性的元素可能会遇到一个已知的...

    最全的CSS浏览器兼容问题整理

    1. **垂直居中问题**: CSS中,让一个div元素内容垂直居中可使用`vertical-align: middle;`和`line-height`。将`line-height`设置为与div相同的高度,然后将内容放入div内,内容就会垂直居中。但是,这种方法不适用...

    CSS在IE6 IE7与FireFox下的兼容问题整理

    1. **垂直居中问题**:在IE6和IE7中,要实现一个div的垂直居中,可以通过设置行距(line-height)等于div的高度来实现。但是这种方法可能导致内容换行的问题。例如: ```css .centered-div { line-height: 200px; ...

    第02课 居中对齐.doc

    总结起来,本课程的重点在于理解并应用居中对齐的格式设置技巧,包括对单元格数据的水平和垂直居中,以及如何合并单元格以强调标题。这些基本操作对于日常工作中的数据整理、报告制作和信息呈现都有极大的帮助,也是...

    比较全的CSS浏览器兼容问题整理总结

    1.div的垂直居中问题 vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行 2. margin加倍的问题 设置为float的div在ie下设置的margin会...

    最全的CSS浏览器兼容问题整理(IE6.0、IE7.0 与 FireFox)

    1. **垂直居中问题** 在IE6/7中,想要实现一个元素内的图片或其他元素垂直居中,可以使用`vertical-align: middle;`,但这种方法只适用于inline或inline-block元素。如果需要垂直居中的是一个块级元素,则可以使用...

    面试题整理.docx

    - 垂直居中:单行内联元素,通过`height`和`line-height`相等实现;多行元素,使用表格布局`display:table`和`vertical-align:middle`;利用`display:flex`,设置`flex-direction:column`和`justify-content: ...

Global site tag (gtag.js) - Google Analytics