CSS3中利用Flexbox实现DIV标签元素垂直居中

flexbox的术语

在详细阅读这篇文章之前,我们很有必要先了解flexbox的几个常用术语,这样有助于大家对后文的理解。
 伸缩容器:一个设有“display:flex”或“display:inline-flex”的元素
 伸缩项目:伸缩容器的子元素
 主轴、主轴方向:用户代理沿着一个伸缩容器的主轴配置伸缩项目,主轴是主轴方向的延伸。
 主轴起点、主轴终点:伸缩项目的配置从容器的主轴起点边开始,往主轴终点边结束。
 主轴长度、主轴长度属性:伸缩项目的在主轴方向的宽度或高度就是项目的主轴长度,伸缩项目的主轴长度属性是width或height属性,由哪一个对着主轴方向决定。
 侧轴、侧轴方向:与主轴垂直的轴称作侧轴,是侧轴方向的延伸。
 侧轴起点、侧轴终点:填满项目的伸缩行的配置从容器的侧轴起点边开始,往侧轴终点边结束。
 侧轴长度、侧轴长度属性:伸缩项目的在侧轴方向的宽度或高度就是项目的侧轴长度,伸缩项目的侧轴长度属性是「width」或「height」属性,由哪一个对着侧轴方向决定。

例子

制作这个效果我们需要一些简单的HTML代码

<div class="flexbox-container">
    <div>Blah blah</div>
    <div>Blah blah blah blah blah ...</div>
</div>

对于子元素的居中问题,只需要给父级元素添加一些CSS样式

.flexbox-container {
    display: -ms-flex;
    display: -webkit-flex;
    display: flex;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    align-items: center;
}

除了特定的浏览器厂商前缀,没有多余的代码,我还没有彻底理解Flexbox布局到底是怎么一回事,但是垂直居中回事一个很好的开端。使用CSS布局变得更加的轻松和快速。

时间: 2024-12-17 07:25:30

CSS3中利用Flexbox实现DIV标签元素垂直居中的相关文章

js中利用tagname和id获取元素的方法_javascript技巧

本文分享了js中利用tagname和id获取元素的3种方法,供大家参考,具体内容如下 方法一:整体法,先获取所有的元素,再通过ai+-b的方法来算出需要的元素 方法二:数组法,在全局环境下建立空数组,遇到需要循环的结构时,在循环中获取元素,并放入数组 方法三:函数法,遇到相同的几组元素时,只操作一组元素,并用函数传参来实现所有的效果 具体代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta cha

css3中的flexbox布局 css3中flexbox怎么布局

我们将只关注几个核心概念,等这些核心知识掌握之后,你可以再慢慢的学习那些不重要的相关知识. 1. 容器和容器里的元素 flexbox布局的两个最重要的概念是容器(蓝色)和容器里的子元素(红色).在本文的例子中,容器和它的子元素都是div. 横向布局 为了实现flex布局,我们需要在容器的CSS里添加如下代码: .container { display: flex; } 效果如下: 对于容器里面的子元素,我们什么都不需要做.它们会自动的按横坐标一字排开. 纵向布局 在上面的演示中,缺省排列是沿着横

div标签元素css margin-top失效不起作用怎么办

  问题很奇葩.元素上级标签是div,已经设置了width和height等的属性,可是,在对元素使用margin进行调整的时候,无法生效.同学经验提示,对该元素的父元素属性设置成 overflow:hidden; 问题就解决了.

CSS3中利用Animation steps属性实现指针时钟效果

animation 默认以 ease 方式过渡,它会在每个关键帧之间插入补间动画,所以动画效果是连贯性的.除了ease, linear.cubic-bezier之类的过渡函数都会为其插入补间.但有些效果不需要补间,只需要关键帧之间的跳跃,这时应该使用 steps 过渡方式,而时钟的指针嘀嗒旋转,就应该使用这种方式. 时钟动画分析 时钟的动画效果其实就只有一种,就是指针旋转了. 圆为360deg,秒针每秒旋转6deg,分针每60秒旋转6deg, 时针每3600秒旋转6deg 因此,我们所需要实现的

CSS中一些利用伪类、伪元素和相邻元素选择器的技巧

前几天遇到一个页面需求是这样的: 一个评论框,后面的按钮有点赞或者发送评论两种状态,其中发送按钮有根据输入框中是否有字分为可点击和不可点击两种状态. 需求: 没有文字,没有聚焦--点赞 没有文字,聚焦--灰色发送 有文字--红色发送 如果用JS实现,需要监听输入框的change和focus事件,比较麻烦.但是用CSS中的伪类就可以实现相近效果. <input type="text" class="input" required>    <div c

网页多边框效果:CSS3中的box

文章简介:大家常见的应该是双线边框效果,使用页面部分元素具有层次的效果.在CSS2中依靠的是背景图片或者借助相邻两个元素的border来实现.而现在CSS3中的box-shadow可以直接在一个元素中完成. 多边框效果,大家常见的应该是双线边框效果,使用页面部分元素具有层次的效果.在CSS2中依靠的是背景图片或者借助相邻两个元素的border来实现.而现在CSS3中的box-shadow可以直接在一个元素中完成,我们来看一个简单的片段: <!-- HTML --> <div id=&qu

巧妙的利用XHTML中不常用的标签元素

玩XHTML的朋友对div,span,ul,li这样的标签元素相信已经非常熟练了,但有时一个页面里需要对一些特别的文字做一些特别的渲染,我们常用的做法可能是在CSS里定义一个类选择符,定义一些特别的渲染效果,然后用<span class="类名">XXX</span>这样的方法来达到效果,当然是可以的,但才子在这里要介绍另外一种方法,那就是利用一些我们不常用的标签来达到效果. 其实XHTML里还有许多我们并不常用的标签元素,并不是W3C建议放弃使用的标签,而且很

css3中flexbox伸缩盒深入理解

 这个背后有一个悲伤的故事,所以就取了个这么有点像标题党的标题,具体什么我就不说了.很早之前就知道css3里面有这么个东西,而且随着规范的改变,它的版本也改了几次.     也就是因为这个flexbox伸缩盒布局太强大了,以至于我没在意它也是display的一个属性. 要想解决这个布局问题,我们还是先了解一些基础的问题.先回顾下display有哪些属性吧:     none:隐藏对象.与visibility属性的hidden值不同,其不为被隐藏的对象保留其物理空间     inline:指定对象

使用CSS3中新的伪类更轻松地定位页面元素

在 Web http://www.aliyun.com/zixun/aggregation/17799.html">开发过程中,开发人员经常会通过使用 CSS 来实现页面所需的样式效果.例如:利用服务器端代码或 JavaScript 脚本生成条纹样式的表格,或为了要为多个页面元素中的一部分添加样式,不得不使用大量带有额外 class 属性的标签. 这些情况在 CSS3 出现后变得非常简单!CSS3 定义了一系列非常神奇的页面元素选择器,通过它们,这个过程将变得简单而迅速.元素选择器是一种模