垂直居中

CSS实现垂直居中的常用方法

风格不统一 提交于 2019-12-03 17:41:18
在前端开发过程中,盒子居中是常常用到的。 其中,居中又可以分为水平居中和垂直居中。 水平居中是比较容易的,直接设置元素的margin: 0 auto就可以实现。 但是垂直居中相对来说是比较复杂一些的。 下面我们一起来讨论一下实现垂直居中的方法。 首先,定义一个需要垂直居中的div元素,他的宽度和高度均为300px,背景色为橙色。代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>index</title> <style> .content { width: 300px; height: 300px; background: orange; } </style> </head> <body> <div class="content"></div> </body> </html> 效果如下: 我们需要使得这个橙色的div居中,到底该怎么办呢?首先我们让实现水平居中,上面已经提到过了,可以通过设置margin: 0 auto实现水平居中,代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>index</title> <style> .content { width: 300px;

CSS实现垂直居中的常用方法

帅比萌擦擦* 提交于 2019-12-03 17:41:09
作者:渔歌 网址:http://www.cnblogs.com/yugege/p/5246652.html 在前端开发过程中,盒子居中是常常用到的。其中 ,居中又可以分为水平居中和垂直居中。水平居中是比较容易的,直接设置元素的margin: 0 auto就可以实现。但是垂直居中相对来说是比较复杂一些的。下面我们一起来讨论一下实现垂直居中的方法。 首先,定义一个需要垂直居中的div元素,他的宽度和高度均为300px,背景色为橙色。代码如下: 效果如下: 我们需要使得这个橙色的div居中,到底该怎么办呢?首先我们实现水平居中,上面已经提到过了,可以通过设置margin: 0 auto实现水平居中,代码如下: 效果如下: 很好,已经实现水平居中了!接下来该打大boss了——实现垂直居中。不过,在这之前,我们先要设置div元素的祖先元素html和body的高度为100%(因为他们默认是为0的),并且清除默认样式,即把margin和padding设置为0(如果不清除默认样式的话,浏览器就会出现滚动条,聪明的亲,自己想想问什么)。 接下来,需要做的事情就是要让div往下移动了。我们都知道top属性可以使得元素向下偏移的。但是,由于默认情况下,元素在文档流里是从上往下、从左到右紧密的布局的,我们不可以直接通过top属性改变它的垂直偏移。这就需要使用position属性

CSS垂直居中

狂风中的少年 提交于 2019-12-03 14:26:19
44年前我们把人送上月球,但在CSS中我们仍然不能很好实现垂直居中—— @James Anderson 让一个元素水平居中对于CSS来说非常简单:如果是一个内联元素,我们可以在他的父元素上设置text-align:center;;如果是一个块元素,我们可以使用margin:auto;。然而,只要一想到让一个元素垂直居中,让人死的心都有了。 多年来,垂直居中已成为CSS的不朽神话,也是前端专业人士群体中的一个内部笑话。原因是: 经常需要使用 理论上看上去非常简单 过去实战中要实现是极其困难,特别是元素大小固定时 前端开发人员多年来尽所能的来解决这个问题,共中最令人不安的是使用了很多Hack手段。在这一节中,我们一起探索一些实现垂直居中现代技术。注意,有一些受欢迎的技术,不在这里讨论,主要是因为: 表格布局不讨论(表格显示模式),因为它需要一些冗余的HTML标签 inline-block方法不包括,因为要使用很多Hack手段 然而,如果你对这方面感兴趣,你可以阅读Chris Coyier写的博文《Centering in the Unknown》,里面介绍了这两种技术。 如果没有特殊声明,后面示例用的HTML结构都是在<body>元素中插入下面的标签: <main> <h1>Am I centered yet?</h1> <p>Center me, please!</p> </main

css实现水平居中和垂直居中及其浏览器兼容性

a 夏天 提交于 2019-12-03 14:25:44
不管是在网站的布局还是显示图片,需要水平居中和垂直居中的情况是很常见的。今天我们就开始对css的水平居中和垂直居中的一些常见方法在各种浏览器下进行测试和归纳。 浏览器说明:本文涉及到的浏览器及其版本如下(下文涉及到没有写版本号的均以此为准): IE7 IE8 标准版 IE9 标准版 FireFox 13.01 Chrome 20.0.1132.47 Safari 5.1.7(7534.57.2) Opera 12 居中元素:分为图片(img)和非图片(div)两种,若要亲自检测请将图片的src改成一个可用链接进行,写此文时用#号替换掉了。 一、水平居中 1. text-align :center 代码如下: <!DOCTYPE> <html > <head> <title>居中测试</title> <style type="text/css"> .container{ width:200px; height:120px; border:1px solid Green;} .box{ width:120px; height:90px; border:1px solid Green;} .h-align{ text-align :center;} </style> </head> <body> <div class="container h-align"> <div class=

元素水平居中和垂直居中的几种简单方法

有些话、适合烂在心里 提交于 2019-12-03 14:25:34
一、如何使元素在水平方向上居中 1. 使用text-align:center。 在父级元素的CSS样式设置 text-align:center。把内部嵌套一个div把它当作文本来对待,不过这个方法有时候是不管用的。 2.在需要居中的元素设置margin:0 auto。 这句CSS的意思为:设置margin-left和margin-right为自动适应父级元素宽度。所以可以使元素水平居中,不过记得设置其width。 二、如何使元素在垂直方向上居中 1.使图片在垂直方向上居中。 div{backgroud-position:0 50%} 。当然,这只适用于背景图! 2.使只含文本的元素居中。 在css里设置它的行高:line-height:xx px。 xx为其本身height值。 3.使包含文本和其他元素都同时居中。 仅仅设置行高是不够的,应该再加上display:table-cell;vertical-align:middle.这样就可以使其垂直居中。 我以上提到的都是常用的方法,不全面,也没深入讲。还有用CSS expression方法实现水平居中的等等方法。 来源: oschina 链接: https://my.oschina.net/u/1432682/blog/261864

如何实现div盒子水平垂直居中

匿名 (未验证) 提交于 2019-12-03 00:38:01
关于如何使一个小盒子在大盒子中水平垂直居中有很多方法,下面将列举常用的几种: < div class = "parent" > < div class = "child" >DEMO</ div > </ div > .parent { width : 200 px ; height : 300 px ; background : #ddd ; } .child { background : #666 ; color : #fff ; } 设置margin自动适应,然后设置定位的上下左右都为0,就如四边均衡受力从而实现盒子的居中; .parent { position : relative ; } .child { position : absolute ; margin : auto ; top : 0 ; left : 0 ; right : 0 ; bottom : 0 ; } 使用子绝父相的定位方式,无须知道盒子自身的高度,使用范围较广 .parent { position : relative ; } .child { position : absolute ; left : 50 % ; /* 父盒子宽度的50% */ top : 50 % ; /* 父盒子高度的50% */ transform : translate(- 50 %,- 50 %) ; /*

多行文字垂直居中

匿名 (未验证) 提交于 2019-12-03 00:21:02
单行文字垂直居中比较简单,只需将 line-height 属性值与其父元素的 height 属性值设为相等即可。如下所示: .text { line-height : 20 px ; height : 20 px ; } HTML代码: < div class = "content" > < span class = "text" > 这是第一段文字 </ span > < span class = "text" > 这是第二段文字 </ span > < span class = "text" > 这是第三段文字 </ span > < span class = "text" > 这是第四段文字 </ span > < span class = "text" > 这是第五段文字 </ span > < span class = "text" > 这是第六段文字 </ span > < span class = "text" > ... </ span > </ div > CSS代码: .content { /* 此宽高属性可根据自己的需求更改 */ width : 300 px ; height : 300 px ; background : #eee ; /* 关键代码 */ display : table-cell ; text-align : center ;

微信小程序文字水平垂直居中对齐问题(完美解决方案)

匿名 (未验证) 提交于 2019-12-03 00:18:01
我们知道常用的居中对齐方式有很多种例如: text - align : center ; align - items : center ; justify - content : center ; margin : auto ; #子容器在父容器中居中 但是在view中的文字对齐却不能简单的使用text-align: center;来实现,这种办法只能实现文字的水平居中, 要实现水平垂直居中 可使用如下方案 . td { display : flex ; align - items : center ; justify - content : center ; } 使用了flex布局控制其中的文字水平和垂直居中 转载请标明出处: 微信小程序文字水平垂直居中对齐问题(完美解决方案) 文章来源: 微信小程序文字水平垂直居中对齐问题(完美解决方案)

元素水平垂直居中

匿名 (未验证) 提交于 2019-12-03 00:13:02
一、水平垂直居中 方法1: 当前div的宽度和高度不确定,通过绝对定位,使用 translate(-50%,-50%):元素向左和向下平移自身长宽的50% HTML 1 <div id="father"> 2 <div id="son"> 3 sssssssssssssssssssssssssssssssss 4 sssssssssssssssssssssssssssssssss 5 sssssssssssssssssssssssssssssssss 6 </div> 7 </div> CSS 1 #father{ 2 position:relative; 3 width:400px; 4 height:400px; 5 border:1px solid red; 6 } 7 #son{ 8 background:red; 9 position: absolute; 10 left:50%; 11 top:50%; 12 transform: translate(-50%, -50%); 13 } 效果图 方法2: 使用绝对定位,子div长宽确定,通过设置margin值实现居中 HTML 1 <div id="father2"> 2 <div id="son2"> 3 </div> 4 </div> CSS 1 #father2 2 { 3 position:relative; 4

安卓线性布局属性 [记录]

匿名 (未验证) 提交于 2019-12-02 23:43:01
文章目录 居中 垂直居中 水平居中 间隔 边距 左边距 右边距 上边距 下边距 比例 居中 垂直居中 android:layout_gravity="center_vertical" android:layout_gravity="center_vertical" 示例 < LinearLayout android: layout_width = " match_parent " android: layout_height = " wrap_content " android: layout_marginTop = " 35dp " android: orientation = " horizontal " > < TextView android: layout_width = " wrap_content " android: layout_height = " 20dp " android: layout_marginLeft = " 100dp " android: layout_gravity = " center_vertical " android: text = " 正常 " android: textColor = " #606266 " android: textSize = " 14sp " /> </ LinearLayout > 水平居中 android