`
xhjay
  • 浏览: 11701 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

如何利用CSS实现垂直居中的效果

阅读更多
下面是最近学习css的一点经验拿来跟大家分享 一下,欢迎多多指教,一般来说,在 CSS 中要垂直居中,多数是在有高度的情况下,或者容器高度不定的情况下才用,看上去比较舒服,而且实现的方法也不少,不一定要拘泥于和 table 布局一样。基本上凡是 table 布局可以实现的,CSS 一定可以实现。CSS 可以实现的,table 未必能做到。

下面是几个列子:
一、单行内容的居中
只考虑单行是最简单的,无论是否给容器固定高度,只要给容器设置 line-height 和 height,并使两值相等,再加上 over-flow: hidden 就可以了
复制内容到剪贴板代码:

.middle-demo-1{
height: 4em;
line-height: 4em;
overflow: hidden;
}
优点:
1. 同时支持块级和内联极元素
2. 支持所有浏览器
缺点:
1. 只能显示一行
2. IE中不支持<img>等的居中

二、多行内容居中,且容器高度可变
也很简单,给出一致的 pad**-bottom 和 pad**-top 就行
复制内容到剪贴板代码:
.middle-demo-2{
pad**-top: 24px;
pad**-bottom: 24px;
}
优点:
1. 同时支持块级和内联极元素
2. 支持非文本内容
3. 支持所有浏览器
缺点:
容器不能固定高度

三、把容器当作表格单元
CSS 提供一系列diplay属性值,包括 display: table, display: table-row, display: table-cell 等,能把元素当作表格单元来显示。这是再加上 vertical-align: middle, 就和表格中的 valign="center" 一样了。
复制内容到剪贴板代码:

.middle-demo-3{
display: table-cell;
height: 300px;
vertical-align: middle;
}
优点:
不用说了吧,就是表格,效果和表格一模一样
缺点:
IE下无效

转载自:偶要雷锋分享社区
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1953605
分享到:
评论
1 楼 xiaocheng 2007-12-19  
你的解决方案很好。thanks
一直以来这都是个头疼得问题

相关推荐

    DIV+CSS 图片垂直居中效果

    综上所述,"DIV+CSS 图片垂直居中效果"可以通过多种方法实现,具体选择哪种取决于项目需求、浏览器兼容性和响应式设计的需求。在提供的`index.html`、`images`和`css`文件中,我们可以看到实际的代码应用和图片资源...

    CSS实现完美垂直居中 - 蓝色理想

    "CSS实现完美垂直居中"这一主题深入探讨了如何利用CSS技术使元素在容器内实现精确的垂直对齐。以下是一些关于这个主题的关键知识点: 1. **单行文本垂直居中**: 对于单行文本,可以使用`line-height`属性来实现...

    css实现垂直居中

    在网页设计中,让元素在页面上垂直居中是一项常见的需求。CSS(Cascading Style Sheets)提供了多种方法来实现这一目标。以下是一些主要的CSS技术,...在实践中不断尝试和学习,可以让你更好地掌握CSS垂直居中的技巧。

    css图片垂直居中方法

    这是一种巧妙的方法,利用背景图像的线性渐变来实现图片的垂直居中。创建一个全宽且高度为100%的伪元素,其背景包含从透明到透明的垂直渐变,然后将图片作为其背景: ```css .container::before { content: ""; ...

    css图片垂直居中

    本篇文章将深入探讨如何利用CSS实现图片的垂直居中效果。 首先,我们来看几种常见且实用的CSS方法: 1. **Flexbox布局**: Flexbox是CSS3引入的一种新的布局模式,特别适合处理容器内元素的对齐问题。要使图片在...

    DIV+CSS水平垂直居中

    本文将详细介绍DIV+CSS水平垂直居中的方法和实现原理。 一、使用position:absolute实现水平垂直居中 使用position:absolute可以将DIV元素水平垂直居中,方法是将DIV元素的left和top属性设置为50%,然后通过margin-...

    css实现垂直居中的方法

    ### CSS 实现垂直居中的五种方法 在前端开发中,如何使元素在页面中垂直居中是一项常见的需求。本文将详细介绍五种不同的方法来实现这一目标,并对每种方法的特点进行分析,以便开发者根据实际情况选择最合适的方案...

    div+css垂直居中和水平居中

    在网页设计中,实现元素的垂直居中和水平居中是一项常见的需求,这涉及到CSS布局技术。本篇文章将深入探讨如何使用div+css方法来实现这一目标。在现代Web开发中,div元素作为布局容器广泛使用,而CSS则是样式控制的...

    CSS实现垂直居中的5种方法.rar

    本教程将详细讲解5种有效的CSS方法,帮助你掌握垂直居中的技巧。 1. **Flexbox布局** Flexbox是现代CSS布局模型,特别适合处理容器内子元素的对齐问题。要实现垂直居中,首先设置容器的`display`属性为`flex`,...

    CSS解决未知高度的DIV垂直居中

    #### CSS垂直居中原理 在CSS中,`vertical-align`属性主要用于设置行内元素或表格单元格中的内容垂直对齐方式。但是,当涉及到块级元素时,这个属性并不起作用。因此,我们需要采用其他技术来达到垂直居中的目的。...

    CSS实现垂直居中的几种实现方式.pdf

    本文主要探讨了如何使用CSS实现垂直居中,这是页面布局中常见的需求。垂直居中分为两种主要情况:内外元素高度全定和外层元素高度定,内层高度不定。 1. **内外元素高度全部确定的情况** - **line-height 与 ...

    CSS 实现盒子水平居中、垂直居中和水平垂直居中….docx

    CSS 盒子水平居中、垂直居中和水平垂直居中的实现方法 在 CSS 中,实现盒子水平居中、垂直居中和水平垂直居中是非常常见的需求。本文将介绍五种不同的方法来实现这些效果,并对每种方法的优缺点进行分析。 一、...

    CSS实现垂直居中的几种实现方式.docx

    在CSS布局中,垂直居中是一项常见的需求,尤其在页面设计中显得尤为重要。...以上就是针对不同情况的CSS垂直居中实现方式,每种方法都有其适用场景和局限性,开发者需要根据项目需求和目标浏览器范围选择合适的方法。

    css水平垂直居中

    通过以上步骤,我们可以成功地实现了一个能够适应不同屏幕尺寸、内容自动水平垂直居中的 CSS 效果。这种方法不仅适用于固定尺寸的元素,也适用于动态变化的内容,是一种非常实用且灵活的布局技巧。

    CSS 图片水平垂直居中于DIV

    总之,实现CSS中的图片水平垂直居中是一个常见的挑战,但通过理解不同的布局模式和定位方式,我们可以灵活地选择合适的方法来解决这个问题。无论是在简单的网页还是复杂的响应式设计中,这些技巧都将大有裨益。

    多行文字实现垂直居中

    对于单行文本,可以利用line-height与height相等来实现垂直居中,但对于多行文本,这种方法可能不可靠,因为它依赖于准确的文本行高和容器高度: ```css .container { line-height: 100px; /* 容器的高度 */ ...

    懒人原生纯css实现多行文字均保持垂直居中效果.zip

    标题中的“懒人原生纯css实现多行文字均保持垂直居中效果”是指一种无需依赖JavaScript库(如jQuery)或HTML5特定属性,仅通过CSS实现的多行文本垂直居中的技术。这种技术在网页设计中十分常见,因为用户界面的对齐...

    垂直居中.docx

    在 CSS 中实现垂直居中有多种方法,这些方法可以应用于不同的场景。本文将总结几种常用的 CSS 垂直居中方法。 1. 单行垂直居中 对于单行文字,可以使用设置高度和行高相等的方法实现垂直居中。这种方法简单易行,...

    css多行文本垂直居中

    css 多行文本垂直居中显示,兼容各大浏览器!

    懒人原生纯css实现多行文字均保持垂直居中效果

    在实际网页中,如何实现如何实现父容器高度固定,文字可能一行,两行或更多行的垂直居中对齐呢? 实现的关键是把文字当图片处理。 用一个span标签将所有的文字封装起来,设置文字与图片相同的display属性...

Global site tag (gtag.js) - Google Analytics